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!; + + /// + /// Map of custom labels. + /// + [Output("labels")] + public Output?> Labels { get; private set; } = null!; + + /// + /// 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. + /// + [Output("localSubnets")] + public Output> LocalSubnets { get; private set; } = null!; + + /// + /// STACKIT project ID. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// STACKIT region. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// 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. + /// + [Output("remoteSubnets")] + public Output> RemoteSubnets { get; private set; } = null!; + + /// + /// List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways. + /// + [Output("staticRoutes")] + public Output> StaticRoutes { get; private set; } = null!; + + /// + /// Configuration for the IPsec tunnel1 + /// + [Output("tunnel1")] + public Output Tunnel1 { get; private set; } = null!; + + /// + /// Configuration for the IPsec tunnel2 + /// + /// > Write-Only argument `PreSharedKeyWo` is available to use in place of `PreSharedKey`. 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). + /// + [Output("tunnel2")] + public Output Tunnel2 { get; private set; } = null!; + + + /// + /// Create a VpnConnection resource with the given unique name, arguments, and options. + /// + /// + /// The unique name of the resource + /// The arguments used to populate this resource's properties + /// A bag of options that control this resource's behavior + public VpnConnection(string name, VpnConnectionArgs args, CustomResourceOptions? options = null) + : base("stackit:index/vpnConnection:VpnConnection", name, args ?? new VpnConnectionArgs(), MakeResourceOptions(options, "")) + { + } + + private VpnConnection(string name, Input id, VpnConnectionState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/vpnConnection:VpnConnection", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/stackitcloud/pulumi-stackit", + }; + var merged = CustomResourceOptions.Merge(defaultOptions, options); + // Override the ID if one was specified for consistency with other language SDKs. + merged.Id = id ?? merged.Id; + return merged; + } + /// + /// Get an existing VpnConnection resource's state with the given name, ID, and optional extra + /// properties used to qualify the lookup. + /// + /// + /// The unique name of the resulting resource. + /// The unique provider ID of the resource to lookup. + /// Any extra arguments used during the lookup. + /// A bag of options that control this resource's behavior + public static VpnConnection Get(string name, Input id, VpnConnectionState? state = null, CustomResourceOptions? options = null) + { + return new VpnConnection(name, id, state, options); + } + } + + public sealed class VpnConnectionArgs : global::Pulumi.ResourceArgs + { + /// + /// A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long. + /// + [Input("displayName", required: true)] + public Input DisplayName { get; set; } = null!; + + /// + /// Whether this connection is enabled. Defaults to true. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// The UUID of the parent VPN gateway. + /// + [Input("gatewayId", required: true)] + public Input GatewayId { get; set; } = null!; + + [Input("labels")] + private InputMap? _labels; + + /// + /// Map of custom labels. + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + [Input("localSubnets")] + private InputList? _localSubnets; + + /// + /// 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. + /// + public InputList LocalSubnets + { + get => _localSubnets ?? (_localSubnets = new InputList()); + set => _localSubnets = value; + } + + /// + /// STACKIT project ID. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// STACKIT region. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("remoteSubnets")] + private InputList? _remoteSubnets; + + /// + /// 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. + /// + public InputList RemoteSubnets + { + get => _remoteSubnets ?? (_remoteSubnets = new InputList()); + set => _remoteSubnets = value; + } + + [Input("staticRoutes")] + private InputList? _staticRoutes; + + /// + /// List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways. + /// + public InputList StaticRoutes + { + get => _staticRoutes ?? (_staticRoutes = new InputList()); + set => _staticRoutes = value; + } + + /// + /// Configuration for the IPsec tunnel1 + /// + [Input("tunnel1", required: true)] + public Input Tunnel1 { get; set; } = null!; + + /// + /// Configuration for the IPsec tunnel2 + /// + /// > Write-Only argument `PreSharedKeyWo` is available to use in place of `PreSharedKey`. 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). + /// + [Input("tunnel2", required: true)] + public Input Tunnel2 { get; set; } = null!; + + public VpnConnectionArgs() + { + } + public static new VpnConnectionArgs Empty => new VpnConnectionArgs(); + } + + public sealed class VpnConnectionState : global::Pulumi.ResourceArgs + { + /// + /// The server-generated UUID of the VPN connection. + /// + [Input("connectionId")] + public Input? ConnectionId { get; set; } + + /// + /// A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// Whether this connection is enabled. Defaults to true. + /// + [Input("enabled")] + public Input? Enabled { get; set; } + + /// + /// The UUID of the parent VPN gateway. + /// + [Input("gatewayId")] + public Input? GatewayId { get; set; } + + [Input("labels")] + private InputMap? _labels; + + /// + /// Map of custom labels. + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + [Input("localSubnets")] + private InputList? _localSubnets; + + /// + /// 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. + /// + public InputList LocalSubnets + { + get => _localSubnets ?? (_localSubnets = new InputList()); + set => _localSubnets = value; + } + + /// + /// STACKIT project ID. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// STACKIT region. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("remoteSubnets")] + private InputList? _remoteSubnets; + + /// + /// 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. + /// + public InputList RemoteSubnets + { + get => _remoteSubnets ?? (_remoteSubnets = new InputList()); + set => _remoteSubnets = value; + } + + [Input("staticRoutes")] + private InputList? _staticRoutes; + + /// + /// List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways. + /// + public InputList StaticRoutes + { + get => _staticRoutes ?? (_staticRoutes = new InputList()); + set => _staticRoutes = value; + } + + /// + /// Configuration for the IPsec tunnel1 + /// + [Input("tunnel1")] + public Input? Tunnel1 { get; set; } + + /// + /// Configuration for the IPsec tunnel2 + /// + /// > Write-Only argument `PreSharedKeyWo` is available to use in place of `PreSharedKey`. 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). + /// + [Input("tunnel2")] + public Input? Tunnel2 { get; set; } + + public VpnConnectionState() + { + } + public static new VpnConnectionState Empty => new VpnConnectionState(); + } +} diff --git a/sdk/go/stackit/getIntakeRunner.go b/sdk/go/stackit/getIntakeRunner.go index ecf4be7..1b373d6 100644 --- a/sdk/go/stackit/getIntakeRunner.go +++ b/sdk/go/stackit/getIntakeRunner.go @@ -36,6 +36,8 @@ type LookupIntakeRunnerArgs struct { // A collection of values returned by getIntakeRunner. type LookupIntakeRunnerResult struct { + // The creation time of the runner. + CreateTime string `pulumi:"createTime"` // The description of the runner. Description string `pulumi:"description"` // Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`runnerId`". @@ -54,6 +56,8 @@ type LookupIntakeRunnerResult struct { Region *string `pulumi:"region"` // The runner ID. RunnerId string `pulumi:"runnerId"` + // The URI of the runner. + Uri string `pulumi:"uri"` } func LookupIntakeRunnerOutput(ctx *pulumi.Context, args LookupIntakeRunnerOutputArgs, opts ...pulumi.InvokeOption) LookupIntakeRunnerResultOutput { @@ -94,6 +98,11 @@ func (o LookupIntakeRunnerResultOutput) ToLookupIntakeRunnerResultOutputWithCont return o } +// The creation time of the runner. +func (o LookupIntakeRunnerResultOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v LookupIntakeRunnerResult) string { return v.CreateTime }).(pulumi.StringOutput) +} + // The description of the runner. func (o LookupIntakeRunnerResultOutput) Description() pulumi.StringOutput { return o.ApplyT(func(v LookupIntakeRunnerResult) string { return v.Description }).(pulumi.StringOutput) @@ -139,6 +148,11 @@ func (o LookupIntakeRunnerResultOutput) RunnerId() pulumi.StringOutput { return o.ApplyT(func(v LookupIntakeRunnerResult) string { return v.RunnerId }).(pulumi.StringOutput) } +// The URI of the runner. +func (o LookupIntakeRunnerResultOutput) Uri() pulumi.StringOutput { + return o.ApplyT(func(v LookupIntakeRunnerResult) string { return v.Uri }).(pulumi.StringOutput) +} + func init() { pulumi.RegisterOutputType(LookupIntakeRunnerResultOutput{}) } diff --git a/sdk/go/stackit/getLoadbalancer.go b/sdk/go/stackit/getLoadbalancer.go index adc4169..a45544d 100644 --- a/sdk/go/stackit/getLoadbalancer.go +++ b/sdk/go/stackit/getLoadbalancer.go @@ -44,6 +44,8 @@ type LookupLoadbalancerResult struct { Id string `pulumi:"id"` // List of all listeners which will accept traffic. Limited to 20. Listeners []GetLoadbalancerListener `pulumi:"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`. + LoadBalancerSecurityGroupId string `pulumi:"loadBalancerSecurityGroupId"` // Load balancer name. Name string `pulumi:"name"` // List of networks that listeners and targets reside in. @@ -58,7 +60,7 @@ type LookupLoadbalancerResult struct { ProjectId string `pulumi:"projectId"` // The resource region. If not defined, the provider region is used. Region *string `pulumi:"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. SecurityGroupId string `pulumi:"securityGroupId"` // List of all target pools which will be used in the Load Balancer. Limited to 20. TargetPools []GetLoadbalancerTargetPool `pulumi:"targetPools"` @@ -124,6 +126,11 @@ func (o LookupLoadbalancerResultOutput) Listeners() GetLoadbalancerListenerArray return o.ApplyT(func(v LookupLoadbalancerResult) []GetLoadbalancerListener { return v.Listeners }).(GetLoadbalancerListenerArrayOutput) } +// 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`. +func (o LookupLoadbalancerResultOutput) LoadBalancerSecurityGroupId() pulumi.StringOutput { + return o.ApplyT(func(v LookupLoadbalancerResult) string { return v.LoadBalancerSecurityGroupId }).(pulumi.StringOutput) +} + // Load balancer name. func (o LookupLoadbalancerResultOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v LookupLoadbalancerResult) string { return v.Name }).(pulumi.StringOutput) @@ -159,7 +166,7 @@ func (o LookupLoadbalancerResultOutput) Region() pulumi.StringPtrOutput { return o.ApplyT(func(v LookupLoadbalancerResult) *string { return v.Region }).(pulumi.StringPtrOutput) } -// 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. func (o LookupLoadbalancerResultOutput) SecurityGroupId() pulumi.StringOutput { return o.ApplyT(func(v LookupLoadbalancerResult) string { return v.SecurityGroupId }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/getSkeCluster.go b/sdk/go/stackit/getSkeCluster.go index 42a6017..30df27c 100644 --- a/sdk/go/stackit/getSkeCluster.go +++ b/sdk/go/stackit/getSkeCluster.go @@ -36,6 +36,8 @@ type LookupSkeClusterArgs struct { // A collection of values returned by getSkeCluster. type LookupSkeClusterResult struct { + // Configure access to the cluster + Access GetSkeClusterAccess `pulumi:"access"` // The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. EgressAddressRanges []string `pulumi:"egressAddressRanges"` // A single extensions block as defined below @@ -102,6 +104,11 @@ func (o LookupSkeClusterResultOutput) ToLookupSkeClusterResultOutputWithContext( return o } +// Configure access to the cluster +func (o LookupSkeClusterResultOutput) Access() GetSkeClusterAccessOutput { + return o.ApplyT(func(v LookupSkeClusterResult) GetSkeClusterAccess { return v.Access }).(GetSkeClusterAccessOutput) +} + // The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. func (o LookupSkeClusterResultOutput) EgressAddressRanges() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupSkeClusterResult) []string { return v.EgressAddressRanges }).(pulumi.StringArrayOutput) diff --git a/sdk/go/stackit/getVpnConnection.go b/sdk/go/stackit/getVpnConnection.go new file mode 100644 index 0000000..c915acb --- /dev/null +++ b/sdk/go/stackit/getVpnConnection.go @@ -0,0 +1,168 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package stackit + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" +) + +// 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 +func LookupVpnConnection(ctx *pulumi.Context, args *LookupVpnConnectionArgs, opts ...pulumi.InvokeOption) (*LookupVpnConnectionResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupVpnConnectionResult + err := ctx.Invoke("stackit:index/getVpnConnection:getVpnConnection", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getVpnConnection. +type LookupVpnConnectionArgs struct { + // The server-generated UUID of the VPN connection. + ConnectionId string `pulumi:"connectionId"` + // The UUID of the parent VPN gateway. + GatewayId string `pulumi:"gatewayId"` + // STACKIT project ID. + ProjectId string `pulumi:"projectId"` +} + +// A collection of values returned by getVpnConnection. +type LookupVpnConnectionResult struct { + // The server-generated UUID of the VPN connection. + ConnectionId string `pulumi:"connectionId"` + // A user-friendly name for the connection. + DisplayName string `pulumi:"displayName"` + // Whether this connection is enabled. + Enabled bool `pulumi:"enabled"` + // The UUID of the parent VPN gateway. + GatewayId string `pulumi:"gatewayId"` + // Terraform's internal resource identifier. Structured as "`projectId`,`region`,`gatewayId`,`connectionId`". + Id string `pulumi:"id"` + // Map of custom labels. + Labels map[string]string `pulumi:"labels"` + // List of local IPv4 CIDRs to route through this connection. + LocalSubnets []string `pulumi:"localSubnets"` + // STACKIT project ID. + ProjectId string `pulumi:"projectId"` + // STACKIT region. + Region string `pulumi:"region"` + // List of remote IPv4 CIDRs accessible via this connection. + RemoteSubnets []string `pulumi:"remoteSubnets"` + // List of static routes (IPv4 CIDRs) for route-based VPN. + StaticRoutes []string `pulumi:"staticRoutes"` + Tunnel1 GetVpnConnectionTunnel1 `pulumi:"tunnel1"` + Tunnel2 GetVpnConnectionTunnel2 `pulumi:"tunnel2"` +} + +func LookupVpnConnectionOutput(ctx *pulumi.Context, args LookupVpnConnectionOutputArgs, opts ...pulumi.InvokeOption) LookupVpnConnectionResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupVpnConnectionResultOutput, error) { + args := v.(LookupVpnConnectionArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getVpnConnection:getVpnConnection", args, LookupVpnConnectionResultOutput{}, options).(LookupVpnConnectionResultOutput), nil + }).(LookupVpnConnectionResultOutput) +} + +// A collection of arguments for invoking getVpnConnection. +type LookupVpnConnectionOutputArgs struct { + // The server-generated UUID of the VPN connection. + ConnectionId pulumi.StringInput `pulumi:"connectionId"` + // The UUID of the parent VPN gateway. + GatewayId pulumi.StringInput `pulumi:"gatewayId"` + // STACKIT project ID. + ProjectId pulumi.StringInput `pulumi:"projectId"` +} + +func (LookupVpnConnectionOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVpnConnectionArgs)(nil)).Elem() +} + +// A collection of values returned by getVpnConnection. +type LookupVpnConnectionResultOutput struct{ *pulumi.OutputState } + +func (LookupVpnConnectionResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVpnConnectionResult)(nil)).Elem() +} + +func (o LookupVpnConnectionResultOutput) ToLookupVpnConnectionResultOutput() LookupVpnConnectionResultOutput { + return o +} + +func (o LookupVpnConnectionResultOutput) ToLookupVpnConnectionResultOutputWithContext(ctx context.Context) LookupVpnConnectionResultOutput { + return o +} + +// The server-generated UUID of the VPN connection. +func (o LookupVpnConnectionResultOutput) ConnectionId() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpnConnectionResult) string { return v.ConnectionId }).(pulumi.StringOutput) +} + +// A user-friendly name for the connection. +func (o LookupVpnConnectionResultOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpnConnectionResult) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// Whether this connection is enabled. +func (o LookupVpnConnectionResultOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v LookupVpnConnectionResult) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +// The UUID of the parent VPN gateway. +func (o LookupVpnConnectionResultOutput) GatewayId() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpnConnectionResult) string { return v.GatewayId }).(pulumi.StringOutput) +} + +// Terraform's internal resource identifier. Structured as "`projectId`,`region`,`gatewayId`,`connectionId`". +func (o LookupVpnConnectionResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpnConnectionResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Map of custom labels. +func (o LookupVpnConnectionResultOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupVpnConnectionResult) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +// List of local IPv4 CIDRs to route through this connection. +func (o LookupVpnConnectionResultOutput) LocalSubnets() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupVpnConnectionResult) []string { return v.LocalSubnets }).(pulumi.StringArrayOutput) +} + +// STACKIT project ID. +func (o LookupVpnConnectionResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpnConnectionResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// STACKIT region. +func (o LookupVpnConnectionResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpnConnectionResult) string { return v.Region }).(pulumi.StringOutput) +} + +// List of remote IPv4 CIDRs accessible via this connection. +func (o LookupVpnConnectionResultOutput) RemoteSubnets() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupVpnConnectionResult) []string { return v.RemoteSubnets }).(pulumi.StringArrayOutput) +} + +// List of static routes (IPv4 CIDRs) for route-based VPN. +func (o LookupVpnConnectionResultOutput) StaticRoutes() pulumi.StringArrayOutput { + return o.ApplyT(func(v LookupVpnConnectionResult) []string { return v.StaticRoutes }).(pulumi.StringArrayOutput) +} + +func (o LookupVpnConnectionResultOutput) Tunnel1() GetVpnConnectionTunnel1Output { + return o.ApplyT(func(v LookupVpnConnectionResult) GetVpnConnectionTunnel1 { return v.Tunnel1 }).(GetVpnConnectionTunnel1Output) +} + +func (o LookupVpnConnectionResultOutput) Tunnel2() GetVpnConnectionTunnel2Output { + return o.ApplyT(func(v LookupVpnConnectionResult) GetVpnConnectionTunnel2 { return v.Tunnel2 }).(GetVpnConnectionTunnel2Output) +} + +func init() { + pulumi.RegisterOutputType(LookupVpnConnectionResultOutput{}) +} diff --git a/sdk/go/stackit/getVpnGatewayStatus.go b/sdk/go/stackit/getVpnGatewayStatus.go new file mode 100644 index 0000000..f37e0ed --- /dev/null +++ b/sdk/go/stackit/getVpnGatewayStatus.go @@ -0,0 +1,126 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package stackit + +import ( + "context" + "reflect" + + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" +) + +// 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 +func GetVpnGatewayStatus(ctx *pulumi.Context, args *GetVpnGatewayStatusArgs, opts ...pulumi.InvokeOption) (*GetVpnGatewayStatusResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv GetVpnGatewayStatusResult + err := ctx.Invoke("stackit:index/getVpnGatewayStatus:getVpnGatewayStatus", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getVpnGatewayStatus. +type GetVpnGatewayStatusArgs struct { + // The server-generated UUID of the VPN gateway. + GatewayId string `pulumi:"gatewayId"` + // STACKIT project ID associated with the VPN gateway. + ProjectId string `pulumi:"projectId"` +} + +// A collection of values returned by getVpnGatewayStatus. +type GetVpnGatewayStatusResult struct { + // List of connections in the VPN gateway. + Connections []GetVpnGatewayStatusConnection `pulumi:"connections"` + // A user-friendly name for the VPN gateway. + DisplayName string `pulumi:"displayName"` + // The server-generated UUID of the VPN gateway. + GatewayId string `pulumi:"gatewayId"` + // Terraform's internal resource identifier. Structured as "`projectId`,`region`,`gatewayId`". + Id string `pulumi:"id"` + // STACKIT project ID associated with the VPN gateway. + ProjectId string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region string `pulumi:"region"` + // List of the VPN tunnels in the gateway. + Tunnels []GetVpnGatewayStatusTunnel `pulumi:"tunnels"` +} + +func GetVpnGatewayStatusOutput(ctx *pulumi.Context, args GetVpnGatewayStatusOutputArgs, opts ...pulumi.InvokeOption) GetVpnGatewayStatusResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (GetVpnGatewayStatusResultOutput, error) { + args := v.(GetVpnGatewayStatusArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getVpnGatewayStatus:getVpnGatewayStatus", args, GetVpnGatewayStatusResultOutput{}, options).(GetVpnGatewayStatusResultOutput), nil + }).(GetVpnGatewayStatusResultOutput) +} + +// A collection of arguments for invoking getVpnGatewayStatus. +type GetVpnGatewayStatusOutputArgs struct { + // The server-generated UUID of the VPN gateway. + GatewayId pulumi.StringInput `pulumi:"gatewayId"` + // STACKIT project ID associated with the VPN gateway. + ProjectId pulumi.StringInput `pulumi:"projectId"` +} + +func (GetVpnGatewayStatusOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnGatewayStatusArgs)(nil)).Elem() +} + +// A collection of values returned by getVpnGatewayStatus. +type GetVpnGatewayStatusResultOutput struct{ *pulumi.OutputState } + +func (GetVpnGatewayStatusResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnGatewayStatusResult)(nil)).Elem() +} + +func (o GetVpnGatewayStatusResultOutput) ToGetVpnGatewayStatusResultOutput() GetVpnGatewayStatusResultOutput { + return o +} + +func (o GetVpnGatewayStatusResultOutput) ToGetVpnGatewayStatusResultOutputWithContext(ctx context.Context) GetVpnGatewayStatusResultOutput { + return o +} + +// List of connections in the VPN gateway. +func (o GetVpnGatewayStatusResultOutput) Connections() GetVpnGatewayStatusConnectionArrayOutput { + return o.ApplyT(func(v GetVpnGatewayStatusResult) []GetVpnGatewayStatusConnection { return v.Connections }).(GetVpnGatewayStatusConnectionArrayOutput) +} + +// A user-friendly name for the VPN gateway. +func (o GetVpnGatewayStatusResultOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnGatewayStatusResult) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// The server-generated UUID of the VPN gateway. +func (o GetVpnGatewayStatusResultOutput) GatewayId() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnGatewayStatusResult) string { return v.GatewayId }).(pulumi.StringOutput) +} + +// Terraform's internal resource identifier. Structured as "`projectId`,`region`,`gatewayId`". +func (o GetVpnGatewayStatusResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnGatewayStatusResult) string { return v.Id }).(pulumi.StringOutput) +} + +// STACKIT project ID associated with the VPN gateway. +func (o GetVpnGatewayStatusResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnGatewayStatusResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o GetVpnGatewayStatusResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnGatewayStatusResult) string { return v.Region }).(pulumi.StringOutput) +} + +// List of the VPN tunnels in the gateway. +func (o GetVpnGatewayStatusResultOutput) Tunnels() GetVpnGatewayStatusTunnelArrayOutput { + return o.ApplyT(func(v GetVpnGatewayStatusResult) []GetVpnGatewayStatusTunnel { return v.Tunnels }).(GetVpnGatewayStatusTunnelArrayOutput) +} + +func init() { + pulumi.RegisterOutputType(GetVpnGatewayStatusResultOutput{}) +} diff --git a/sdk/go/stackit/init.go b/sdk/go/stackit/init.go index c462ba3..bdc81b9 100644 --- a/sdk/go/stackit/init.go +++ b/sdk/go/stackit/init.go @@ -217,6 +217,8 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &TelemetryrouterInstance{} case "stackit:index/volume:Volume": r = &Volume{} + case "stackit:index/vpnConnection:VpnConnection": + r = &VpnConnection{} case "stackit:index/vpnGateway:VpnGateway": r = &VpnGateway{} default: @@ -740,6 +742,11 @@ func init() { "index/volume", &module{version}, ) + pulumi.RegisterResourceModule( + "stackit", + "index/vpnConnection", + &module{version}, + ) pulumi.RegisterResourceModule( "stackit", "index/vpnGateway", diff --git a/sdk/go/stackit/intakeRunner.go b/sdk/go/stackit/intakeRunner.go index ffe6f94..af81736 100644 --- a/sdk/go/stackit/intakeRunner.go +++ b/sdk/go/stackit/intakeRunner.go @@ -18,6 +18,8 @@ import ( type IntakeRunner struct { pulumi.CustomResourceState + // The creation time of the runner. + CreateTime pulumi.StringOutput `pulumi:"createTime"` // The description of the runner. Description pulumi.StringPtrOutput `pulumi:"description"` // User-defined labels. @@ -34,6 +36,8 @@ type IntakeRunner struct { Region pulumi.StringOutput `pulumi:"region"` // The runner ID. RunnerId pulumi.StringOutput `pulumi:"runnerId"` + // The URI of the runner. + Uri pulumi.StringOutput `pulumi:"uri"` } // NewIntakeRunner registers a new resource with the given unique name, arguments, and options. @@ -75,6 +79,8 @@ func GetIntakeRunner(ctx *pulumi.Context, // Input properties used for looking up and filtering IntakeRunner resources. type intakeRunnerState struct { + // The creation time of the runner. + CreateTime *string `pulumi:"createTime"` // The description of the runner. Description *string `pulumi:"description"` // User-defined labels. @@ -91,9 +97,13 @@ type intakeRunnerState struct { Region *string `pulumi:"region"` // The runner ID. RunnerId *string `pulumi:"runnerId"` + // The URI of the runner. + Uri *string `pulumi:"uri"` } type IntakeRunnerState struct { + // The creation time of the runner. + CreateTime pulumi.StringPtrInput // The description of the runner. Description pulumi.StringPtrInput // User-defined labels. @@ -110,6 +120,8 @@ type IntakeRunnerState struct { Region pulumi.StringPtrInput // The runner ID. RunnerId pulumi.StringPtrInput + // The URI of the runner. + Uri pulumi.StringPtrInput } func (IntakeRunnerState) ElementType() reflect.Type { @@ -238,6 +250,11 @@ func (o IntakeRunnerOutput) ToIntakeRunnerOutputWithContext(ctx context.Context) return o } +// The creation time of the runner. +func (o IntakeRunnerOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *IntakeRunner) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) +} + // The description of the runner. func (o IntakeRunnerOutput) Description() pulumi.StringPtrOutput { return o.ApplyT(func(v *IntakeRunner) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) @@ -278,6 +295,11 @@ func (o IntakeRunnerOutput) RunnerId() pulumi.StringOutput { return o.ApplyT(func(v *IntakeRunner) pulumi.StringOutput { return v.RunnerId }).(pulumi.StringOutput) } +// The URI of the runner. +func (o IntakeRunnerOutput) Uri() pulumi.StringOutput { + return o.ApplyT(func(v *IntakeRunner) pulumi.StringOutput { return v.Uri }).(pulumi.StringOutput) +} + type IntakeRunnerArrayOutput struct{ *pulumi.OutputState } func (IntakeRunnerArrayOutput) ElementType() reflect.Type { diff --git a/sdk/go/stackit/loadbalancer.go b/sdk/go/stackit/loadbalancer.go index 8f0b61e..15b42d0 100644 --- a/sdk/go/stackit/loadbalancer.go +++ b/sdk/go/stackit/loadbalancer.go @@ -26,6 +26,8 @@ type Loadbalancer struct { ExternalAddress pulumi.StringPtrOutput `pulumi:"externalAddress"` // List of all listeners which will accept traffic. Limited to 20. Listeners LoadbalancerListenerArrayOutput `pulumi:"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`. + LoadBalancerSecurityGroupId pulumi.StringOutput `pulumi:"loadBalancerSecurityGroupId"` // Load balancer name. Name pulumi.StringOutput `pulumi:"name"` // List of networks that listeners and targets reside in. @@ -40,7 +42,7 @@ type Loadbalancer struct { ProjectId pulumi.StringOutput `pulumi:"projectId"` // The resource region. If not defined, the provider region is used. Region pulumi.StringOutput `pulumi:"region"` - // The ID of the 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. SecurityGroupId pulumi.StringOutput `pulumi:"securityGroupId"` // List of all target pools which will be used in the Load Balancer. Limited to 20. TargetPools LoadbalancerTargetPoolArrayOutput `pulumi:"targetPools"` @@ -96,6 +98,8 @@ type loadbalancerState struct { ExternalAddress *string `pulumi:"externalAddress"` // List of all listeners which will accept traffic. Limited to 20. Listeners []LoadbalancerListener `pulumi:"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`. + LoadBalancerSecurityGroupId *string `pulumi:"loadBalancerSecurityGroupId"` // Load balancer name. Name *string `pulumi:"name"` // List of networks that listeners and targets reside in. @@ -110,7 +114,7 @@ type loadbalancerState struct { ProjectId *string `pulumi:"projectId"` // The resource region. If not defined, the provider region is used. Region *string `pulumi:"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. SecurityGroupId *string `pulumi:"securityGroupId"` // List of all target pools which will be used in the Load Balancer. Limited to 20. TargetPools []LoadbalancerTargetPool `pulumi:"targetPools"` @@ -125,6 +129,8 @@ type LoadbalancerState struct { ExternalAddress pulumi.StringPtrInput // List of all listeners which will accept traffic. Limited to 20. Listeners LoadbalancerListenerArrayInput + // 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`. + LoadBalancerSecurityGroupId pulumi.StringPtrInput // Load balancer name. Name pulumi.StringPtrInput // List of networks that listeners and targets reside in. @@ -139,7 +145,7 @@ type LoadbalancerState struct { ProjectId pulumi.StringPtrInput // The resource region. If not defined, the provider region is used. Region pulumi.StringPtrInput - // 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. SecurityGroupId pulumi.StringPtrInput // List of all target pools which will be used in the Load Balancer. Limited to 20. TargetPools LoadbalancerTargetPoolArrayInput @@ -300,6 +306,11 @@ func (o LoadbalancerOutput) Listeners() LoadbalancerListenerArrayOutput { return o.ApplyT(func(v *Loadbalancer) LoadbalancerListenerArrayOutput { return v.Listeners }).(LoadbalancerListenerArrayOutput) } +// 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`. +func (o LoadbalancerOutput) LoadBalancerSecurityGroupId() pulumi.StringOutput { + return o.ApplyT(func(v *Loadbalancer) pulumi.StringOutput { return v.LoadBalancerSecurityGroupId }).(pulumi.StringOutput) +} + // Load balancer name. func (o LoadbalancerOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *Loadbalancer) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) @@ -335,7 +346,7 @@ func (o LoadbalancerOutput) Region() pulumi.StringOutput { return o.ApplyT(func(v *Loadbalancer) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) } -// 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. func (o LoadbalancerOutput) SecurityGroupId() pulumi.StringOutput { return o.ApplyT(func(v *Loadbalancer) pulumi.StringOutput { return v.SecurityGroupId }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/objectstorageBucket.go b/sdk/go/stackit/objectstorageBucket.go index e60397f..bba6e95 100644 --- a/sdk/go/stackit/objectstorageBucket.go +++ b/sdk/go/stackit/objectstorageBucket.go @@ -14,6 +14,8 @@ import ( // 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 type ObjectstorageBucket struct { pulumi.CustomResourceState diff --git a/sdk/go/stackit/pulumiTypes.go b/sdk/go/stackit/pulumiTypes.go index 6d6fbd9..caef1da 100644 --- a/sdk/go/stackit/pulumiTypes.go +++ b/sdk/go/stackit/pulumiTypes.go @@ -17228,6 +17228,299 @@ func (o SfsResourcePoolSnapshotPolicyPtrOutput) Name() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +type SkeClusterAccess struct { + // Configure IDP + Idp *SkeClusterAccessIdp `pulumi:"idp"` +} + +// SkeClusterAccessInput is an input type that accepts SkeClusterAccessArgs and SkeClusterAccessOutput values. +// You can construct a concrete instance of `SkeClusterAccessInput` via: +// +// SkeClusterAccessArgs{...} +type SkeClusterAccessInput interface { + pulumi.Input + + ToSkeClusterAccessOutput() SkeClusterAccessOutput + ToSkeClusterAccessOutputWithContext(context.Context) SkeClusterAccessOutput +} + +type SkeClusterAccessArgs struct { + // Configure IDP + Idp SkeClusterAccessIdpPtrInput `pulumi:"idp"` +} + +func (SkeClusterAccessArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterAccess)(nil)).Elem() +} + +func (i SkeClusterAccessArgs) ToSkeClusterAccessOutput() SkeClusterAccessOutput { + return i.ToSkeClusterAccessOutputWithContext(context.Background()) +} + +func (i SkeClusterAccessArgs) ToSkeClusterAccessOutputWithContext(ctx context.Context) SkeClusterAccessOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterAccessOutput) +} + +func (i SkeClusterAccessArgs) ToSkeClusterAccessPtrOutput() SkeClusterAccessPtrOutput { + return i.ToSkeClusterAccessPtrOutputWithContext(context.Background()) +} + +func (i SkeClusterAccessArgs) ToSkeClusterAccessPtrOutputWithContext(ctx context.Context) SkeClusterAccessPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterAccessOutput).ToSkeClusterAccessPtrOutputWithContext(ctx) +} + +// SkeClusterAccessPtrInput is an input type that accepts SkeClusterAccessArgs, SkeClusterAccessPtr and SkeClusterAccessPtrOutput values. +// You can construct a concrete instance of `SkeClusterAccessPtrInput` via: +// +// SkeClusterAccessArgs{...} +// +// or: +// +// nil +type SkeClusterAccessPtrInput interface { + pulumi.Input + + ToSkeClusterAccessPtrOutput() SkeClusterAccessPtrOutput + ToSkeClusterAccessPtrOutputWithContext(context.Context) SkeClusterAccessPtrOutput +} + +type skeClusterAccessPtrType SkeClusterAccessArgs + +func SkeClusterAccessPtr(v *SkeClusterAccessArgs) SkeClusterAccessPtrInput { + return (*skeClusterAccessPtrType)(v) +} + +func (*skeClusterAccessPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterAccess)(nil)).Elem() +} + +func (i *skeClusterAccessPtrType) ToSkeClusterAccessPtrOutput() SkeClusterAccessPtrOutput { + return i.ToSkeClusterAccessPtrOutputWithContext(context.Background()) +} + +func (i *skeClusterAccessPtrType) ToSkeClusterAccessPtrOutputWithContext(ctx context.Context) SkeClusterAccessPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterAccessPtrOutput) +} + +type SkeClusterAccessOutput struct{ *pulumi.OutputState } + +func (SkeClusterAccessOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterAccess)(nil)).Elem() +} + +func (o SkeClusterAccessOutput) ToSkeClusterAccessOutput() SkeClusterAccessOutput { + return o +} + +func (o SkeClusterAccessOutput) ToSkeClusterAccessOutputWithContext(ctx context.Context) SkeClusterAccessOutput { + return o +} + +func (o SkeClusterAccessOutput) ToSkeClusterAccessPtrOutput() SkeClusterAccessPtrOutput { + return o.ToSkeClusterAccessPtrOutputWithContext(context.Background()) +} + +func (o SkeClusterAccessOutput) ToSkeClusterAccessPtrOutputWithContext(ctx context.Context) SkeClusterAccessPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SkeClusterAccess) *SkeClusterAccess { + return &v + }).(SkeClusterAccessPtrOutput) +} + +// Configure IDP +func (o SkeClusterAccessOutput) Idp() SkeClusterAccessIdpPtrOutput { + return o.ApplyT(func(v SkeClusterAccess) *SkeClusterAccessIdp { return v.Idp }).(SkeClusterAccessIdpPtrOutput) +} + +type SkeClusterAccessPtrOutput struct{ *pulumi.OutputState } + +func (SkeClusterAccessPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterAccess)(nil)).Elem() +} + +func (o SkeClusterAccessPtrOutput) ToSkeClusterAccessPtrOutput() SkeClusterAccessPtrOutput { + return o +} + +func (o SkeClusterAccessPtrOutput) ToSkeClusterAccessPtrOutputWithContext(ctx context.Context) SkeClusterAccessPtrOutput { + return o +} + +func (o SkeClusterAccessPtrOutput) Elem() SkeClusterAccessOutput { + return o.ApplyT(func(v *SkeClusterAccess) SkeClusterAccess { + if v != nil { + return *v + } + var ret SkeClusterAccess + return ret + }).(SkeClusterAccessOutput) +} + +// Configure IDP +func (o SkeClusterAccessPtrOutput) Idp() SkeClusterAccessIdpPtrOutput { + return o.ApplyT(func(v *SkeClusterAccess) *SkeClusterAccessIdp { + if v == nil { + return nil + } + return v.Idp + }).(SkeClusterAccessIdpPtrOutput) +} + +type SkeClusterAccessIdp struct { + // Enable IDP integration for the cluster. + Enabled *bool `pulumi:"enabled"` + // The IDP type. Possible values: 'stackit'. + Type *string `pulumi:"type"` +} + +// SkeClusterAccessIdpInput is an input type that accepts SkeClusterAccessIdpArgs and SkeClusterAccessIdpOutput values. +// You can construct a concrete instance of `SkeClusterAccessIdpInput` via: +// +// SkeClusterAccessIdpArgs{...} +type SkeClusterAccessIdpInput interface { + pulumi.Input + + ToSkeClusterAccessIdpOutput() SkeClusterAccessIdpOutput + ToSkeClusterAccessIdpOutputWithContext(context.Context) SkeClusterAccessIdpOutput +} + +type SkeClusterAccessIdpArgs struct { + // Enable IDP integration for the cluster. + Enabled pulumi.BoolPtrInput `pulumi:"enabled"` + // The IDP type. Possible values: 'stackit'. + Type pulumi.StringPtrInput `pulumi:"type"` +} + +func (SkeClusterAccessIdpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterAccessIdp)(nil)).Elem() +} + +func (i SkeClusterAccessIdpArgs) ToSkeClusterAccessIdpOutput() SkeClusterAccessIdpOutput { + return i.ToSkeClusterAccessIdpOutputWithContext(context.Background()) +} + +func (i SkeClusterAccessIdpArgs) ToSkeClusterAccessIdpOutputWithContext(ctx context.Context) SkeClusterAccessIdpOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterAccessIdpOutput) +} + +func (i SkeClusterAccessIdpArgs) ToSkeClusterAccessIdpPtrOutput() SkeClusterAccessIdpPtrOutput { + return i.ToSkeClusterAccessIdpPtrOutputWithContext(context.Background()) +} + +func (i SkeClusterAccessIdpArgs) ToSkeClusterAccessIdpPtrOutputWithContext(ctx context.Context) SkeClusterAccessIdpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterAccessIdpOutput).ToSkeClusterAccessIdpPtrOutputWithContext(ctx) +} + +// SkeClusterAccessIdpPtrInput is an input type that accepts SkeClusterAccessIdpArgs, SkeClusterAccessIdpPtr and SkeClusterAccessIdpPtrOutput values. +// You can construct a concrete instance of `SkeClusterAccessIdpPtrInput` via: +// +// SkeClusterAccessIdpArgs{...} +// +// or: +// +// nil +type SkeClusterAccessIdpPtrInput interface { + pulumi.Input + + ToSkeClusterAccessIdpPtrOutput() SkeClusterAccessIdpPtrOutput + ToSkeClusterAccessIdpPtrOutputWithContext(context.Context) SkeClusterAccessIdpPtrOutput +} + +type skeClusterAccessIdpPtrType SkeClusterAccessIdpArgs + +func SkeClusterAccessIdpPtr(v *SkeClusterAccessIdpArgs) SkeClusterAccessIdpPtrInput { + return (*skeClusterAccessIdpPtrType)(v) +} + +func (*skeClusterAccessIdpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterAccessIdp)(nil)).Elem() +} + +func (i *skeClusterAccessIdpPtrType) ToSkeClusterAccessIdpPtrOutput() SkeClusterAccessIdpPtrOutput { + return i.ToSkeClusterAccessIdpPtrOutputWithContext(context.Background()) +} + +func (i *skeClusterAccessIdpPtrType) ToSkeClusterAccessIdpPtrOutputWithContext(ctx context.Context) SkeClusterAccessIdpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterAccessIdpPtrOutput) +} + +type SkeClusterAccessIdpOutput struct{ *pulumi.OutputState } + +func (SkeClusterAccessIdpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterAccessIdp)(nil)).Elem() +} + +func (o SkeClusterAccessIdpOutput) ToSkeClusterAccessIdpOutput() SkeClusterAccessIdpOutput { + return o +} + +func (o SkeClusterAccessIdpOutput) ToSkeClusterAccessIdpOutputWithContext(ctx context.Context) SkeClusterAccessIdpOutput { + return o +} + +func (o SkeClusterAccessIdpOutput) ToSkeClusterAccessIdpPtrOutput() SkeClusterAccessIdpPtrOutput { + return o.ToSkeClusterAccessIdpPtrOutputWithContext(context.Background()) +} + +func (o SkeClusterAccessIdpOutput) ToSkeClusterAccessIdpPtrOutputWithContext(ctx context.Context) SkeClusterAccessIdpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SkeClusterAccessIdp) *SkeClusterAccessIdp { + return &v + }).(SkeClusterAccessIdpPtrOutput) +} + +// Enable IDP integration for the cluster. +func (o SkeClusterAccessIdpOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SkeClusterAccessIdp) *bool { return v.Enabled }).(pulumi.BoolPtrOutput) +} + +// The IDP type. Possible values: 'stackit'. +func (o SkeClusterAccessIdpOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v SkeClusterAccessIdp) *string { return v.Type }).(pulumi.StringPtrOutput) +} + +type SkeClusterAccessIdpPtrOutput struct{ *pulumi.OutputState } + +func (SkeClusterAccessIdpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterAccessIdp)(nil)).Elem() +} + +func (o SkeClusterAccessIdpPtrOutput) ToSkeClusterAccessIdpPtrOutput() SkeClusterAccessIdpPtrOutput { + return o +} + +func (o SkeClusterAccessIdpPtrOutput) ToSkeClusterAccessIdpPtrOutputWithContext(ctx context.Context) SkeClusterAccessIdpPtrOutput { + return o +} + +func (o SkeClusterAccessIdpPtrOutput) Elem() SkeClusterAccessIdpOutput { + return o.ApplyT(func(v *SkeClusterAccessIdp) SkeClusterAccessIdp { + if v != nil { + return *v + } + var ret SkeClusterAccessIdp + return ret + }).(SkeClusterAccessIdpOutput) +} + +// Enable IDP integration for the cluster. +func (o SkeClusterAccessIdpPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SkeClusterAccessIdp) *bool { + if v == nil { + return nil + } + return v.Enabled + }).(pulumi.BoolPtrOutput) +} + +// The IDP type. Possible values: 'stackit'. +func (o SkeClusterAccessIdpPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SkeClusterAccessIdp) *string { + if v == nil { + return nil + } + return v.Type + }).(pulumi.StringPtrOutput) +} + type SkeClusterExtensions struct { // Cluster access control configuration. Acl *SkeClusterExtensionsAcl `pulumi:"acl"` @@ -21309,13921 +21602,16742 @@ func (o VolumeSourcePtrOutput) Type() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -type VpnGatewayAvailabilityZones struct { - // Availability zone for tunnel 1. - Tunnel1 string `pulumi:"tunnel1"` - // Availability zone for tunnel 2. - Tunnel2 string `pulumi:"tunnel2"` +type VpnConnectionTunnel1 struct { + Bgp *VpnConnectionTunnel1Bgp `pulumi:"bgp"` + Peering *VpnConnectionTunnel1Peering `pulumi:"peering"` + Phase1 VpnConnectionTunnel1Phase1 `pulumi:"phase1"` + Phase2 VpnConnectionTunnel1Phase2 `pulumi:"phase2"` + // Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. + PreSharedKey *string `pulumi:"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. + PreSharedKeyWo *string `pulumi:"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. + PreSharedKeyWoVersion *int `pulumi:"preSharedKeyWoVersion"` + // Remote IPv4 address for the tunnel endpoint. + RemoteAddress string `pulumi:"remoteAddress"` } -// VpnGatewayAvailabilityZonesInput is an input type that accepts VpnGatewayAvailabilityZonesArgs and VpnGatewayAvailabilityZonesOutput values. -// You can construct a concrete instance of `VpnGatewayAvailabilityZonesInput` via: +// VpnConnectionTunnel1Input is an input type that accepts VpnConnectionTunnel1Args and VpnConnectionTunnel1Output values. +// You can construct a concrete instance of `VpnConnectionTunnel1Input` via: // -// VpnGatewayAvailabilityZonesArgs{...} -type VpnGatewayAvailabilityZonesInput interface { +// VpnConnectionTunnel1Args{...} +type VpnConnectionTunnel1Input interface { pulumi.Input - ToVpnGatewayAvailabilityZonesOutput() VpnGatewayAvailabilityZonesOutput - ToVpnGatewayAvailabilityZonesOutputWithContext(context.Context) VpnGatewayAvailabilityZonesOutput + ToVpnConnectionTunnel1Output() VpnConnectionTunnel1Output + ToVpnConnectionTunnel1OutputWithContext(context.Context) VpnConnectionTunnel1Output } -type VpnGatewayAvailabilityZonesArgs struct { - // Availability zone for tunnel 1. - Tunnel1 pulumi.StringInput `pulumi:"tunnel1"` - // Availability zone for tunnel 2. - Tunnel2 pulumi.StringInput `pulumi:"tunnel2"` +type VpnConnectionTunnel1Args struct { + Bgp VpnConnectionTunnel1BgpPtrInput `pulumi:"bgp"` + Peering VpnConnectionTunnel1PeeringPtrInput `pulumi:"peering"` + Phase1 VpnConnectionTunnel1Phase1Input `pulumi:"phase1"` + Phase2 VpnConnectionTunnel1Phase2Input `pulumi:"phase2"` + // Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. + PreSharedKey pulumi.StringPtrInput `pulumi:"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. + PreSharedKeyWo pulumi.StringPtrInput `pulumi:"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. + PreSharedKeyWoVersion pulumi.IntPtrInput `pulumi:"preSharedKeyWoVersion"` + // Remote IPv4 address for the tunnel endpoint. + RemoteAddress pulumi.StringInput `pulumi:"remoteAddress"` } -func (VpnGatewayAvailabilityZonesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VpnGatewayAvailabilityZones)(nil)).Elem() +func (VpnConnectionTunnel1Args) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel1)(nil)).Elem() } -func (i VpnGatewayAvailabilityZonesArgs) ToVpnGatewayAvailabilityZonesOutput() VpnGatewayAvailabilityZonesOutput { - return i.ToVpnGatewayAvailabilityZonesOutputWithContext(context.Background()) +func (i VpnConnectionTunnel1Args) ToVpnConnectionTunnel1Output() VpnConnectionTunnel1Output { + return i.ToVpnConnectionTunnel1OutputWithContext(context.Background()) } -func (i VpnGatewayAvailabilityZonesArgs) ToVpnGatewayAvailabilityZonesOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayAvailabilityZonesOutput) +func (i VpnConnectionTunnel1Args) ToVpnConnectionTunnel1OutputWithContext(ctx context.Context) VpnConnectionTunnel1Output { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Output) } -func (i VpnGatewayAvailabilityZonesArgs) ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput { - return i.ToVpnGatewayAvailabilityZonesPtrOutputWithContext(context.Background()) +func (i VpnConnectionTunnel1Args) ToVpnConnectionTunnel1PtrOutput() VpnConnectionTunnel1PtrOutput { + return i.ToVpnConnectionTunnel1PtrOutputWithContext(context.Background()) } -func (i VpnGatewayAvailabilityZonesArgs) ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayAvailabilityZonesOutput).ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx) +func (i VpnConnectionTunnel1Args) ToVpnConnectionTunnel1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Output).ToVpnConnectionTunnel1PtrOutputWithContext(ctx) } -// VpnGatewayAvailabilityZonesPtrInput is an input type that accepts VpnGatewayAvailabilityZonesArgs, VpnGatewayAvailabilityZonesPtr and VpnGatewayAvailabilityZonesPtrOutput values. -// You can construct a concrete instance of `VpnGatewayAvailabilityZonesPtrInput` via: +// VpnConnectionTunnel1PtrInput is an input type that accepts VpnConnectionTunnel1Args, VpnConnectionTunnel1Ptr and VpnConnectionTunnel1PtrOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel1PtrInput` via: // -// VpnGatewayAvailabilityZonesArgs{...} +// VpnConnectionTunnel1Args{...} // // or: // // nil -type VpnGatewayAvailabilityZonesPtrInput interface { +type VpnConnectionTunnel1PtrInput interface { pulumi.Input - ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput - ToVpnGatewayAvailabilityZonesPtrOutputWithContext(context.Context) VpnGatewayAvailabilityZonesPtrOutput + ToVpnConnectionTunnel1PtrOutput() VpnConnectionTunnel1PtrOutput + ToVpnConnectionTunnel1PtrOutputWithContext(context.Context) VpnConnectionTunnel1PtrOutput } -type vpnGatewayAvailabilityZonesPtrType VpnGatewayAvailabilityZonesArgs +type vpnConnectionTunnel1PtrType VpnConnectionTunnel1Args -func VpnGatewayAvailabilityZonesPtr(v *VpnGatewayAvailabilityZonesArgs) VpnGatewayAvailabilityZonesPtrInput { - return (*vpnGatewayAvailabilityZonesPtrType)(v) +func VpnConnectionTunnel1Ptr(v *VpnConnectionTunnel1Args) VpnConnectionTunnel1PtrInput { + return (*vpnConnectionTunnel1PtrType)(v) } -func (*vpnGatewayAvailabilityZonesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VpnGatewayAvailabilityZones)(nil)).Elem() +func (*vpnConnectionTunnel1PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel1)(nil)).Elem() } -func (i *vpnGatewayAvailabilityZonesPtrType) ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput { - return i.ToVpnGatewayAvailabilityZonesPtrOutputWithContext(context.Background()) +func (i *vpnConnectionTunnel1PtrType) ToVpnConnectionTunnel1PtrOutput() VpnConnectionTunnel1PtrOutput { + return i.ToVpnConnectionTunnel1PtrOutputWithContext(context.Background()) } -func (i *vpnGatewayAvailabilityZonesPtrType) ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayAvailabilityZonesPtrOutput) +func (i *vpnConnectionTunnel1PtrType) ToVpnConnectionTunnel1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1PtrOutput) } -type VpnGatewayAvailabilityZonesOutput struct{ *pulumi.OutputState } +type VpnConnectionTunnel1Output struct{ *pulumi.OutputState } -func (VpnGatewayAvailabilityZonesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VpnGatewayAvailabilityZones)(nil)).Elem() +func (VpnConnectionTunnel1Output) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel1)(nil)).Elem() } -func (o VpnGatewayAvailabilityZonesOutput) ToVpnGatewayAvailabilityZonesOutput() VpnGatewayAvailabilityZonesOutput { +func (o VpnConnectionTunnel1Output) ToVpnConnectionTunnel1Output() VpnConnectionTunnel1Output { return o } -func (o VpnGatewayAvailabilityZonesOutput) ToVpnGatewayAvailabilityZonesOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesOutput { +func (o VpnConnectionTunnel1Output) ToVpnConnectionTunnel1OutputWithContext(ctx context.Context) VpnConnectionTunnel1Output { return o } -func (o VpnGatewayAvailabilityZonesOutput) ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput { - return o.ToVpnGatewayAvailabilityZonesPtrOutputWithContext(context.Background()) +func (o VpnConnectionTunnel1Output) ToVpnConnectionTunnel1PtrOutput() VpnConnectionTunnel1PtrOutput { + return o.ToVpnConnectionTunnel1PtrOutputWithContext(context.Background()) } -func (o VpnGatewayAvailabilityZonesOutput) ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnGatewayAvailabilityZones) *VpnGatewayAvailabilityZones { +func (o VpnConnectionTunnel1Output) ToVpnConnectionTunnel1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel1) *VpnConnectionTunnel1 { return &v - }).(VpnGatewayAvailabilityZonesPtrOutput) + }).(VpnConnectionTunnel1PtrOutput) } -// Availability zone for tunnel 1. -func (o VpnGatewayAvailabilityZonesOutput) Tunnel1() pulumi.StringOutput { - return o.ApplyT(func(v VpnGatewayAvailabilityZones) string { return v.Tunnel1 }).(pulumi.StringOutput) +func (o VpnConnectionTunnel1Output) Bgp() VpnConnectionTunnel1BgpPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel1) *VpnConnectionTunnel1Bgp { return v.Bgp }).(VpnConnectionTunnel1BgpPtrOutput) } -// Availability zone for tunnel 2. -func (o VpnGatewayAvailabilityZonesOutput) Tunnel2() pulumi.StringOutput { - return o.ApplyT(func(v VpnGatewayAvailabilityZones) string { return v.Tunnel2 }).(pulumi.StringOutput) +func (o VpnConnectionTunnel1Output) Peering() VpnConnectionTunnel1PeeringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel1) *VpnConnectionTunnel1Peering { return v.Peering }).(VpnConnectionTunnel1PeeringPtrOutput) } -type VpnGatewayAvailabilityZonesPtrOutput struct{ *pulumi.OutputState } +func (o VpnConnectionTunnel1Output) Phase1() VpnConnectionTunnel1Phase1Output { + return o.ApplyT(func(v VpnConnectionTunnel1) VpnConnectionTunnel1Phase1 { return v.Phase1 }).(VpnConnectionTunnel1Phase1Output) +} -func (VpnGatewayAvailabilityZonesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VpnGatewayAvailabilityZones)(nil)).Elem() +func (o VpnConnectionTunnel1Output) Phase2() VpnConnectionTunnel1Phase2Output { + return o.ApplyT(func(v VpnConnectionTunnel1) VpnConnectionTunnel1Phase2 { return v.Phase2 }).(VpnConnectionTunnel1Phase2Output) } -func (o VpnGatewayAvailabilityZonesPtrOutput) ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput { +// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. +func (o VpnConnectionTunnel1Output) PreSharedKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel1) *string { return v.PreSharedKey }).(pulumi.StringPtrOutput) +} + +// **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. +func (o VpnConnectionTunnel1Output) PreSharedKeyWo() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel1) *string { return v.PreSharedKeyWo }).(pulumi.StringPtrOutput) +} + +// 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. +func (o VpnConnectionTunnel1Output) PreSharedKeyWoVersion() pulumi.IntPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel1) *int { return v.PreSharedKeyWoVersion }).(pulumi.IntPtrOutput) +} + +// Remote IPv4 address for the tunnel endpoint. +func (o VpnConnectionTunnel1Output) RemoteAddress() pulumi.StringOutput { + return o.ApplyT(func(v VpnConnectionTunnel1) string { return v.RemoteAddress }).(pulumi.StringOutput) +} + +type VpnConnectionTunnel1PtrOutput struct{ *pulumi.OutputState } + +func (VpnConnectionTunnel1PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel1)(nil)).Elem() +} + +func (o VpnConnectionTunnel1PtrOutput) ToVpnConnectionTunnel1PtrOutput() VpnConnectionTunnel1PtrOutput { return o } -func (o VpnGatewayAvailabilityZonesPtrOutput) ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesPtrOutput { +func (o VpnConnectionTunnel1PtrOutput) ToVpnConnectionTunnel1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PtrOutput { return o } -func (o VpnGatewayAvailabilityZonesPtrOutput) Elem() VpnGatewayAvailabilityZonesOutput { - return o.ApplyT(func(v *VpnGatewayAvailabilityZones) VpnGatewayAvailabilityZones { +func (o VpnConnectionTunnel1PtrOutput) Elem() VpnConnectionTunnel1Output { + return o.ApplyT(func(v *VpnConnectionTunnel1) VpnConnectionTunnel1 { if v != nil { return *v } - var ret VpnGatewayAvailabilityZones + var ret VpnConnectionTunnel1 return ret - }).(VpnGatewayAvailabilityZonesOutput) + }).(VpnConnectionTunnel1Output) } -// Availability zone for tunnel 1. -func (o VpnGatewayAvailabilityZonesPtrOutput) Tunnel1() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpnGatewayAvailabilityZones) *string { +func (o VpnConnectionTunnel1PtrOutput) Bgp() VpnConnectionTunnel1BgpPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1) *VpnConnectionTunnel1Bgp { if v == nil { return nil } - return &v.Tunnel1 - }).(pulumi.StringPtrOutput) + return v.Bgp + }).(VpnConnectionTunnel1BgpPtrOutput) } -// Availability zone for tunnel 2. -func (o VpnGatewayAvailabilityZonesPtrOutput) Tunnel2() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VpnGatewayAvailabilityZones) *string { +func (o VpnConnectionTunnel1PtrOutput) Peering() VpnConnectionTunnel1PeeringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1) *VpnConnectionTunnel1Peering { if v == nil { return nil } - return &v.Tunnel2 - }).(pulumi.StringPtrOutput) + return v.Peering + }).(VpnConnectionTunnel1PeeringPtrOutput) } -type VpnGatewayBgp struct { - // Local ASN for BGP (private ASN range, 64512-4294967294). - LocalAsn int `pulumi:"localAsn"` - // List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. - OverrideAdvertisedRoutes []string `pulumi:"overrideAdvertisedRoutes"` +func (o VpnConnectionTunnel1PtrOutput) Phase1() VpnConnectionTunnel1Phase1PtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1) *VpnConnectionTunnel1Phase1 { + if v == nil { + return nil + } + return &v.Phase1 + }).(VpnConnectionTunnel1Phase1PtrOutput) } -// VpnGatewayBgpInput is an input type that accepts VpnGatewayBgpArgs and VpnGatewayBgpOutput values. -// You can construct a concrete instance of `VpnGatewayBgpInput` via: +func (o VpnConnectionTunnel1PtrOutput) Phase2() VpnConnectionTunnel1Phase2PtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1) *VpnConnectionTunnel1Phase2 { + if v == nil { + return nil + } + return &v.Phase2 + }).(VpnConnectionTunnel1Phase2PtrOutput) +} + +// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. +func (o VpnConnectionTunnel1PtrOutput) PreSharedKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1) *string { + if v == nil { + return nil + } + return v.PreSharedKey + }).(pulumi.StringPtrOutput) +} + +// **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. +func (o VpnConnectionTunnel1PtrOutput) PreSharedKeyWo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1) *string { + if v == nil { + return nil + } + return v.PreSharedKeyWo + }).(pulumi.StringPtrOutput) +} + +// 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. +func (o VpnConnectionTunnel1PtrOutput) PreSharedKeyWoVersion() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1) *int { + if v == nil { + return nil + } + return v.PreSharedKeyWoVersion + }).(pulumi.IntPtrOutput) +} + +// Remote IPv4 address for the tunnel endpoint. +func (o VpnConnectionTunnel1PtrOutput) RemoteAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1) *string { + if v == nil { + return nil + } + return &v.RemoteAddress + }).(pulumi.StringPtrOutput) +} + +type VpnConnectionTunnel1Bgp struct { + // Remote ASN for BGP peering (private ASN range, 64512-4294967294). + RemoteAsn int `pulumi:"remoteAsn"` +} + +// VpnConnectionTunnel1BgpInput is an input type that accepts VpnConnectionTunnel1BgpArgs and VpnConnectionTunnel1BgpOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel1BgpInput` via: // -// VpnGatewayBgpArgs{...} -type VpnGatewayBgpInput interface { +// VpnConnectionTunnel1BgpArgs{...} +type VpnConnectionTunnel1BgpInput interface { pulumi.Input - ToVpnGatewayBgpOutput() VpnGatewayBgpOutput - ToVpnGatewayBgpOutputWithContext(context.Context) VpnGatewayBgpOutput + ToVpnConnectionTunnel1BgpOutput() VpnConnectionTunnel1BgpOutput + ToVpnConnectionTunnel1BgpOutputWithContext(context.Context) VpnConnectionTunnel1BgpOutput } -type VpnGatewayBgpArgs struct { - // Local ASN for BGP (private ASN range, 64512-4294967294). - LocalAsn pulumi.IntInput `pulumi:"localAsn"` - // List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. - OverrideAdvertisedRoutes pulumi.StringArrayInput `pulumi:"overrideAdvertisedRoutes"` +type VpnConnectionTunnel1BgpArgs struct { + // Remote ASN for BGP peering (private ASN range, 64512-4294967294). + RemoteAsn pulumi.IntInput `pulumi:"remoteAsn"` } -func (VpnGatewayBgpArgs) ElementType() reflect.Type { - return reflect.TypeOf((*VpnGatewayBgp)(nil)).Elem() +func (VpnConnectionTunnel1BgpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel1Bgp)(nil)).Elem() } -func (i VpnGatewayBgpArgs) ToVpnGatewayBgpOutput() VpnGatewayBgpOutput { - return i.ToVpnGatewayBgpOutputWithContext(context.Background()) +func (i VpnConnectionTunnel1BgpArgs) ToVpnConnectionTunnel1BgpOutput() VpnConnectionTunnel1BgpOutput { + return i.ToVpnConnectionTunnel1BgpOutputWithContext(context.Background()) } -func (i VpnGatewayBgpArgs) ToVpnGatewayBgpOutputWithContext(ctx context.Context) VpnGatewayBgpOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayBgpOutput) +func (i VpnConnectionTunnel1BgpArgs) ToVpnConnectionTunnel1BgpOutputWithContext(ctx context.Context) VpnConnectionTunnel1BgpOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1BgpOutput) } -func (i VpnGatewayBgpArgs) ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput { - return i.ToVpnGatewayBgpPtrOutputWithContext(context.Background()) +func (i VpnConnectionTunnel1BgpArgs) ToVpnConnectionTunnel1BgpPtrOutput() VpnConnectionTunnel1BgpPtrOutput { + return i.ToVpnConnectionTunnel1BgpPtrOutputWithContext(context.Background()) } -func (i VpnGatewayBgpArgs) ToVpnGatewayBgpPtrOutputWithContext(ctx context.Context) VpnGatewayBgpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayBgpOutput).ToVpnGatewayBgpPtrOutputWithContext(ctx) +func (i VpnConnectionTunnel1BgpArgs) ToVpnConnectionTunnel1BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1BgpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1BgpOutput).ToVpnConnectionTunnel1BgpPtrOutputWithContext(ctx) } -// VpnGatewayBgpPtrInput is an input type that accepts VpnGatewayBgpArgs, VpnGatewayBgpPtr and VpnGatewayBgpPtrOutput values. -// You can construct a concrete instance of `VpnGatewayBgpPtrInput` via: +// VpnConnectionTunnel1BgpPtrInput is an input type that accepts VpnConnectionTunnel1BgpArgs, VpnConnectionTunnel1BgpPtr and VpnConnectionTunnel1BgpPtrOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel1BgpPtrInput` via: // -// VpnGatewayBgpArgs{...} +// VpnConnectionTunnel1BgpArgs{...} // // or: // // nil -type VpnGatewayBgpPtrInput interface { +type VpnConnectionTunnel1BgpPtrInput interface { pulumi.Input - ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput - ToVpnGatewayBgpPtrOutputWithContext(context.Context) VpnGatewayBgpPtrOutput + ToVpnConnectionTunnel1BgpPtrOutput() VpnConnectionTunnel1BgpPtrOutput + ToVpnConnectionTunnel1BgpPtrOutputWithContext(context.Context) VpnConnectionTunnel1BgpPtrOutput } -type vpnGatewayBgpPtrType VpnGatewayBgpArgs +type vpnConnectionTunnel1BgpPtrType VpnConnectionTunnel1BgpArgs -func VpnGatewayBgpPtr(v *VpnGatewayBgpArgs) VpnGatewayBgpPtrInput { - return (*vpnGatewayBgpPtrType)(v) +func VpnConnectionTunnel1BgpPtr(v *VpnConnectionTunnel1BgpArgs) VpnConnectionTunnel1BgpPtrInput { + return (*vpnConnectionTunnel1BgpPtrType)(v) } -func (*vpnGatewayBgpPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VpnGatewayBgp)(nil)).Elem() +func (*vpnConnectionTunnel1BgpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel1Bgp)(nil)).Elem() } -func (i *vpnGatewayBgpPtrType) ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput { - return i.ToVpnGatewayBgpPtrOutputWithContext(context.Background()) +func (i *vpnConnectionTunnel1BgpPtrType) ToVpnConnectionTunnel1BgpPtrOutput() VpnConnectionTunnel1BgpPtrOutput { + return i.ToVpnConnectionTunnel1BgpPtrOutputWithContext(context.Background()) } -func (i *vpnGatewayBgpPtrType) ToVpnGatewayBgpPtrOutputWithContext(ctx context.Context) VpnGatewayBgpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayBgpPtrOutput) +func (i *vpnConnectionTunnel1BgpPtrType) ToVpnConnectionTunnel1BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1BgpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1BgpPtrOutput) } -type VpnGatewayBgpOutput struct{ *pulumi.OutputState } +type VpnConnectionTunnel1BgpOutput struct{ *pulumi.OutputState } -func (VpnGatewayBgpOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VpnGatewayBgp)(nil)).Elem() +func (VpnConnectionTunnel1BgpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel1Bgp)(nil)).Elem() } -func (o VpnGatewayBgpOutput) ToVpnGatewayBgpOutput() VpnGatewayBgpOutput { +func (o VpnConnectionTunnel1BgpOutput) ToVpnConnectionTunnel1BgpOutput() VpnConnectionTunnel1BgpOutput { return o } -func (o VpnGatewayBgpOutput) ToVpnGatewayBgpOutputWithContext(ctx context.Context) VpnGatewayBgpOutput { +func (o VpnConnectionTunnel1BgpOutput) ToVpnConnectionTunnel1BgpOutputWithContext(ctx context.Context) VpnConnectionTunnel1BgpOutput { return o } -func (o VpnGatewayBgpOutput) ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput { - return o.ToVpnGatewayBgpPtrOutputWithContext(context.Background()) +func (o VpnConnectionTunnel1BgpOutput) ToVpnConnectionTunnel1BgpPtrOutput() VpnConnectionTunnel1BgpPtrOutput { + return o.ToVpnConnectionTunnel1BgpPtrOutputWithContext(context.Background()) } -func (o VpnGatewayBgpOutput) ToVpnGatewayBgpPtrOutputWithContext(ctx context.Context) VpnGatewayBgpPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnGatewayBgp) *VpnGatewayBgp { +func (o VpnConnectionTunnel1BgpOutput) ToVpnConnectionTunnel1BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1BgpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel1Bgp) *VpnConnectionTunnel1Bgp { return &v - }).(VpnGatewayBgpPtrOutput) -} - -// Local ASN for BGP (private ASN range, 64512-4294967294). -func (o VpnGatewayBgpOutput) LocalAsn() pulumi.IntOutput { - return o.ApplyT(func(v VpnGatewayBgp) int { return v.LocalAsn }).(pulumi.IntOutput) + }).(VpnConnectionTunnel1BgpPtrOutput) } -// List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. -func (o VpnGatewayBgpOutput) OverrideAdvertisedRoutes() pulumi.StringArrayOutput { - return o.ApplyT(func(v VpnGatewayBgp) []string { return v.OverrideAdvertisedRoutes }).(pulumi.StringArrayOutput) +// Remote ASN for BGP peering (private ASN range, 64512-4294967294). +func (o VpnConnectionTunnel1BgpOutput) RemoteAsn() pulumi.IntOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Bgp) int { return v.RemoteAsn }).(pulumi.IntOutput) } -type VpnGatewayBgpPtrOutput struct{ *pulumi.OutputState } +type VpnConnectionTunnel1BgpPtrOutput struct{ *pulumi.OutputState } -func (VpnGatewayBgpPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VpnGatewayBgp)(nil)).Elem() +func (VpnConnectionTunnel1BgpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel1Bgp)(nil)).Elem() } -func (o VpnGatewayBgpPtrOutput) ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput { +func (o VpnConnectionTunnel1BgpPtrOutput) ToVpnConnectionTunnel1BgpPtrOutput() VpnConnectionTunnel1BgpPtrOutput { return o } -func (o VpnGatewayBgpPtrOutput) ToVpnGatewayBgpPtrOutputWithContext(ctx context.Context) VpnGatewayBgpPtrOutput { +func (o VpnConnectionTunnel1BgpPtrOutput) ToVpnConnectionTunnel1BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1BgpPtrOutput { return o } -func (o VpnGatewayBgpPtrOutput) Elem() VpnGatewayBgpOutput { - return o.ApplyT(func(v *VpnGatewayBgp) VpnGatewayBgp { +func (o VpnConnectionTunnel1BgpPtrOutput) Elem() VpnConnectionTunnel1BgpOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Bgp) VpnConnectionTunnel1Bgp { if v != nil { return *v } - var ret VpnGatewayBgp + var ret VpnConnectionTunnel1Bgp return ret - }).(VpnGatewayBgpOutput) + }).(VpnConnectionTunnel1BgpOutput) } -// Local ASN for BGP (private ASN range, 64512-4294967294). -func (o VpnGatewayBgpPtrOutput) LocalAsn() pulumi.IntPtrOutput { - return o.ApplyT(func(v *VpnGatewayBgp) *int { +// Remote ASN for BGP peering (private ASN range, 64512-4294967294). +func (o VpnConnectionTunnel1BgpPtrOutput) RemoteAsn() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Bgp) *int { if v == nil { return nil } - return &v.LocalAsn + return &v.RemoteAsn }).(pulumi.IntPtrOutput) } -// List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. -func (o VpnGatewayBgpPtrOutput) OverrideAdvertisedRoutes() pulumi.StringArrayOutput { - return o.ApplyT(func(v *VpnGatewayBgp) []string { - if v == nil { - return nil - } - return v.OverrideAdvertisedRoutes - }).(pulumi.StringArrayOutput) -} - -type GetApplicationLoadBalancerError struct { - // The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. - Description string `pulumi:"description"` - // The error type specifies which part of the Application Load Balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the Application Load Balancer with try to use the provided IP and if not available reports TYPE*FIP*NOT_CONFIGURED error. Possible values are: `TYPE_UNSPECIFIED`, `TYPE_INTERNAL`, `TYPE_QUOTA_SECGROUP_EXCEEDED`, `TYPE_QUOTA_SECGROUPRULE_EXCEEDED`, `TYPE_PORT_NOT_CONFIGURED`, `TYPE_FIP_NOT_CONFIGURED`, `TYPE_TARGET_NOT_ACTIVE`, `TYPE_METRICS_MISCONFIGURED`, `TYPE_LOGS_MISCONFIGURED`. - Type string `pulumi:"type"` +type VpnConnectionTunnel1Peering struct { + // Local tunnel interface IPv4 address. + LocalAddress string `pulumi:"localAddress"` + // Remote tunnel interface IPv4 address. + RemoteAddress string `pulumi:"remoteAddress"` } -// GetApplicationLoadBalancerErrorInput is an input type that accepts GetApplicationLoadBalancerErrorArgs and GetApplicationLoadBalancerErrorOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerErrorInput` via: +// VpnConnectionTunnel1PeeringInput is an input type that accepts VpnConnectionTunnel1PeeringArgs and VpnConnectionTunnel1PeeringOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel1PeeringInput` via: // -// GetApplicationLoadBalancerErrorArgs{...} -type GetApplicationLoadBalancerErrorInput interface { +// VpnConnectionTunnel1PeeringArgs{...} +type VpnConnectionTunnel1PeeringInput interface { pulumi.Input - ToGetApplicationLoadBalancerErrorOutput() GetApplicationLoadBalancerErrorOutput - ToGetApplicationLoadBalancerErrorOutputWithContext(context.Context) GetApplicationLoadBalancerErrorOutput + ToVpnConnectionTunnel1PeeringOutput() VpnConnectionTunnel1PeeringOutput + ToVpnConnectionTunnel1PeeringOutputWithContext(context.Context) VpnConnectionTunnel1PeeringOutput } -type GetApplicationLoadBalancerErrorArgs struct { - // The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. - Description pulumi.StringInput `pulumi:"description"` - // The error type specifies which part of the Application Load Balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the Application Load Balancer with try to use the provided IP and if not available reports TYPE*FIP*NOT_CONFIGURED error. Possible values are: `TYPE_UNSPECIFIED`, `TYPE_INTERNAL`, `TYPE_QUOTA_SECGROUP_EXCEEDED`, `TYPE_QUOTA_SECGROUPRULE_EXCEEDED`, `TYPE_PORT_NOT_CONFIGURED`, `TYPE_FIP_NOT_CONFIGURED`, `TYPE_TARGET_NOT_ACTIVE`, `TYPE_METRICS_MISCONFIGURED`, `TYPE_LOGS_MISCONFIGURED`. - Type pulumi.StringInput `pulumi:"type"` +type VpnConnectionTunnel1PeeringArgs struct { + // Local tunnel interface IPv4 address. + LocalAddress pulumi.StringInput `pulumi:"localAddress"` + // Remote tunnel interface IPv4 address. + RemoteAddress pulumi.StringInput `pulumi:"remoteAddress"` } -func (GetApplicationLoadBalancerErrorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerError)(nil)).Elem() +func (VpnConnectionTunnel1PeeringArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel1Peering)(nil)).Elem() } -func (i GetApplicationLoadBalancerErrorArgs) ToGetApplicationLoadBalancerErrorOutput() GetApplicationLoadBalancerErrorOutput { - return i.ToGetApplicationLoadBalancerErrorOutputWithContext(context.Background()) +func (i VpnConnectionTunnel1PeeringArgs) ToVpnConnectionTunnel1PeeringOutput() VpnConnectionTunnel1PeeringOutput { + return i.ToVpnConnectionTunnel1PeeringOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerErrorArgs) ToGetApplicationLoadBalancerErrorOutputWithContext(ctx context.Context) GetApplicationLoadBalancerErrorOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerErrorOutput) +func (i VpnConnectionTunnel1PeeringArgs) ToVpnConnectionTunnel1PeeringOutputWithContext(ctx context.Context) VpnConnectionTunnel1PeeringOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1PeeringOutput) } -// GetApplicationLoadBalancerErrorArrayInput is an input type that accepts GetApplicationLoadBalancerErrorArray and GetApplicationLoadBalancerErrorArrayOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerErrorArrayInput` via: +func (i VpnConnectionTunnel1PeeringArgs) ToVpnConnectionTunnel1PeeringPtrOutput() VpnConnectionTunnel1PeeringPtrOutput { + return i.ToVpnConnectionTunnel1PeeringPtrOutputWithContext(context.Background()) +} + +func (i VpnConnectionTunnel1PeeringArgs) ToVpnConnectionTunnel1PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PeeringPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1PeeringOutput).ToVpnConnectionTunnel1PeeringPtrOutputWithContext(ctx) +} + +// VpnConnectionTunnel1PeeringPtrInput is an input type that accepts VpnConnectionTunnel1PeeringArgs, VpnConnectionTunnel1PeeringPtr and VpnConnectionTunnel1PeeringPtrOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel1PeeringPtrInput` via: // -// GetApplicationLoadBalancerErrorArray{ GetApplicationLoadBalancerErrorArgs{...} } -type GetApplicationLoadBalancerErrorArrayInput interface { +// VpnConnectionTunnel1PeeringArgs{...} +// +// or: +// +// nil +type VpnConnectionTunnel1PeeringPtrInput interface { pulumi.Input - ToGetApplicationLoadBalancerErrorArrayOutput() GetApplicationLoadBalancerErrorArrayOutput - ToGetApplicationLoadBalancerErrorArrayOutputWithContext(context.Context) GetApplicationLoadBalancerErrorArrayOutput + ToVpnConnectionTunnel1PeeringPtrOutput() VpnConnectionTunnel1PeeringPtrOutput + ToVpnConnectionTunnel1PeeringPtrOutputWithContext(context.Context) VpnConnectionTunnel1PeeringPtrOutput } -type GetApplicationLoadBalancerErrorArray []GetApplicationLoadBalancerErrorInput +type vpnConnectionTunnel1PeeringPtrType VpnConnectionTunnel1PeeringArgs -func (GetApplicationLoadBalancerErrorArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerError)(nil)).Elem() +func VpnConnectionTunnel1PeeringPtr(v *VpnConnectionTunnel1PeeringArgs) VpnConnectionTunnel1PeeringPtrInput { + return (*vpnConnectionTunnel1PeeringPtrType)(v) } -func (i GetApplicationLoadBalancerErrorArray) ToGetApplicationLoadBalancerErrorArrayOutput() GetApplicationLoadBalancerErrorArrayOutput { - return i.ToGetApplicationLoadBalancerErrorArrayOutputWithContext(context.Background()) +func (*vpnConnectionTunnel1PeeringPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel1Peering)(nil)).Elem() } -func (i GetApplicationLoadBalancerErrorArray) ToGetApplicationLoadBalancerErrorArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerErrorArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerErrorArrayOutput) +func (i *vpnConnectionTunnel1PeeringPtrType) ToVpnConnectionTunnel1PeeringPtrOutput() VpnConnectionTunnel1PeeringPtrOutput { + return i.ToVpnConnectionTunnel1PeeringPtrOutputWithContext(context.Background()) } -type GetApplicationLoadBalancerErrorOutput struct{ *pulumi.OutputState } +func (i *vpnConnectionTunnel1PeeringPtrType) ToVpnConnectionTunnel1PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PeeringPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1PeeringPtrOutput) +} -func (GetApplicationLoadBalancerErrorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerError)(nil)).Elem() +type VpnConnectionTunnel1PeeringOutput struct{ *pulumi.OutputState } + +func (VpnConnectionTunnel1PeeringOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel1Peering)(nil)).Elem() } -func (o GetApplicationLoadBalancerErrorOutput) ToGetApplicationLoadBalancerErrorOutput() GetApplicationLoadBalancerErrorOutput { +func (o VpnConnectionTunnel1PeeringOutput) ToVpnConnectionTunnel1PeeringOutput() VpnConnectionTunnel1PeeringOutput { return o } -func (o GetApplicationLoadBalancerErrorOutput) ToGetApplicationLoadBalancerErrorOutputWithContext(ctx context.Context) GetApplicationLoadBalancerErrorOutput { +func (o VpnConnectionTunnel1PeeringOutput) ToVpnConnectionTunnel1PeeringOutputWithContext(ctx context.Context) VpnConnectionTunnel1PeeringOutput { return o } -// The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. -func (o GetApplicationLoadBalancerErrorOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerError) string { return v.Description }).(pulumi.StringOutput) +func (o VpnConnectionTunnel1PeeringOutput) ToVpnConnectionTunnel1PeeringPtrOutput() VpnConnectionTunnel1PeeringPtrOutput { + return o.ToVpnConnectionTunnel1PeeringPtrOutputWithContext(context.Background()) } -// The error type specifies which part of the Application Load Balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the Application Load Balancer with try to use the provided IP and if not available reports TYPE*FIP*NOT_CONFIGURED error. Possible values are: `TYPE_UNSPECIFIED`, `TYPE_INTERNAL`, `TYPE_QUOTA_SECGROUP_EXCEEDED`, `TYPE_QUOTA_SECGROUPRULE_EXCEEDED`, `TYPE_PORT_NOT_CONFIGURED`, `TYPE_FIP_NOT_CONFIGURED`, `TYPE_TARGET_NOT_ACTIVE`, `TYPE_METRICS_MISCONFIGURED`, `TYPE_LOGS_MISCONFIGURED`. -func (o GetApplicationLoadBalancerErrorOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerError) string { return v.Type }).(pulumi.StringOutput) +func (o VpnConnectionTunnel1PeeringOutput) ToVpnConnectionTunnel1PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PeeringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel1Peering) *VpnConnectionTunnel1Peering { + return &v + }).(VpnConnectionTunnel1PeeringPtrOutput) } -type GetApplicationLoadBalancerErrorArrayOutput struct{ *pulumi.OutputState } +// Local tunnel interface IPv4 address. +func (o VpnConnectionTunnel1PeeringOutput) LocalAddress() pulumi.StringOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Peering) string { return v.LocalAddress }).(pulumi.StringOutput) +} -func (GetApplicationLoadBalancerErrorArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerError)(nil)).Elem() +// Remote tunnel interface IPv4 address. +func (o VpnConnectionTunnel1PeeringOutput) RemoteAddress() pulumi.StringOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Peering) string { return v.RemoteAddress }).(pulumi.StringOutput) } -func (o GetApplicationLoadBalancerErrorArrayOutput) ToGetApplicationLoadBalancerErrorArrayOutput() GetApplicationLoadBalancerErrorArrayOutput { +type VpnConnectionTunnel1PeeringPtrOutput struct{ *pulumi.OutputState } + +func (VpnConnectionTunnel1PeeringPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel1Peering)(nil)).Elem() +} + +func (o VpnConnectionTunnel1PeeringPtrOutput) ToVpnConnectionTunnel1PeeringPtrOutput() VpnConnectionTunnel1PeeringPtrOutput { return o } -func (o GetApplicationLoadBalancerErrorArrayOutput) ToGetApplicationLoadBalancerErrorArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerErrorArrayOutput { +func (o VpnConnectionTunnel1PeeringPtrOutput) ToVpnConnectionTunnel1PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1PeeringPtrOutput { return o } -func (o GetApplicationLoadBalancerErrorArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerErrorOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerError { - return vs[0].([]GetApplicationLoadBalancerError)[vs[1].(int)] - }).(GetApplicationLoadBalancerErrorOutput) +func (o VpnConnectionTunnel1PeeringPtrOutput) Elem() VpnConnectionTunnel1PeeringOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Peering) VpnConnectionTunnel1Peering { + if v != nil { + return *v + } + var ret VpnConnectionTunnel1Peering + return ret + }).(VpnConnectionTunnel1PeeringOutput) } -type GetApplicationLoadBalancerListener struct { - // Configuration for HTTP traffic. - Http GetApplicationLoadBalancerListenerHttp `pulumi:"http"` - // Configuration for handling HTTPS traffic on this listener. - Https GetApplicationLoadBalancerListenerHttps `pulumi:"https"` - // Unique name for the listener - Name string `pulumi:"name"` - // Port number on which the listener receives incoming traffic. - Port int `pulumi:"port"` - // Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`. - Protocol string `pulumi:"protocol"` - // Enable Web Application Firewall (WAF), referenced by name. See "Application Load Balancer - Web Application Firewall API" for more information. - WafConfigName string `pulumi:"wafConfigName"` +// Local tunnel interface IPv4 address. +func (o VpnConnectionTunnel1PeeringPtrOutput) LocalAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Peering) *string { + if v == nil { + return nil + } + return &v.LocalAddress + }).(pulumi.StringPtrOutput) } -// GetApplicationLoadBalancerListenerInput is an input type that accepts GetApplicationLoadBalancerListenerArgs and GetApplicationLoadBalancerListenerOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerInput` via: +// Remote tunnel interface IPv4 address. +func (o VpnConnectionTunnel1PeeringPtrOutput) RemoteAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Peering) *string { + if v == nil { + return nil + } + return &v.RemoteAddress + }).(pulumi.StringPtrOutput) +} + +type VpnConnectionTunnel1Phase1 struct { + // Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + DhGroups []string `pulumi:"dhGroups"` + // Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + EncryptionAlgorithms []string `pulumi:"encryptionAlgorithms"` + // Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. + IntegrityAlgorithms []string `pulumi:"integrityAlgorithms"` + // Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. + RekeyTime *int `pulumi:"rekeyTime"` +} + +// VpnConnectionTunnel1Phase1Input is an input type that accepts VpnConnectionTunnel1Phase1Args and VpnConnectionTunnel1Phase1Output values. +// You can construct a concrete instance of `VpnConnectionTunnel1Phase1Input` via: // -// GetApplicationLoadBalancerListenerArgs{...} -type GetApplicationLoadBalancerListenerInput interface { +// VpnConnectionTunnel1Phase1Args{...} +type VpnConnectionTunnel1Phase1Input interface { pulumi.Input - ToGetApplicationLoadBalancerListenerOutput() GetApplicationLoadBalancerListenerOutput - ToGetApplicationLoadBalancerListenerOutputWithContext(context.Context) GetApplicationLoadBalancerListenerOutput + ToVpnConnectionTunnel1Phase1Output() VpnConnectionTunnel1Phase1Output + ToVpnConnectionTunnel1Phase1OutputWithContext(context.Context) VpnConnectionTunnel1Phase1Output } -type GetApplicationLoadBalancerListenerArgs struct { - // Configuration for HTTP traffic. - Http GetApplicationLoadBalancerListenerHttpInput `pulumi:"http"` - // Configuration for handling HTTPS traffic on this listener. - Https GetApplicationLoadBalancerListenerHttpsInput `pulumi:"https"` - // Unique name for the listener - Name pulumi.StringInput `pulumi:"name"` - // Port number on which the listener receives incoming traffic. - Port pulumi.IntInput `pulumi:"port"` - // Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`. - Protocol pulumi.StringInput `pulumi:"protocol"` - // Enable Web Application Firewall (WAF), referenced by name. See "Application Load Balancer - Web Application Firewall API" for more information. - WafConfigName pulumi.StringInput `pulumi:"wafConfigName"` +type VpnConnectionTunnel1Phase1Args struct { + // Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + DhGroups pulumi.StringArrayInput `pulumi:"dhGroups"` + // Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + EncryptionAlgorithms pulumi.StringArrayInput `pulumi:"encryptionAlgorithms"` + // Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. + IntegrityAlgorithms pulumi.StringArrayInput `pulumi:"integrityAlgorithms"` + // Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. + RekeyTime pulumi.IntPtrInput `pulumi:"rekeyTime"` } -func (GetApplicationLoadBalancerListenerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListener)(nil)).Elem() +func (VpnConnectionTunnel1Phase1Args) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel1Phase1)(nil)).Elem() } -func (i GetApplicationLoadBalancerListenerArgs) ToGetApplicationLoadBalancerListenerOutput() GetApplicationLoadBalancerListenerOutput { - return i.ToGetApplicationLoadBalancerListenerOutputWithContext(context.Background()) +func (i VpnConnectionTunnel1Phase1Args) ToVpnConnectionTunnel1Phase1Output() VpnConnectionTunnel1Phase1Output { + return i.ToVpnConnectionTunnel1Phase1OutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerListenerArgs) ToGetApplicationLoadBalancerListenerOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerOutput) +func (i VpnConnectionTunnel1Phase1Args) ToVpnConnectionTunnel1Phase1OutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase1Output { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Phase1Output) } -// GetApplicationLoadBalancerListenerArrayInput is an input type that accepts GetApplicationLoadBalancerListenerArray and GetApplicationLoadBalancerListenerArrayOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerArrayInput` via: +func (i VpnConnectionTunnel1Phase1Args) ToVpnConnectionTunnel1Phase1PtrOutput() VpnConnectionTunnel1Phase1PtrOutput { + return i.ToVpnConnectionTunnel1Phase1PtrOutputWithContext(context.Background()) +} + +func (i VpnConnectionTunnel1Phase1Args) ToVpnConnectionTunnel1Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase1PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Phase1Output).ToVpnConnectionTunnel1Phase1PtrOutputWithContext(ctx) +} + +// VpnConnectionTunnel1Phase1PtrInput is an input type that accepts VpnConnectionTunnel1Phase1Args, VpnConnectionTunnel1Phase1Ptr and VpnConnectionTunnel1Phase1PtrOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel1Phase1PtrInput` via: // -// GetApplicationLoadBalancerListenerArray{ GetApplicationLoadBalancerListenerArgs{...} } -type GetApplicationLoadBalancerListenerArrayInput interface { +// VpnConnectionTunnel1Phase1Args{...} +// +// or: +// +// nil +type VpnConnectionTunnel1Phase1PtrInput interface { pulumi.Input - ToGetApplicationLoadBalancerListenerArrayOutput() GetApplicationLoadBalancerListenerArrayOutput - ToGetApplicationLoadBalancerListenerArrayOutputWithContext(context.Context) GetApplicationLoadBalancerListenerArrayOutput + ToVpnConnectionTunnel1Phase1PtrOutput() VpnConnectionTunnel1Phase1PtrOutput + ToVpnConnectionTunnel1Phase1PtrOutputWithContext(context.Context) VpnConnectionTunnel1Phase1PtrOutput } -type GetApplicationLoadBalancerListenerArray []GetApplicationLoadBalancerListenerInput +type vpnConnectionTunnel1Phase1PtrType VpnConnectionTunnel1Phase1Args -func (GetApplicationLoadBalancerListenerArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerListener)(nil)).Elem() +func VpnConnectionTunnel1Phase1Ptr(v *VpnConnectionTunnel1Phase1Args) VpnConnectionTunnel1Phase1PtrInput { + return (*vpnConnectionTunnel1Phase1PtrType)(v) } -func (i GetApplicationLoadBalancerListenerArray) ToGetApplicationLoadBalancerListenerArrayOutput() GetApplicationLoadBalancerListenerArrayOutput { - return i.ToGetApplicationLoadBalancerListenerArrayOutputWithContext(context.Background()) +func (*vpnConnectionTunnel1Phase1PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel1Phase1)(nil)).Elem() } -func (i GetApplicationLoadBalancerListenerArray) ToGetApplicationLoadBalancerListenerArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerArrayOutput) +func (i *vpnConnectionTunnel1Phase1PtrType) ToVpnConnectionTunnel1Phase1PtrOutput() VpnConnectionTunnel1Phase1PtrOutput { + return i.ToVpnConnectionTunnel1Phase1PtrOutputWithContext(context.Background()) } -type GetApplicationLoadBalancerListenerOutput struct{ *pulumi.OutputState } +func (i *vpnConnectionTunnel1Phase1PtrType) ToVpnConnectionTunnel1Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase1PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Phase1PtrOutput) +} -func (GetApplicationLoadBalancerListenerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListener)(nil)).Elem() +type VpnConnectionTunnel1Phase1Output struct{ *pulumi.OutputState } + +func (VpnConnectionTunnel1Phase1Output) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel1Phase1)(nil)).Elem() } -func (o GetApplicationLoadBalancerListenerOutput) ToGetApplicationLoadBalancerListenerOutput() GetApplicationLoadBalancerListenerOutput { +func (o VpnConnectionTunnel1Phase1Output) ToVpnConnectionTunnel1Phase1Output() VpnConnectionTunnel1Phase1Output { return o } -func (o GetApplicationLoadBalancerListenerOutput) ToGetApplicationLoadBalancerListenerOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerOutput { +func (o VpnConnectionTunnel1Phase1Output) ToVpnConnectionTunnel1Phase1OutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase1Output { return o } -// Configuration for HTTP traffic. -func (o GetApplicationLoadBalancerListenerOutput) Http() GetApplicationLoadBalancerListenerHttpOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListener) GetApplicationLoadBalancerListenerHttp { return v.Http }).(GetApplicationLoadBalancerListenerHttpOutput) +func (o VpnConnectionTunnel1Phase1Output) ToVpnConnectionTunnel1Phase1PtrOutput() VpnConnectionTunnel1Phase1PtrOutput { + return o.ToVpnConnectionTunnel1Phase1PtrOutputWithContext(context.Background()) } -// Configuration for handling HTTPS traffic on this listener. -func (o GetApplicationLoadBalancerListenerOutput) Https() GetApplicationLoadBalancerListenerHttpsOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListener) GetApplicationLoadBalancerListenerHttps { return v.Https }).(GetApplicationLoadBalancerListenerHttpsOutput) +func (o VpnConnectionTunnel1Phase1Output) ToVpnConnectionTunnel1Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase1PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel1Phase1) *VpnConnectionTunnel1Phase1 { + return &v + }).(VpnConnectionTunnel1Phase1PtrOutput) } -// Unique name for the listener -func (o GetApplicationLoadBalancerListenerOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListener) string { return v.Name }).(pulumi.StringOutput) +// Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. +func (o VpnConnectionTunnel1Phase1Output) DhGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Phase1) []string { return v.DhGroups }).(pulumi.StringArrayOutput) } -// Port number on which the listener receives incoming traffic. -func (o GetApplicationLoadBalancerListenerOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListener) int { return v.Port }).(pulumi.IntOutput) +// Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. +func (o VpnConnectionTunnel1Phase1Output) EncryptionAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Phase1) []string { return v.EncryptionAlgorithms }).(pulumi.StringArrayOutput) } -// Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`. -func (o GetApplicationLoadBalancerListenerOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListener) string { return v.Protocol }).(pulumi.StringOutput) +// Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. +func (o VpnConnectionTunnel1Phase1Output) IntegrityAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Phase1) []string { return v.IntegrityAlgorithms }).(pulumi.StringArrayOutput) } -// Enable Web Application Firewall (WAF), referenced by name. See "Application Load Balancer - Web Application Firewall API" for more information. -func (o GetApplicationLoadBalancerListenerOutput) WafConfigName() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListener) string { return v.WafConfigName }).(pulumi.StringOutput) +// Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. +func (o VpnConnectionTunnel1Phase1Output) RekeyTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Phase1) *int { return v.RekeyTime }).(pulumi.IntPtrOutput) } -type GetApplicationLoadBalancerListenerArrayOutput struct{ *pulumi.OutputState } +type VpnConnectionTunnel1Phase1PtrOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerListenerArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerListener)(nil)).Elem() +func (VpnConnectionTunnel1Phase1PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel1Phase1)(nil)).Elem() } -func (o GetApplicationLoadBalancerListenerArrayOutput) ToGetApplicationLoadBalancerListenerArrayOutput() GetApplicationLoadBalancerListenerArrayOutput { +func (o VpnConnectionTunnel1Phase1PtrOutput) ToVpnConnectionTunnel1Phase1PtrOutput() VpnConnectionTunnel1Phase1PtrOutput { return o } -func (o GetApplicationLoadBalancerListenerArrayOutput) ToGetApplicationLoadBalancerListenerArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerArrayOutput { +func (o VpnConnectionTunnel1Phase1PtrOutput) ToVpnConnectionTunnel1Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase1PtrOutput { return o } -func (o GetApplicationLoadBalancerListenerArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerListenerOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerListener { - return vs[0].([]GetApplicationLoadBalancerListener)[vs[1].(int)] - }).(GetApplicationLoadBalancerListenerOutput) +func (o VpnConnectionTunnel1Phase1PtrOutput) Elem() VpnConnectionTunnel1Phase1Output { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase1) VpnConnectionTunnel1Phase1 { + if v != nil { + return *v + } + var ret VpnConnectionTunnel1Phase1 + return ret + }).(VpnConnectionTunnel1Phase1Output) } -type GetApplicationLoadBalancerListenerHttp struct { - // Defines routing rules grouped by hostname. - Hosts []GetApplicationLoadBalancerListenerHttpHost `pulumi:"hosts"` +// Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. +func (o VpnConnectionTunnel1Phase1PtrOutput) DhGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase1) []string { + if v == nil { + return nil + } + return v.DhGroups + }).(pulumi.StringArrayOutput) } -// GetApplicationLoadBalancerListenerHttpInput is an input type that accepts GetApplicationLoadBalancerListenerHttpArgs and GetApplicationLoadBalancerListenerHttpOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpInput` via: -// -// GetApplicationLoadBalancerListenerHttpArgs{...} -type GetApplicationLoadBalancerListenerHttpInput interface { - pulumi.Input - - ToGetApplicationLoadBalancerListenerHttpOutput() GetApplicationLoadBalancerListenerHttpOutput - ToGetApplicationLoadBalancerListenerHttpOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpOutput +// Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. +func (o VpnConnectionTunnel1Phase1PtrOutput) EncryptionAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase1) []string { + if v == nil { + return nil + } + return v.EncryptionAlgorithms + }).(pulumi.StringArrayOutput) } -type GetApplicationLoadBalancerListenerHttpArgs struct { - // Defines routing rules grouped by hostname. - Hosts GetApplicationLoadBalancerListenerHttpHostArrayInput `pulumi:"hosts"` +// Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. +func (o VpnConnectionTunnel1Phase1PtrOutput) IntegrityAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase1) []string { + if v == nil { + return nil + } + return v.IntegrityAlgorithms + }).(pulumi.StringArrayOutput) } -func (GetApplicationLoadBalancerListenerHttpArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttp)(nil)).Elem() +// Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. +func (o VpnConnectionTunnel1Phase1PtrOutput) RekeyTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase1) *int { + if v == nil { + return nil + } + return v.RekeyTime + }).(pulumi.IntPtrOutput) } -func (i GetApplicationLoadBalancerListenerHttpArgs) ToGetApplicationLoadBalancerListenerHttpOutput() GetApplicationLoadBalancerListenerHttpOutput { - return i.ToGetApplicationLoadBalancerListenerHttpOutputWithContext(context.Background()) +type VpnConnectionTunnel1Phase2 struct { + // Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + DhGroups []string `pulumi:"dhGroups"` + // Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. + DpdAction *string `pulumi:"dpdAction"` + // Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + EncryptionAlgorithms []string `pulumi:"encryptionAlgorithms"` + // Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. + IntegrityAlgorithms []string `pulumi:"integrityAlgorithms"` + // Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + RekeyTime *int `pulumi:"rekeyTime"` + // Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. + StartAction *string `pulumi:"startAction"` } -func (i GetApplicationLoadBalancerListenerHttpArgs) ToGetApplicationLoadBalancerListenerHttpOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpOutput) +// VpnConnectionTunnel1Phase2Input is an input type that accepts VpnConnectionTunnel1Phase2Args and VpnConnectionTunnel1Phase2Output values. +// You can construct a concrete instance of `VpnConnectionTunnel1Phase2Input` via: +// +// VpnConnectionTunnel1Phase2Args{...} +type VpnConnectionTunnel1Phase2Input interface { + pulumi.Input + + ToVpnConnectionTunnel1Phase2Output() VpnConnectionTunnel1Phase2Output + ToVpnConnectionTunnel1Phase2OutputWithContext(context.Context) VpnConnectionTunnel1Phase2Output } -type GetApplicationLoadBalancerListenerHttpOutput struct{ *pulumi.OutputState } +type VpnConnectionTunnel1Phase2Args struct { + // Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + DhGroups pulumi.StringArrayInput `pulumi:"dhGroups"` + // Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. + DpdAction pulumi.StringPtrInput `pulumi:"dpdAction"` + // Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + EncryptionAlgorithms pulumi.StringArrayInput `pulumi:"encryptionAlgorithms"` + // Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. + IntegrityAlgorithms pulumi.StringArrayInput `pulumi:"integrityAlgorithms"` + // Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + RekeyTime pulumi.IntPtrInput `pulumi:"rekeyTime"` + // Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. + StartAction pulumi.StringPtrInput `pulumi:"startAction"` +} -func (GetApplicationLoadBalancerListenerHttpOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttp)(nil)).Elem() +func (VpnConnectionTunnel1Phase2Args) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel1Phase2)(nil)).Elem() } -func (o GetApplicationLoadBalancerListenerHttpOutput) ToGetApplicationLoadBalancerListenerHttpOutput() GetApplicationLoadBalancerListenerHttpOutput { - return o +func (i VpnConnectionTunnel1Phase2Args) ToVpnConnectionTunnel1Phase2Output() VpnConnectionTunnel1Phase2Output { + return i.ToVpnConnectionTunnel1Phase2OutputWithContext(context.Background()) } -func (o GetApplicationLoadBalancerListenerHttpOutput) ToGetApplicationLoadBalancerListenerHttpOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpOutput { - return o +func (i VpnConnectionTunnel1Phase2Args) ToVpnConnectionTunnel1Phase2OutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase2Output { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Phase2Output) } -// Defines routing rules grouped by hostname. -func (o GetApplicationLoadBalancerListenerHttpOutput) Hosts() GetApplicationLoadBalancerListenerHttpHostArrayOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttp) []GetApplicationLoadBalancerListenerHttpHost { - return v.Hosts - }).(GetApplicationLoadBalancerListenerHttpHostArrayOutput) +func (i VpnConnectionTunnel1Phase2Args) ToVpnConnectionTunnel1Phase2PtrOutput() VpnConnectionTunnel1Phase2PtrOutput { + return i.ToVpnConnectionTunnel1Phase2PtrOutputWithContext(context.Background()) } -type GetApplicationLoadBalancerListenerHttpHost struct { - // Hostname to match. Supports wildcards (e.g. *.example.com). - Host string `pulumi:"host"` - // Routing rules under the specified host, matched by path prefix. - Rules []GetApplicationLoadBalancerListenerHttpHostRule `pulumi:"rules"` +func (i VpnConnectionTunnel1Phase2Args) ToVpnConnectionTunnel1Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Phase2Output).ToVpnConnectionTunnel1Phase2PtrOutputWithContext(ctx) } -// GetApplicationLoadBalancerListenerHttpHostInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostArgs and GetApplicationLoadBalancerListenerHttpHostOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostInput` via: +// VpnConnectionTunnel1Phase2PtrInput is an input type that accepts VpnConnectionTunnel1Phase2Args, VpnConnectionTunnel1Phase2Ptr and VpnConnectionTunnel1Phase2PtrOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel1Phase2PtrInput` via: // -// GetApplicationLoadBalancerListenerHttpHostArgs{...} -type GetApplicationLoadBalancerListenerHttpHostInput interface { +// VpnConnectionTunnel1Phase2Args{...} +// +// or: +// +// nil +type VpnConnectionTunnel1Phase2PtrInput interface { pulumi.Input - ToGetApplicationLoadBalancerListenerHttpHostOutput() GetApplicationLoadBalancerListenerHttpHostOutput - ToGetApplicationLoadBalancerListenerHttpHostOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostOutput + ToVpnConnectionTunnel1Phase2PtrOutput() VpnConnectionTunnel1Phase2PtrOutput + ToVpnConnectionTunnel1Phase2PtrOutputWithContext(context.Context) VpnConnectionTunnel1Phase2PtrOutput } -type GetApplicationLoadBalancerListenerHttpHostArgs struct { - // Hostname to match. Supports wildcards (e.g. *.example.com). - Host pulumi.StringInput `pulumi:"host"` - // Routing rules under the specified host, matched by path prefix. - Rules GetApplicationLoadBalancerListenerHttpHostRuleArrayInput `pulumi:"rules"` +type vpnConnectionTunnel1Phase2PtrType VpnConnectionTunnel1Phase2Args + +func VpnConnectionTunnel1Phase2Ptr(v *VpnConnectionTunnel1Phase2Args) VpnConnectionTunnel1Phase2PtrInput { + return (*vpnConnectionTunnel1Phase2PtrType)(v) } -func (GetApplicationLoadBalancerListenerHttpHostArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHost)(nil)).Elem() +func (*vpnConnectionTunnel1Phase2PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel1Phase2)(nil)).Elem() } -func (i GetApplicationLoadBalancerListenerHttpHostArgs) ToGetApplicationLoadBalancerListenerHttpHostOutput() GetApplicationLoadBalancerListenerHttpHostOutput { - return i.ToGetApplicationLoadBalancerListenerHttpHostOutputWithContext(context.Background()) +func (i *vpnConnectionTunnel1Phase2PtrType) ToVpnConnectionTunnel1Phase2PtrOutput() VpnConnectionTunnel1Phase2PtrOutput { + return i.ToVpnConnectionTunnel1Phase2PtrOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerListenerHttpHostArgs) ToGetApplicationLoadBalancerListenerHttpHostOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostOutput) +func (i *vpnConnectionTunnel1Phase2PtrType) ToVpnConnectionTunnel1Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel1Phase2PtrOutput) } -// GetApplicationLoadBalancerListenerHttpHostArrayInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostArray and GetApplicationLoadBalancerListenerHttpHostArrayOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostArrayInput` via: -// -// GetApplicationLoadBalancerListenerHttpHostArray{ GetApplicationLoadBalancerListenerHttpHostArgs{...} } -type GetApplicationLoadBalancerListenerHttpHostArrayInput interface { - pulumi.Input +type VpnConnectionTunnel1Phase2Output struct{ *pulumi.OutputState } - ToGetApplicationLoadBalancerListenerHttpHostArrayOutput() GetApplicationLoadBalancerListenerHttpHostArrayOutput - ToGetApplicationLoadBalancerListenerHttpHostArrayOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostArrayOutput +func (VpnConnectionTunnel1Phase2Output) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel1Phase2)(nil)).Elem() } -type GetApplicationLoadBalancerListenerHttpHostArray []GetApplicationLoadBalancerListenerHttpHostInput +func (o VpnConnectionTunnel1Phase2Output) ToVpnConnectionTunnel1Phase2Output() VpnConnectionTunnel1Phase2Output { + return o +} -func (GetApplicationLoadBalancerListenerHttpHostArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHost)(nil)).Elem() +func (o VpnConnectionTunnel1Phase2Output) ToVpnConnectionTunnel1Phase2OutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase2Output { + return o } -func (i GetApplicationLoadBalancerListenerHttpHostArray) ToGetApplicationLoadBalancerListenerHttpHostArrayOutput() GetApplicationLoadBalancerListenerHttpHostArrayOutput { - return i.ToGetApplicationLoadBalancerListenerHttpHostArrayOutputWithContext(context.Background()) +func (o VpnConnectionTunnel1Phase2Output) ToVpnConnectionTunnel1Phase2PtrOutput() VpnConnectionTunnel1Phase2PtrOutput { + return o.ToVpnConnectionTunnel1Phase2PtrOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerListenerHttpHostArray) ToGetApplicationLoadBalancerListenerHttpHostArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostArrayOutput) +func (o VpnConnectionTunnel1Phase2Output) ToVpnConnectionTunnel1Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase2PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel1Phase2) *VpnConnectionTunnel1Phase2 { + return &v + }).(VpnConnectionTunnel1Phase2PtrOutput) } -type GetApplicationLoadBalancerListenerHttpHostOutput struct{ *pulumi.OutputState } +// Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. +func (o VpnConnectionTunnel1Phase2Output) DhGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Phase2) []string { return v.DhGroups }).(pulumi.StringArrayOutput) +} -func (GetApplicationLoadBalancerListenerHttpHostOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHost)(nil)).Elem() +// Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. +func (o VpnConnectionTunnel1Phase2Output) DpdAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Phase2) *string { return v.DpdAction }).(pulumi.StringPtrOutput) } -func (o GetApplicationLoadBalancerListenerHttpHostOutput) ToGetApplicationLoadBalancerListenerHttpHostOutput() GetApplicationLoadBalancerListenerHttpHostOutput { - return o +// Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. +func (o VpnConnectionTunnel1Phase2Output) EncryptionAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Phase2) []string { return v.EncryptionAlgorithms }).(pulumi.StringArrayOutput) } -func (o GetApplicationLoadBalancerListenerHttpHostOutput) ToGetApplicationLoadBalancerListenerHttpHostOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostOutput { - return o +// Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. +func (o VpnConnectionTunnel1Phase2Output) IntegrityAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Phase2) []string { return v.IntegrityAlgorithms }).(pulumi.StringArrayOutput) } -// Hostname to match. Supports wildcards (e.g. *.example.com). -func (o GetApplicationLoadBalancerListenerHttpHostOutput) Host() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHost) string { return v.Host }).(pulumi.StringOutput) +// Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. +func (o VpnConnectionTunnel1Phase2Output) RekeyTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Phase2) *int { return v.RekeyTime }).(pulumi.IntPtrOutput) } -// Routing rules under the specified host, matched by path prefix. -func (o GetApplicationLoadBalancerListenerHttpHostOutput) Rules() GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHost) []GetApplicationLoadBalancerListenerHttpHostRule { - return v.Rules - }).(GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) +// Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. +func (o VpnConnectionTunnel1Phase2Output) StartAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel1Phase2) *string { return v.StartAction }).(pulumi.StringPtrOutput) } -type GetApplicationLoadBalancerListenerHttpHostArrayOutput struct{ *pulumi.OutputState } +type VpnConnectionTunnel1Phase2PtrOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerListenerHttpHostArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHost)(nil)).Elem() +func (VpnConnectionTunnel1Phase2PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel1Phase2)(nil)).Elem() } -func (o GetApplicationLoadBalancerListenerHttpHostArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostArrayOutput() GetApplicationLoadBalancerListenerHttpHostArrayOutput { +func (o VpnConnectionTunnel1Phase2PtrOutput) ToVpnConnectionTunnel1Phase2PtrOutput() VpnConnectionTunnel1Phase2PtrOutput { return o } -func (o GetApplicationLoadBalancerListenerHttpHostArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostArrayOutput { +func (o VpnConnectionTunnel1Phase2PtrOutput) ToVpnConnectionTunnel1Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel1Phase2PtrOutput { return o } -func (o GetApplicationLoadBalancerListenerHttpHostArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerListenerHttpHostOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerListenerHttpHost { - return vs[0].([]GetApplicationLoadBalancerListenerHttpHost)[vs[1].(int)] - }).(GetApplicationLoadBalancerListenerHttpHostOutput) +func (o VpnConnectionTunnel1Phase2PtrOutput) Elem() VpnConnectionTunnel1Phase2Output { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase2) VpnConnectionTunnel1Phase2 { + if v != nil { + return *v + } + var ret VpnConnectionTunnel1Phase2 + return ret + }).(VpnConnectionTunnel1Phase2Output) } -type GetApplicationLoadBalancerListenerHttpHostRule struct { - // Routing persistence via cookies. - CookiePersistence GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence `pulumi:"cookiePersistence"` - // Headers for the rule. - Headers []GetApplicationLoadBalancerListenerHttpHostRuleHeader `pulumi:"headers"` - // Routing via path. - Path GetApplicationLoadBalancerListenerHttpHostRulePath `pulumi:"path"` - // Query parameters for the rule. - QueryParameters []GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter `pulumi:"queryParameters"` - // Reference target pool by target pool name. - TargetPool string `pulumi:"targetPool"` - // If enabled, when client sends an HTTP request with and Upgrade header, indicating the desire to establish a Websocket connection, if backend server supports WebSocket, it responds with HTTP 101 status code, switching protocols from HTTP to WebSocket. Hence the client and the server can exchange data in real-time using one long-lived TCP connection. - WebSocket bool `pulumi:"webSocket"` +// Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. +func (o VpnConnectionTunnel1Phase2PtrOutput) DhGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase2) []string { + if v == nil { + return nil + } + return v.DhGroups + }).(pulumi.StringArrayOutput) } -// GetApplicationLoadBalancerListenerHttpHostRuleInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleArgs and GetApplicationLoadBalancerListenerHttpHostRuleOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleInput` via: -// -// GetApplicationLoadBalancerListenerHttpHostRuleArgs{...} -type GetApplicationLoadBalancerListenerHttpHostRuleInput interface { - pulumi.Input +// Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. +func (o VpnConnectionTunnel1Phase2PtrOutput) DpdAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase2) *string { + if v == nil { + return nil + } + return v.DpdAction + }).(pulumi.StringPtrOutput) +} - ToGetApplicationLoadBalancerListenerHttpHostRuleOutput() GetApplicationLoadBalancerListenerHttpHostRuleOutput - ToGetApplicationLoadBalancerListenerHttpHostRuleOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleOutput +// Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. +func (o VpnConnectionTunnel1Phase2PtrOutput) EncryptionAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase2) []string { + if v == nil { + return nil + } + return v.EncryptionAlgorithms + }).(pulumi.StringArrayOutput) } -type GetApplicationLoadBalancerListenerHttpHostRuleArgs struct { - // Routing persistence via cookies. - CookiePersistence GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceInput `pulumi:"cookiePersistence"` - // Headers for the rule. - Headers GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayInput `pulumi:"headers"` - // Routing via path. - Path GetApplicationLoadBalancerListenerHttpHostRulePathInput `pulumi:"path"` - // Query parameters for the rule. - QueryParameters GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayInput `pulumi:"queryParameters"` - // Reference target pool by target pool name. - TargetPool pulumi.StringInput `pulumi:"targetPool"` - // If enabled, when client sends an HTTP request with and Upgrade header, indicating the desire to establish a Websocket connection, if backend server supports WebSocket, it responds with HTTP 101 status code, switching protocols from HTTP to WebSocket. Hence the client and the server can exchange data in real-time using one long-lived TCP connection. - WebSocket pulumi.BoolInput `pulumi:"webSocket"` +// Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. +func (o VpnConnectionTunnel1Phase2PtrOutput) IntegrityAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase2) []string { + if v == nil { + return nil + } + return v.IntegrityAlgorithms + }).(pulumi.StringArrayOutput) } -func (GetApplicationLoadBalancerListenerHttpHostRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRule)(nil)).Elem() +// Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. +func (o VpnConnectionTunnel1Phase2PtrOutput) RekeyTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase2) *int { + if v == nil { + return nil + } + return v.RekeyTime + }).(pulumi.IntPtrOutput) } -func (i GetApplicationLoadBalancerListenerHttpHostRuleArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleOutput() GetApplicationLoadBalancerListenerHttpHostRuleOutput { - return i.ToGetApplicationLoadBalancerListenerHttpHostRuleOutputWithContext(context.Background()) +// Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. +func (o VpnConnectionTunnel1Phase2PtrOutput) StartAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel1Phase2) *string { + if v == nil { + return nil + } + return v.StartAction + }).(pulumi.StringPtrOutput) } -func (i GetApplicationLoadBalancerListenerHttpHostRuleArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleOutput) +type VpnConnectionTunnel2 struct { + Bgp *VpnConnectionTunnel2Bgp `pulumi:"bgp"` + Peering *VpnConnectionTunnel2Peering `pulumi:"peering"` + Phase1 VpnConnectionTunnel2Phase1 `pulumi:"phase1"` + Phase2 VpnConnectionTunnel2Phase2 `pulumi:"phase2"` + // Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. + PreSharedKey *string `pulumi:"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. + PreSharedKeyWo *string `pulumi:"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. + PreSharedKeyWoVersion *int `pulumi:"preSharedKeyWoVersion"` + // Remote IPv4 address for the tunnel endpoint. + RemoteAddress string `pulumi:"remoteAddress"` } -// GetApplicationLoadBalancerListenerHttpHostRuleArrayInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleArray and GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleArrayInput` via: +// VpnConnectionTunnel2Input is an input type that accepts VpnConnectionTunnel2Args and VpnConnectionTunnel2Output values. +// You can construct a concrete instance of `VpnConnectionTunnel2Input` via: // -// GetApplicationLoadBalancerListenerHttpHostRuleArray{ GetApplicationLoadBalancerListenerHttpHostRuleArgs{...} } -type GetApplicationLoadBalancerListenerHttpHostRuleArrayInput interface { +// VpnConnectionTunnel2Args{...} +type VpnConnectionTunnel2Input interface { pulumi.Input - ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput - ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput + ToVpnConnectionTunnel2Output() VpnConnectionTunnel2Output + ToVpnConnectionTunnel2OutputWithContext(context.Context) VpnConnectionTunnel2Output } -type GetApplicationLoadBalancerListenerHttpHostRuleArray []GetApplicationLoadBalancerListenerHttpHostRuleInput - -func (GetApplicationLoadBalancerListenerHttpHostRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRule)(nil)).Elem() +type VpnConnectionTunnel2Args struct { + Bgp VpnConnectionTunnel2BgpPtrInput `pulumi:"bgp"` + Peering VpnConnectionTunnel2PeeringPtrInput `pulumi:"peering"` + Phase1 VpnConnectionTunnel2Phase1Input `pulumi:"phase1"` + Phase2 VpnConnectionTunnel2Phase2Input `pulumi:"phase2"` + // Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. + PreSharedKey pulumi.StringPtrInput `pulumi:"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. + PreSharedKeyWo pulumi.StringPtrInput `pulumi:"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. + PreSharedKeyWoVersion pulumi.IntPtrInput `pulumi:"preSharedKeyWoVersion"` + // Remote IPv4 address for the tunnel endpoint. + RemoteAddress pulumi.StringInput `pulumi:"remoteAddress"` } -func (i GetApplicationLoadBalancerListenerHttpHostRuleArray) ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput { - return i.ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutputWithContext(context.Background()) +func (VpnConnectionTunnel2Args) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel2)(nil)).Elem() } -func (i GetApplicationLoadBalancerListenerHttpHostRuleArray) ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) +func (i VpnConnectionTunnel2Args) ToVpnConnectionTunnel2Output() VpnConnectionTunnel2Output { + return i.ToVpnConnectionTunnel2OutputWithContext(context.Background()) } -type GetApplicationLoadBalancerListenerHttpHostRuleOutput struct{ *pulumi.OutputState } +func (i VpnConnectionTunnel2Args) ToVpnConnectionTunnel2OutputWithContext(ctx context.Context) VpnConnectionTunnel2Output { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Output) +} -func (GetApplicationLoadBalancerListenerHttpHostRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRule)(nil)).Elem() +func (i VpnConnectionTunnel2Args) ToVpnConnectionTunnel2PtrOutput() VpnConnectionTunnel2PtrOutput { + return i.ToVpnConnectionTunnel2PtrOutputWithContext(context.Background()) } -func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleOutput() GetApplicationLoadBalancerListenerHttpHostRuleOutput { - return o +func (i VpnConnectionTunnel2Args) ToVpnConnectionTunnel2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Output).ToVpnConnectionTunnel2PtrOutputWithContext(ctx) } -func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleOutput { - return o -} +// VpnConnectionTunnel2PtrInput is an input type that accepts VpnConnectionTunnel2Args, VpnConnectionTunnel2Ptr and VpnConnectionTunnel2PtrOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel2PtrInput` via: +// +// VpnConnectionTunnel2Args{...} +// +// or: +// +// nil +type VpnConnectionTunnel2PtrInput interface { + pulumi.Input -// Routing persistence via cookies. -func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) CookiePersistence() GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence { - return v.CookiePersistence - }).(GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) + ToVpnConnectionTunnel2PtrOutput() VpnConnectionTunnel2PtrOutput + ToVpnConnectionTunnel2PtrOutputWithContext(context.Context) VpnConnectionTunnel2PtrOutput } -// Headers for the rule. -func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) Headers() GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) []GetApplicationLoadBalancerListenerHttpHostRuleHeader { - return v.Headers - }).(GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) -} +type vpnConnectionTunnel2PtrType VpnConnectionTunnel2Args -// Routing via path. -func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) Path() GetApplicationLoadBalancerListenerHttpHostRulePathOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) GetApplicationLoadBalancerListenerHttpHostRulePath { - return v.Path - }).(GetApplicationLoadBalancerListenerHttpHostRulePathOutput) +func VpnConnectionTunnel2Ptr(v *VpnConnectionTunnel2Args) VpnConnectionTunnel2PtrInput { + return (*vpnConnectionTunnel2PtrType)(v) } -// Query parameters for the rule. -func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) QueryParameters() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) []GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter { - return v.QueryParameters - }).(GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) +func (*vpnConnectionTunnel2PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel2)(nil)).Elem() } -// Reference target pool by target pool name. -func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) TargetPool() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) string { return v.TargetPool }).(pulumi.StringOutput) +func (i *vpnConnectionTunnel2PtrType) ToVpnConnectionTunnel2PtrOutput() VpnConnectionTunnel2PtrOutput { + return i.ToVpnConnectionTunnel2PtrOutputWithContext(context.Background()) } -// If enabled, when client sends an HTTP request with and Upgrade header, indicating the desire to establish a Websocket connection, if backend server supports WebSocket, it responds with HTTP 101 status code, switching protocols from HTTP to WebSocket. Hence the client and the server can exchange data in real-time using one long-lived TCP connection. -func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) WebSocket() pulumi.BoolOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) bool { return v.WebSocket }).(pulumi.BoolOutput) +func (i *vpnConnectionTunnel2PtrType) ToVpnConnectionTunnel2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2PtrOutput) } -type GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput struct{ *pulumi.OutputState } +type VpnConnectionTunnel2Output struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRule)(nil)).Elem() +func (VpnConnectionTunnel2Output) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel2)(nil)).Elem() } -func (o GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput { +func (o VpnConnectionTunnel2Output) ToVpnConnectionTunnel2Output() VpnConnectionTunnel2Output { return o } -func (o GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput { +func (o VpnConnectionTunnel2Output) ToVpnConnectionTunnel2OutputWithContext(ctx context.Context) VpnConnectionTunnel2Output { return o } -func (o GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerListenerHttpHostRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerListenerHttpHostRule { - return vs[0].([]GetApplicationLoadBalancerListenerHttpHostRule)[vs[1].(int)] - }).(GetApplicationLoadBalancerListenerHttpHostRuleOutput) +func (o VpnConnectionTunnel2Output) ToVpnConnectionTunnel2PtrOutput() VpnConnectionTunnel2PtrOutput { + return o.ToVpnConnectionTunnel2PtrOutputWithContext(context.Background()) } -type GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence struct { - // The name of the cookie to use. - Name string `pulumi:"name"` - // TTL specifies the time-to-live for the cookie. The default value is 0s, and it acts as a session cookie, expiring when the client session ends. - Ttl string `pulumi:"ttl"` +func (o VpnConnectionTunnel2Output) ToVpnConnectionTunnel2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel2) *VpnConnectionTunnel2 { + return &v + }).(VpnConnectionTunnel2PtrOutput) } -// GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs and GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceInput` via: -// -// GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs{...} -type GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceInput interface { - pulumi.Input +func (o VpnConnectionTunnel2Output) Bgp() VpnConnectionTunnel2BgpPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel2) *VpnConnectionTunnel2Bgp { return v.Bgp }).(VpnConnectionTunnel2BgpPtrOutput) +} - ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput() GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput - ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput +func (o VpnConnectionTunnel2Output) Peering() VpnConnectionTunnel2PeeringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel2) *VpnConnectionTunnel2Peering { return v.Peering }).(VpnConnectionTunnel2PeeringPtrOutput) } -type GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs struct { - // The name of the cookie to use. - Name pulumi.StringInput `pulumi:"name"` - // TTL specifies the time-to-live for the cookie. The default value is 0s, and it acts as a session cookie, expiring when the client session ends. - Ttl pulumi.StringInput `pulumi:"ttl"` +func (o VpnConnectionTunnel2Output) Phase1() VpnConnectionTunnel2Phase1Output { + return o.ApplyT(func(v VpnConnectionTunnel2) VpnConnectionTunnel2Phase1 { return v.Phase1 }).(VpnConnectionTunnel2Phase1Output) } -func (GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence)(nil)).Elem() +func (o VpnConnectionTunnel2Output) Phase2() VpnConnectionTunnel2Phase2Output { + return o.ApplyT(func(v VpnConnectionTunnel2) VpnConnectionTunnel2Phase2 { return v.Phase2 }).(VpnConnectionTunnel2Phase2Output) } -func (i GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput() GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput { - return i.ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutputWithContext(context.Background()) +// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. +func (o VpnConnectionTunnel2Output) PreSharedKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel2) *string { return v.PreSharedKey }).(pulumi.StringPtrOutput) } -func (i GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) +// **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. +func (o VpnConnectionTunnel2Output) PreSharedKeyWo() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel2) *string { return v.PreSharedKeyWo }).(pulumi.StringPtrOutput) } -type GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput struct{ *pulumi.OutputState } +// 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. +func (o VpnConnectionTunnel2Output) PreSharedKeyWoVersion() pulumi.IntPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel2) *int { return v.PreSharedKeyWoVersion }).(pulumi.IntPtrOutput) +} -func (GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence)(nil)).Elem() +// Remote IPv4 address for the tunnel endpoint. +func (o VpnConnectionTunnel2Output) RemoteAddress() pulumi.StringOutput { + return o.ApplyT(func(v VpnConnectionTunnel2) string { return v.RemoteAddress }).(pulumi.StringOutput) } -func (o GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput() GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput { +type VpnConnectionTunnel2PtrOutput struct{ *pulumi.OutputState } + +func (VpnConnectionTunnel2PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel2)(nil)).Elem() +} + +func (o VpnConnectionTunnel2PtrOutput) ToVpnConnectionTunnel2PtrOutput() VpnConnectionTunnel2PtrOutput { return o } -func (o GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput { +func (o VpnConnectionTunnel2PtrOutput) ToVpnConnectionTunnel2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PtrOutput { return o } -// The name of the cookie to use. -func (o GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence) string { return v.Name }).(pulumi.StringOutput) +func (o VpnConnectionTunnel2PtrOutput) Elem() VpnConnectionTunnel2Output { + return o.ApplyT(func(v *VpnConnectionTunnel2) VpnConnectionTunnel2 { + if v != nil { + return *v + } + var ret VpnConnectionTunnel2 + return ret + }).(VpnConnectionTunnel2Output) } -// TTL specifies the time-to-live for the cookie. The default value is 0s, and it acts as a session cookie, expiring when the client session ends. -func (o GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) Ttl() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence) string { return v.Ttl }).(pulumi.StringOutput) +func (o VpnConnectionTunnel2PtrOutput) Bgp() VpnConnectionTunnel2BgpPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2) *VpnConnectionTunnel2Bgp { + if v == nil { + return nil + } + return v.Bgp + }).(VpnConnectionTunnel2BgpPtrOutput) } -type GetApplicationLoadBalancerListenerHttpHostRuleHeader struct { - // Exact match for the header value. - ExactMatch string `pulumi:"exactMatch"` - // Header name. - Name string `pulumi:"name"` +func (o VpnConnectionTunnel2PtrOutput) Peering() VpnConnectionTunnel2PeeringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2) *VpnConnectionTunnel2Peering { + if v == nil { + return nil + } + return v.Peering + }).(VpnConnectionTunnel2PeeringPtrOutput) } -// GetApplicationLoadBalancerListenerHttpHostRuleHeaderInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs and GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleHeaderInput` via: +func (o VpnConnectionTunnel2PtrOutput) Phase1() VpnConnectionTunnel2Phase1PtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2) *VpnConnectionTunnel2Phase1 { + if v == nil { + return nil + } + return &v.Phase1 + }).(VpnConnectionTunnel2Phase1PtrOutput) +} + +func (o VpnConnectionTunnel2PtrOutput) Phase2() VpnConnectionTunnel2Phase2PtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2) *VpnConnectionTunnel2Phase2 { + if v == nil { + return nil + } + return &v.Phase2 + }).(VpnConnectionTunnel2Phase2PtrOutput) +} + +// Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. +func (o VpnConnectionTunnel2PtrOutput) PreSharedKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2) *string { + if v == nil { + return nil + } + return v.PreSharedKey + }).(pulumi.StringPtrOutput) +} + +// **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. +func (o VpnConnectionTunnel2PtrOutput) PreSharedKeyWo() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2) *string { + if v == nil { + return nil + } + return v.PreSharedKeyWo + }).(pulumi.StringPtrOutput) +} + +// 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. +func (o VpnConnectionTunnel2PtrOutput) PreSharedKeyWoVersion() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2) *int { + if v == nil { + return nil + } + return v.PreSharedKeyWoVersion + }).(pulumi.IntPtrOutput) +} + +// Remote IPv4 address for the tunnel endpoint. +func (o VpnConnectionTunnel2PtrOutput) RemoteAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2) *string { + if v == nil { + return nil + } + return &v.RemoteAddress + }).(pulumi.StringPtrOutput) +} + +type VpnConnectionTunnel2Bgp struct { + // Remote ASN for BGP peering (private ASN range, 64512-4294967294). + RemoteAsn int `pulumi:"remoteAsn"` +} + +// VpnConnectionTunnel2BgpInput is an input type that accepts VpnConnectionTunnel2BgpArgs and VpnConnectionTunnel2BgpOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel2BgpInput` via: // -// GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs{...} -type GetApplicationLoadBalancerListenerHttpHostRuleHeaderInput interface { +// VpnConnectionTunnel2BgpArgs{...} +type VpnConnectionTunnel2BgpInput interface { pulumi.Input - ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput - ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput + ToVpnConnectionTunnel2BgpOutput() VpnConnectionTunnel2BgpOutput + ToVpnConnectionTunnel2BgpOutputWithContext(context.Context) VpnConnectionTunnel2BgpOutput } -type GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs struct { - // Exact match for the header value. - ExactMatch pulumi.StringInput `pulumi:"exactMatch"` - // Header name. - Name pulumi.StringInput `pulumi:"name"` +type VpnConnectionTunnel2BgpArgs struct { + // Remote ASN for BGP peering (private ASN range, 64512-4294967294). + RemoteAsn pulumi.IntInput `pulumi:"remoteAsn"` } -func (GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleHeader)(nil)).Elem() +func (VpnConnectionTunnel2BgpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel2Bgp)(nil)).Elem() } -func (i GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput { - return i.ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutputWithContext(context.Background()) +func (i VpnConnectionTunnel2BgpArgs) ToVpnConnectionTunnel2BgpOutput() VpnConnectionTunnel2BgpOutput { + return i.ToVpnConnectionTunnel2BgpOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) +func (i VpnConnectionTunnel2BgpArgs) ToVpnConnectionTunnel2BgpOutputWithContext(ctx context.Context) VpnConnectionTunnel2BgpOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2BgpOutput) } -// GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray and GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayInput` via: +func (i VpnConnectionTunnel2BgpArgs) ToVpnConnectionTunnel2BgpPtrOutput() VpnConnectionTunnel2BgpPtrOutput { + return i.ToVpnConnectionTunnel2BgpPtrOutputWithContext(context.Background()) +} + +func (i VpnConnectionTunnel2BgpArgs) ToVpnConnectionTunnel2BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2BgpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2BgpOutput).ToVpnConnectionTunnel2BgpPtrOutputWithContext(ctx) +} + +// VpnConnectionTunnel2BgpPtrInput is an input type that accepts VpnConnectionTunnel2BgpArgs, VpnConnectionTunnel2BgpPtr and VpnConnectionTunnel2BgpPtrOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel2BgpPtrInput` via: // -// GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray{ GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs{...} } -type GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayInput interface { +// VpnConnectionTunnel2BgpArgs{...} +// +// or: +// +// nil +type VpnConnectionTunnel2BgpPtrInput interface { pulumi.Input - ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput - ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput + ToVpnConnectionTunnel2BgpPtrOutput() VpnConnectionTunnel2BgpPtrOutput + ToVpnConnectionTunnel2BgpPtrOutputWithContext(context.Context) VpnConnectionTunnel2BgpPtrOutput } -type GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray []GetApplicationLoadBalancerListenerHttpHostRuleHeaderInput +type vpnConnectionTunnel2BgpPtrType VpnConnectionTunnel2BgpArgs -func (GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRuleHeader)(nil)).Elem() +func VpnConnectionTunnel2BgpPtr(v *VpnConnectionTunnel2BgpArgs) VpnConnectionTunnel2BgpPtrInput { + return (*vpnConnectionTunnel2BgpPtrType)(v) } -func (i GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput { - return i.ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutputWithContext(context.Background()) +func (*vpnConnectionTunnel2BgpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel2Bgp)(nil)).Elem() } -func (i GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) +func (i *vpnConnectionTunnel2BgpPtrType) ToVpnConnectionTunnel2BgpPtrOutput() VpnConnectionTunnel2BgpPtrOutput { + return i.ToVpnConnectionTunnel2BgpPtrOutputWithContext(context.Background()) } -type GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput struct{ *pulumi.OutputState } +func (i *vpnConnectionTunnel2BgpPtrType) ToVpnConnectionTunnel2BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2BgpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2BgpPtrOutput) +} -func (GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleHeader)(nil)).Elem() +type VpnConnectionTunnel2BgpOutput struct{ *pulumi.OutputState } + +func (VpnConnectionTunnel2BgpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel2Bgp)(nil)).Elem() } -func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput { +func (o VpnConnectionTunnel2BgpOutput) ToVpnConnectionTunnel2BgpOutput() VpnConnectionTunnel2BgpOutput { return o } -func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput { +func (o VpnConnectionTunnel2BgpOutput) ToVpnConnectionTunnel2BgpOutputWithContext(ctx context.Context) VpnConnectionTunnel2BgpOutput { return o } -// Exact match for the header value. -func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) ExactMatch() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleHeader) string { return v.ExactMatch }).(pulumi.StringOutput) +func (o VpnConnectionTunnel2BgpOutput) ToVpnConnectionTunnel2BgpPtrOutput() VpnConnectionTunnel2BgpPtrOutput { + return o.ToVpnConnectionTunnel2BgpPtrOutputWithContext(context.Background()) } -// Header name. -func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleHeader) string { return v.Name }).(pulumi.StringOutput) +func (o VpnConnectionTunnel2BgpOutput) ToVpnConnectionTunnel2BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2BgpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel2Bgp) *VpnConnectionTunnel2Bgp { + return &v + }).(VpnConnectionTunnel2BgpPtrOutput) } -type GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput struct{ *pulumi.OutputState } +// Remote ASN for BGP peering (private ASN range, 64512-4294967294). +func (o VpnConnectionTunnel2BgpOutput) RemoteAsn() pulumi.IntOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Bgp) int { return v.RemoteAsn }).(pulumi.IntOutput) +} -func (GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRuleHeader)(nil)).Elem() +type VpnConnectionTunnel2BgpPtrOutput struct{ *pulumi.OutputState } + +func (VpnConnectionTunnel2BgpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel2Bgp)(nil)).Elem() } -func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput { +func (o VpnConnectionTunnel2BgpPtrOutput) ToVpnConnectionTunnel2BgpPtrOutput() VpnConnectionTunnel2BgpPtrOutput { return o } -func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput { +func (o VpnConnectionTunnel2BgpPtrOutput) ToVpnConnectionTunnel2BgpPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2BgpPtrOutput { return o } -func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerListenerHttpHostRuleHeader { - return vs[0].([]GetApplicationLoadBalancerListenerHttpHostRuleHeader)[vs[1].(int)] - }).(GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) +func (o VpnConnectionTunnel2BgpPtrOutput) Elem() VpnConnectionTunnel2BgpOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Bgp) VpnConnectionTunnel2Bgp { + if v != nil { + return *v + } + var ret VpnConnectionTunnel2Bgp + return ret + }).(VpnConnectionTunnel2BgpOutput) } -type GetApplicationLoadBalancerListenerHttpHostRulePath struct { - // Exact path match. Only a request path exactly equal to the value will match, e.g. '/foo' matches only '/foo', not '/foo/bar' or '/foobar'. - ExactMatch string `pulumi:"exactMatch"` - // Prefix path match. Only matches on full segment boundaries, e.g. '/foo' matches '/foo' and '/foo/bar' but NOT '/foobar'. - Prefix string `pulumi:"prefix"` +// Remote ASN for BGP peering (private ASN range, 64512-4294967294). +func (o VpnConnectionTunnel2BgpPtrOutput) RemoteAsn() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Bgp) *int { + if v == nil { + return nil + } + return &v.RemoteAsn + }).(pulumi.IntPtrOutput) } -// GetApplicationLoadBalancerListenerHttpHostRulePathInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRulePathArgs and GetApplicationLoadBalancerListenerHttpHostRulePathOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRulePathInput` via: +type VpnConnectionTunnel2Peering struct { + // Local tunnel interface IPv4 address. + LocalAddress string `pulumi:"localAddress"` + // Remote tunnel interface IPv4 address. + RemoteAddress string `pulumi:"remoteAddress"` +} + +// VpnConnectionTunnel2PeeringInput is an input type that accepts VpnConnectionTunnel2PeeringArgs and VpnConnectionTunnel2PeeringOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel2PeeringInput` via: // -// GetApplicationLoadBalancerListenerHttpHostRulePathArgs{...} -type GetApplicationLoadBalancerListenerHttpHostRulePathInput interface { +// VpnConnectionTunnel2PeeringArgs{...} +type VpnConnectionTunnel2PeeringInput interface { pulumi.Input - ToGetApplicationLoadBalancerListenerHttpHostRulePathOutput() GetApplicationLoadBalancerListenerHttpHostRulePathOutput - ToGetApplicationLoadBalancerListenerHttpHostRulePathOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRulePathOutput + ToVpnConnectionTunnel2PeeringOutput() VpnConnectionTunnel2PeeringOutput + ToVpnConnectionTunnel2PeeringOutputWithContext(context.Context) VpnConnectionTunnel2PeeringOutput } -type GetApplicationLoadBalancerListenerHttpHostRulePathArgs struct { - // Exact path match. Only a request path exactly equal to the value will match, e.g. '/foo' matches only '/foo', not '/foo/bar' or '/foobar'. - ExactMatch pulumi.StringInput `pulumi:"exactMatch"` - // Prefix path match. Only matches on full segment boundaries, e.g. '/foo' matches '/foo' and '/foo/bar' but NOT '/foobar'. - Prefix pulumi.StringInput `pulumi:"prefix"` +type VpnConnectionTunnel2PeeringArgs struct { + // Local tunnel interface IPv4 address. + LocalAddress pulumi.StringInput `pulumi:"localAddress"` + // Remote tunnel interface IPv4 address. + RemoteAddress pulumi.StringInput `pulumi:"remoteAddress"` } -func (GetApplicationLoadBalancerListenerHttpHostRulePathArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRulePath)(nil)).Elem() +func (VpnConnectionTunnel2PeeringArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel2Peering)(nil)).Elem() } -func (i GetApplicationLoadBalancerListenerHttpHostRulePathArgs) ToGetApplicationLoadBalancerListenerHttpHostRulePathOutput() GetApplicationLoadBalancerListenerHttpHostRulePathOutput { - return i.ToGetApplicationLoadBalancerListenerHttpHostRulePathOutputWithContext(context.Background()) +func (i VpnConnectionTunnel2PeeringArgs) ToVpnConnectionTunnel2PeeringOutput() VpnConnectionTunnel2PeeringOutput { + return i.ToVpnConnectionTunnel2PeeringOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerListenerHttpHostRulePathArgs) ToGetApplicationLoadBalancerListenerHttpHostRulePathOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRulePathOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRulePathOutput) +func (i VpnConnectionTunnel2PeeringArgs) ToVpnConnectionTunnel2PeeringOutputWithContext(ctx context.Context) VpnConnectionTunnel2PeeringOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2PeeringOutput) } -type GetApplicationLoadBalancerListenerHttpHostRulePathOutput struct{ *pulumi.OutputState } +func (i VpnConnectionTunnel2PeeringArgs) ToVpnConnectionTunnel2PeeringPtrOutput() VpnConnectionTunnel2PeeringPtrOutput { + return i.ToVpnConnectionTunnel2PeeringPtrOutputWithContext(context.Background()) +} -func (GetApplicationLoadBalancerListenerHttpHostRulePathOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRulePath)(nil)).Elem() +func (i VpnConnectionTunnel2PeeringArgs) ToVpnConnectionTunnel2PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PeeringPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2PeeringOutput).ToVpnConnectionTunnel2PeeringPtrOutputWithContext(ctx) } -func (o GetApplicationLoadBalancerListenerHttpHostRulePathOutput) ToGetApplicationLoadBalancerListenerHttpHostRulePathOutput() GetApplicationLoadBalancerListenerHttpHostRulePathOutput { - return o +// VpnConnectionTunnel2PeeringPtrInput is an input type that accepts VpnConnectionTunnel2PeeringArgs, VpnConnectionTunnel2PeeringPtr and VpnConnectionTunnel2PeeringPtrOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel2PeeringPtrInput` via: +// +// VpnConnectionTunnel2PeeringArgs{...} +// +// or: +// +// nil +type VpnConnectionTunnel2PeeringPtrInput interface { + pulumi.Input + + ToVpnConnectionTunnel2PeeringPtrOutput() VpnConnectionTunnel2PeeringPtrOutput + ToVpnConnectionTunnel2PeeringPtrOutputWithContext(context.Context) VpnConnectionTunnel2PeeringPtrOutput } -func (o GetApplicationLoadBalancerListenerHttpHostRulePathOutput) ToGetApplicationLoadBalancerListenerHttpHostRulePathOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRulePathOutput { - return o +type vpnConnectionTunnel2PeeringPtrType VpnConnectionTunnel2PeeringArgs + +func VpnConnectionTunnel2PeeringPtr(v *VpnConnectionTunnel2PeeringArgs) VpnConnectionTunnel2PeeringPtrInput { + return (*vpnConnectionTunnel2PeeringPtrType)(v) } -// Exact path match. Only a request path exactly equal to the value will match, e.g. '/foo' matches only '/foo', not '/foo/bar' or '/foobar'. -func (o GetApplicationLoadBalancerListenerHttpHostRulePathOutput) ExactMatch() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRulePath) string { return v.ExactMatch }).(pulumi.StringOutput) +func (*vpnConnectionTunnel2PeeringPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel2Peering)(nil)).Elem() } -// Prefix path match. Only matches on full segment boundaries, e.g. '/foo' matches '/foo' and '/foo/bar' but NOT '/foobar'. -func (o GetApplicationLoadBalancerListenerHttpHostRulePathOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRulePath) string { return v.Prefix }).(pulumi.StringOutput) +func (i *vpnConnectionTunnel2PeeringPtrType) ToVpnConnectionTunnel2PeeringPtrOutput() VpnConnectionTunnel2PeeringPtrOutput { + return i.ToVpnConnectionTunnel2PeeringPtrOutputWithContext(context.Background()) } -type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter struct { - // Exact match for the query parameters value. - ExactMatch string `pulumi:"exactMatch"` - // Query parameter name. - Name string `pulumi:"name"` +func (i *vpnConnectionTunnel2PeeringPtrType) ToVpnConnectionTunnel2PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PeeringPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2PeeringPtrOutput) } -// GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs and GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterInput` via: -// -// GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs{...} -type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterInput interface { - pulumi.Input +type VpnConnectionTunnel2PeeringOutput struct{ *pulumi.OutputState } - ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput - ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput +func (VpnConnectionTunnel2PeeringOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel2Peering)(nil)).Elem() } -type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs struct { - // Exact match for the query parameters value. - ExactMatch pulumi.StringInput `pulumi:"exactMatch"` - // Query parameter name. - Name pulumi.StringInput `pulumi:"name"` +func (o VpnConnectionTunnel2PeeringOutput) ToVpnConnectionTunnel2PeeringOutput() VpnConnectionTunnel2PeeringOutput { + return o } -func (GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter)(nil)).Elem() +func (o VpnConnectionTunnel2PeeringOutput) ToVpnConnectionTunnel2PeeringOutputWithContext(ctx context.Context) VpnConnectionTunnel2PeeringOutput { + return o } -func (i GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput { - return i.ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutputWithContext(context.Background()) +func (o VpnConnectionTunnel2PeeringOutput) ToVpnConnectionTunnel2PeeringPtrOutput() VpnConnectionTunnel2PeeringPtrOutput { + return o.ToVpnConnectionTunnel2PeeringPtrOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) +func (o VpnConnectionTunnel2PeeringOutput) ToVpnConnectionTunnel2PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PeeringPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel2Peering) *VpnConnectionTunnel2Peering { + return &v + }).(VpnConnectionTunnel2PeeringPtrOutput) } -// GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray and GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayInput` via: -// -// GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray{ GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs{...} } -type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayInput interface { - pulumi.Input +// Local tunnel interface IPv4 address. +func (o VpnConnectionTunnel2PeeringOutput) LocalAddress() pulumi.StringOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Peering) string { return v.LocalAddress }).(pulumi.StringOutput) +} - ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput - ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput +// Remote tunnel interface IPv4 address. +func (o VpnConnectionTunnel2PeeringOutput) RemoteAddress() pulumi.StringOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Peering) string { return v.RemoteAddress }).(pulumi.StringOutput) } -type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray []GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterInput +type VpnConnectionTunnel2PeeringPtrOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter)(nil)).Elem() +func (VpnConnectionTunnel2PeeringPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel2Peering)(nil)).Elem() } -func (i GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput { - return i.ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutputWithContext(context.Background()) +func (o VpnConnectionTunnel2PeeringPtrOutput) ToVpnConnectionTunnel2PeeringPtrOutput() VpnConnectionTunnel2PeeringPtrOutput { + return o } -func (i GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) +func (o VpnConnectionTunnel2PeeringPtrOutput) ToVpnConnectionTunnel2PeeringPtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2PeeringPtrOutput { + return o } -type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput struct{ *pulumi.OutputState } - -func (GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter)(nil)).Elem() +func (o VpnConnectionTunnel2PeeringPtrOutput) Elem() VpnConnectionTunnel2PeeringOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Peering) VpnConnectionTunnel2Peering { + if v != nil { + return *v + } + var ret VpnConnectionTunnel2Peering + return ret + }).(VpnConnectionTunnel2PeeringOutput) } -func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput { - return o +// Local tunnel interface IPv4 address. +func (o VpnConnectionTunnel2PeeringPtrOutput) LocalAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Peering) *string { + if v == nil { + return nil + } + return &v.LocalAddress + }).(pulumi.StringPtrOutput) } -func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput { - return o +// Remote tunnel interface IPv4 address. +func (o VpnConnectionTunnel2PeeringPtrOutput) RemoteAddress() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Peering) *string { + if v == nil { + return nil + } + return &v.RemoteAddress + }).(pulumi.StringPtrOutput) } -// Exact match for the query parameters value. -func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) ExactMatch() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter) string { return v.ExactMatch }).(pulumi.StringOutput) +type VpnConnectionTunnel2Phase1 struct { + // Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + DhGroups []string `pulumi:"dhGroups"` + // Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + EncryptionAlgorithms []string `pulumi:"encryptionAlgorithms"` + // Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. + IntegrityAlgorithms []string `pulumi:"integrityAlgorithms"` + // Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. + RekeyTime *int `pulumi:"rekeyTime"` } -// Query parameter name. -func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter) string { return v.Name }).(pulumi.StringOutput) +// VpnConnectionTunnel2Phase1Input is an input type that accepts VpnConnectionTunnel2Phase1Args and VpnConnectionTunnel2Phase1Output values. +// You can construct a concrete instance of `VpnConnectionTunnel2Phase1Input` via: +// +// VpnConnectionTunnel2Phase1Args{...} +type VpnConnectionTunnel2Phase1Input interface { + pulumi.Input + + ToVpnConnectionTunnel2Phase1Output() VpnConnectionTunnel2Phase1Output + ToVpnConnectionTunnel2Phase1OutputWithContext(context.Context) VpnConnectionTunnel2Phase1Output } -type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput struct{ *pulumi.OutputState } +type VpnConnectionTunnel2Phase1Args struct { + // Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + DhGroups pulumi.StringArrayInput `pulumi:"dhGroups"` + // Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + EncryptionAlgorithms pulumi.StringArrayInput `pulumi:"encryptionAlgorithms"` + // Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. + IntegrityAlgorithms pulumi.StringArrayInput `pulumi:"integrityAlgorithms"` + // Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. + RekeyTime pulumi.IntPtrInput `pulumi:"rekeyTime"` +} -func (GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter)(nil)).Elem() +func (VpnConnectionTunnel2Phase1Args) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel2Phase1)(nil)).Elem() } -func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput { - return o +func (i VpnConnectionTunnel2Phase1Args) ToVpnConnectionTunnel2Phase1Output() VpnConnectionTunnel2Phase1Output { + return i.ToVpnConnectionTunnel2Phase1OutputWithContext(context.Background()) } -func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput { - return o +func (i VpnConnectionTunnel2Phase1Args) ToVpnConnectionTunnel2Phase1OutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase1Output { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Phase1Output) } -func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter { - return vs[0].([]GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter)[vs[1].(int)] - }).(GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) +func (i VpnConnectionTunnel2Phase1Args) ToVpnConnectionTunnel2Phase1PtrOutput() VpnConnectionTunnel2Phase1PtrOutput { + return i.ToVpnConnectionTunnel2Phase1PtrOutputWithContext(context.Background()) } -type GetApplicationLoadBalancerListenerHttps struct { - // TLS termination certificate configuration. - CertificateConfig GetApplicationLoadBalancerListenerHttpsCertificateConfig `pulumi:"certificateConfig"` +func (i VpnConnectionTunnel2Phase1Args) ToVpnConnectionTunnel2Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase1PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Phase1Output).ToVpnConnectionTunnel2Phase1PtrOutputWithContext(ctx) } -// GetApplicationLoadBalancerListenerHttpsInput is an input type that accepts GetApplicationLoadBalancerListenerHttpsArgs and GetApplicationLoadBalancerListenerHttpsOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpsInput` via: +// VpnConnectionTunnel2Phase1PtrInput is an input type that accepts VpnConnectionTunnel2Phase1Args, VpnConnectionTunnel2Phase1Ptr and VpnConnectionTunnel2Phase1PtrOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel2Phase1PtrInput` via: // -// GetApplicationLoadBalancerListenerHttpsArgs{...} -type GetApplicationLoadBalancerListenerHttpsInput interface { +// VpnConnectionTunnel2Phase1Args{...} +// +// or: +// +// nil +type VpnConnectionTunnel2Phase1PtrInput interface { pulumi.Input - ToGetApplicationLoadBalancerListenerHttpsOutput() GetApplicationLoadBalancerListenerHttpsOutput - ToGetApplicationLoadBalancerListenerHttpsOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpsOutput + ToVpnConnectionTunnel2Phase1PtrOutput() VpnConnectionTunnel2Phase1PtrOutput + ToVpnConnectionTunnel2Phase1PtrOutputWithContext(context.Context) VpnConnectionTunnel2Phase1PtrOutput } -type GetApplicationLoadBalancerListenerHttpsArgs struct { - // TLS termination certificate configuration. - CertificateConfig GetApplicationLoadBalancerListenerHttpsCertificateConfigInput `pulumi:"certificateConfig"` +type vpnConnectionTunnel2Phase1PtrType VpnConnectionTunnel2Phase1Args + +func VpnConnectionTunnel2Phase1Ptr(v *VpnConnectionTunnel2Phase1Args) VpnConnectionTunnel2Phase1PtrInput { + return (*vpnConnectionTunnel2Phase1PtrType)(v) } -func (GetApplicationLoadBalancerListenerHttpsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttps)(nil)).Elem() +func (*vpnConnectionTunnel2Phase1PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel2Phase1)(nil)).Elem() } -func (i GetApplicationLoadBalancerListenerHttpsArgs) ToGetApplicationLoadBalancerListenerHttpsOutput() GetApplicationLoadBalancerListenerHttpsOutput { - return i.ToGetApplicationLoadBalancerListenerHttpsOutputWithContext(context.Background()) +func (i *vpnConnectionTunnel2Phase1PtrType) ToVpnConnectionTunnel2Phase1PtrOutput() VpnConnectionTunnel2Phase1PtrOutput { + return i.ToVpnConnectionTunnel2Phase1PtrOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerListenerHttpsArgs) ToGetApplicationLoadBalancerListenerHttpsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpsOutput) +func (i *vpnConnectionTunnel2Phase1PtrType) ToVpnConnectionTunnel2Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase1PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Phase1PtrOutput) } -type GetApplicationLoadBalancerListenerHttpsOutput struct{ *pulumi.OutputState } +type VpnConnectionTunnel2Phase1Output struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerListenerHttpsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttps)(nil)).Elem() +func (VpnConnectionTunnel2Phase1Output) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel2Phase1)(nil)).Elem() } -func (o GetApplicationLoadBalancerListenerHttpsOutput) ToGetApplicationLoadBalancerListenerHttpsOutput() GetApplicationLoadBalancerListenerHttpsOutput { +func (o VpnConnectionTunnel2Phase1Output) ToVpnConnectionTunnel2Phase1Output() VpnConnectionTunnel2Phase1Output { return o } -func (o GetApplicationLoadBalancerListenerHttpsOutput) ToGetApplicationLoadBalancerListenerHttpsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpsOutput { +func (o VpnConnectionTunnel2Phase1Output) ToVpnConnectionTunnel2Phase1OutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase1Output { return o } -// TLS termination certificate configuration. -func (o GetApplicationLoadBalancerListenerHttpsOutput) CertificateConfig() GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttps) GetApplicationLoadBalancerListenerHttpsCertificateConfig { - return v.CertificateConfig - }).(GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) -} - -type GetApplicationLoadBalancerListenerHttpsCertificateConfig struct { - // Certificate IDs for TLS termination. - CertificateIds []string `pulumi:"certificateIds"` +func (o VpnConnectionTunnel2Phase1Output) ToVpnConnectionTunnel2Phase1PtrOutput() VpnConnectionTunnel2Phase1PtrOutput { + return o.ToVpnConnectionTunnel2Phase1PtrOutputWithContext(context.Background()) } -// GetApplicationLoadBalancerListenerHttpsCertificateConfigInput is an input type that accepts GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs and GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpsCertificateConfigInput` via: -// -// GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs{...} -type GetApplicationLoadBalancerListenerHttpsCertificateConfigInput interface { - pulumi.Input - - ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutput() GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput - ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput +func (o VpnConnectionTunnel2Phase1Output) ToVpnConnectionTunnel2Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase1PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel2Phase1) *VpnConnectionTunnel2Phase1 { + return &v + }).(VpnConnectionTunnel2Phase1PtrOutput) } -type GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs struct { - // Certificate IDs for TLS termination. - CertificateIds pulumi.StringArrayInput `pulumi:"certificateIds"` +// Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. +func (o VpnConnectionTunnel2Phase1Output) DhGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Phase1) []string { return v.DhGroups }).(pulumi.StringArrayOutput) } -func (GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpsCertificateConfig)(nil)).Elem() +// Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. +func (o VpnConnectionTunnel2Phase1Output) EncryptionAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Phase1) []string { return v.EncryptionAlgorithms }).(pulumi.StringArrayOutput) } -func (i GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs) ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutput() GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput { - return i.ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutputWithContext(context.Background()) +// Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. +func (o VpnConnectionTunnel2Phase1Output) IntegrityAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Phase1) []string { return v.IntegrityAlgorithms }).(pulumi.StringArrayOutput) } -func (i GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs) ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) +// Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. +func (o VpnConnectionTunnel2Phase1Output) RekeyTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Phase1) *int { return v.RekeyTime }).(pulumi.IntPtrOutput) } -type GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput struct{ *pulumi.OutputState } +type VpnConnectionTunnel2Phase1PtrOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpsCertificateConfig)(nil)).Elem() +func (VpnConnectionTunnel2Phase1PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel2Phase1)(nil)).Elem() } -func (o GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutput() GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput { +func (o VpnConnectionTunnel2Phase1PtrOutput) ToVpnConnectionTunnel2Phase1PtrOutput() VpnConnectionTunnel2Phase1PtrOutput { return o } -func (o GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput { +func (o VpnConnectionTunnel2Phase1PtrOutput) ToVpnConnectionTunnel2Phase1PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase1PtrOutput { return o } -// Certificate IDs for TLS termination. -func (o GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) CertificateIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpsCertificateConfig) []string { return v.CertificateIds }).(pulumi.StringArrayOutput) +func (o VpnConnectionTunnel2Phase1PtrOutput) Elem() VpnConnectionTunnel2Phase1Output { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase1) VpnConnectionTunnel2Phase1 { + if v != nil { + return *v + } + var ret VpnConnectionTunnel2Phase1 + return ret + }).(VpnConnectionTunnel2Phase1Output) } -type GetApplicationLoadBalancerLoadBalancerSecurityGroup struct { - // ID of the security Group - Id string `pulumi:"id"` - // Name of the security Group - Name string `pulumi:"name"` +// Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. +func (o VpnConnectionTunnel2Phase1PtrOutput) DhGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase1) []string { + if v == nil { + return nil + } + return v.DhGroups + }).(pulumi.StringArrayOutput) } -// GetApplicationLoadBalancerLoadBalancerSecurityGroupInput is an input type that accepts GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs and GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerLoadBalancerSecurityGroupInput` via: -// -// GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs{...} -type GetApplicationLoadBalancerLoadBalancerSecurityGroupInput interface { - pulumi.Input - - ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutput() GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput - ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutputWithContext(context.Context) GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput +// Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. +func (o VpnConnectionTunnel2Phase1PtrOutput) EncryptionAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase1) []string { + if v == nil { + return nil + } + return v.EncryptionAlgorithms + }).(pulumi.StringArrayOutput) } -type GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs struct { - // ID of the security Group - Id pulumi.StringInput `pulumi:"id"` - // Name of the security Group - Name pulumi.StringInput `pulumi:"name"` +// Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. +func (o VpnConnectionTunnel2Phase1PtrOutput) IntegrityAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase1) []string { + if v == nil { + return nil + } + return v.IntegrityAlgorithms + }).(pulumi.StringArrayOutput) } -func (GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerLoadBalancerSecurityGroup)(nil)).Elem() +// Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. +func (o VpnConnectionTunnel2Phase1PtrOutput) RekeyTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase1) *int { + if v == nil { + return nil + } + return v.RekeyTime + }).(pulumi.IntPtrOutput) } -func (i GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs) ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutput() GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput { - return i.ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutputWithContext(context.Background()) +type VpnConnectionTunnel2Phase2 struct { + // Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + DhGroups []string `pulumi:"dhGroups"` + // Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. + DpdAction *string `pulumi:"dpdAction"` + // Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + EncryptionAlgorithms []string `pulumi:"encryptionAlgorithms"` + // Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. + IntegrityAlgorithms []string `pulumi:"integrityAlgorithms"` + // Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + RekeyTime *int `pulumi:"rekeyTime"` + // Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. + StartAction *string `pulumi:"startAction"` } -func (i GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs) ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutputWithContext(ctx context.Context) GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) -} +// VpnConnectionTunnel2Phase2Input is an input type that accepts VpnConnectionTunnel2Phase2Args and VpnConnectionTunnel2Phase2Output values. +// You can construct a concrete instance of `VpnConnectionTunnel2Phase2Input` via: +// +// VpnConnectionTunnel2Phase2Args{...} +type VpnConnectionTunnel2Phase2Input interface { + pulumi.Input -type GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput struct{ *pulumi.OutputState } + ToVpnConnectionTunnel2Phase2Output() VpnConnectionTunnel2Phase2Output + ToVpnConnectionTunnel2Phase2OutputWithContext(context.Context) VpnConnectionTunnel2Phase2Output +} -func (GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerLoadBalancerSecurityGroup)(nil)).Elem() +type VpnConnectionTunnel2Phase2Args struct { + // Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + DhGroups pulumi.StringArrayInput `pulumi:"dhGroups"` + // Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. + DpdAction pulumi.StringPtrInput `pulumi:"dpdAction"` + // Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + EncryptionAlgorithms pulumi.StringArrayInput `pulumi:"encryptionAlgorithms"` + // Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. + IntegrityAlgorithms pulumi.StringArrayInput `pulumi:"integrityAlgorithms"` + // Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + RekeyTime pulumi.IntPtrInput `pulumi:"rekeyTime"` + // Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. + StartAction pulumi.StringPtrInput `pulumi:"startAction"` } -func (o GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutput() GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput { - return o +func (VpnConnectionTunnel2Phase2Args) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel2Phase2)(nil)).Elem() } -func (o GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutputWithContext(ctx context.Context) GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput { - return o +func (i VpnConnectionTunnel2Phase2Args) ToVpnConnectionTunnel2Phase2Output() VpnConnectionTunnel2Phase2Output { + return i.ToVpnConnectionTunnel2Phase2OutputWithContext(context.Background()) } -// ID of the security Group -func (o GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerLoadBalancerSecurityGroup) string { return v.Id }).(pulumi.StringOutput) +func (i VpnConnectionTunnel2Phase2Args) ToVpnConnectionTunnel2Phase2OutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase2Output { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Phase2Output) } -// Name of the security Group -func (o GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerLoadBalancerSecurityGroup) string { return v.Name }).(pulumi.StringOutput) +func (i VpnConnectionTunnel2Phase2Args) ToVpnConnectionTunnel2Phase2PtrOutput() VpnConnectionTunnel2Phase2PtrOutput { + return i.ToVpnConnectionTunnel2Phase2PtrOutputWithContext(context.Background()) } -type GetApplicationLoadBalancerNetwork struct { - // STACKIT network ID the Application Load Balancer and/or targets are in. - NetworkId string `pulumi:"networkId"` - // The role defines how the Application Load Balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. - Role string `pulumi:"role"` +func (i VpnConnectionTunnel2Phase2Args) ToVpnConnectionTunnel2Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Phase2Output).ToVpnConnectionTunnel2Phase2PtrOutputWithContext(ctx) } -// GetApplicationLoadBalancerNetworkInput is an input type that accepts GetApplicationLoadBalancerNetworkArgs and GetApplicationLoadBalancerNetworkOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerNetworkInput` via: +// VpnConnectionTunnel2Phase2PtrInput is an input type that accepts VpnConnectionTunnel2Phase2Args, VpnConnectionTunnel2Phase2Ptr and VpnConnectionTunnel2Phase2PtrOutput values. +// You can construct a concrete instance of `VpnConnectionTunnel2Phase2PtrInput` via: // -// GetApplicationLoadBalancerNetworkArgs{...} -type GetApplicationLoadBalancerNetworkInput interface { +// VpnConnectionTunnel2Phase2Args{...} +// +// or: +// +// nil +type VpnConnectionTunnel2Phase2PtrInput interface { pulumi.Input - ToGetApplicationLoadBalancerNetworkOutput() GetApplicationLoadBalancerNetworkOutput - ToGetApplicationLoadBalancerNetworkOutputWithContext(context.Context) GetApplicationLoadBalancerNetworkOutput + ToVpnConnectionTunnel2Phase2PtrOutput() VpnConnectionTunnel2Phase2PtrOutput + ToVpnConnectionTunnel2Phase2PtrOutputWithContext(context.Context) VpnConnectionTunnel2Phase2PtrOutput } -type GetApplicationLoadBalancerNetworkArgs struct { - // STACKIT network ID the Application Load Balancer and/or targets are in. - NetworkId pulumi.StringInput `pulumi:"networkId"` - // The role defines how the Application Load Balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. - Role pulumi.StringInput `pulumi:"role"` +type vpnConnectionTunnel2Phase2PtrType VpnConnectionTunnel2Phase2Args + +func VpnConnectionTunnel2Phase2Ptr(v *VpnConnectionTunnel2Phase2Args) VpnConnectionTunnel2Phase2PtrInput { + return (*vpnConnectionTunnel2Phase2PtrType)(v) } -func (GetApplicationLoadBalancerNetworkArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerNetwork)(nil)).Elem() +func (*vpnConnectionTunnel2Phase2PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel2Phase2)(nil)).Elem() } -func (i GetApplicationLoadBalancerNetworkArgs) ToGetApplicationLoadBalancerNetworkOutput() GetApplicationLoadBalancerNetworkOutput { - return i.ToGetApplicationLoadBalancerNetworkOutputWithContext(context.Background()) +func (i *vpnConnectionTunnel2Phase2PtrType) ToVpnConnectionTunnel2Phase2PtrOutput() VpnConnectionTunnel2Phase2PtrOutput { + return i.ToVpnConnectionTunnel2Phase2PtrOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerNetworkArgs) ToGetApplicationLoadBalancerNetworkOutputWithContext(ctx context.Context) GetApplicationLoadBalancerNetworkOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerNetworkOutput) +func (i *vpnConnectionTunnel2Phase2PtrType) ToVpnConnectionTunnel2Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionTunnel2Phase2PtrOutput) } -// GetApplicationLoadBalancerNetworkArrayInput is an input type that accepts GetApplicationLoadBalancerNetworkArray and GetApplicationLoadBalancerNetworkArrayOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerNetworkArrayInput` via: -// -// GetApplicationLoadBalancerNetworkArray{ GetApplicationLoadBalancerNetworkArgs{...} } -type GetApplicationLoadBalancerNetworkArrayInput interface { - pulumi.Input +type VpnConnectionTunnel2Phase2Output struct{ *pulumi.OutputState } - ToGetApplicationLoadBalancerNetworkArrayOutput() GetApplicationLoadBalancerNetworkArrayOutput - ToGetApplicationLoadBalancerNetworkArrayOutputWithContext(context.Context) GetApplicationLoadBalancerNetworkArrayOutput +func (VpnConnectionTunnel2Phase2Output) ElementType() reflect.Type { + return reflect.TypeOf((*VpnConnectionTunnel2Phase2)(nil)).Elem() } -type GetApplicationLoadBalancerNetworkArray []GetApplicationLoadBalancerNetworkInput +func (o VpnConnectionTunnel2Phase2Output) ToVpnConnectionTunnel2Phase2Output() VpnConnectionTunnel2Phase2Output { + return o +} -func (GetApplicationLoadBalancerNetworkArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerNetwork)(nil)).Elem() +func (o VpnConnectionTunnel2Phase2Output) ToVpnConnectionTunnel2Phase2OutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase2Output { + return o } -func (i GetApplicationLoadBalancerNetworkArray) ToGetApplicationLoadBalancerNetworkArrayOutput() GetApplicationLoadBalancerNetworkArrayOutput { - return i.ToGetApplicationLoadBalancerNetworkArrayOutputWithContext(context.Background()) +func (o VpnConnectionTunnel2Phase2Output) ToVpnConnectionTunnel2Phase2PtrOutput() VpnConnectionTunnel2Phase2PtrOutput { + return o.ToVpnConnectionTunnel2Phase2PtrOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerNetworkArray) ToGetApplicationLoadBalancerNetworkArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerNetworkArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerNetworkArrayOutput) +func (o VpnConnectionTunnel2Phase2Output) ToVpnConnectionTunnel2Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase2PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnConnectionTunnel2Phase2) *VpnConnectionTunnel2Phase2 { + return &v + }).(VpnConnectionTunnel2Phase2PtrOutput) } -type GetApplicationLoadBalancerNetworkOutput struct{ *pulumi.OutputState } +// Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. +func (o VpnConnectionTunnel2Phase2Output) DhGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Phase2) []string { return v.DhGroups }).(pulumi.StringArrayOutput) +} -func (GetApplicationLoadBalancerNetworkOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerNetwork)(nil)).Elem() +// Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. +func (o VpnConnectionTunnel2Phase2Output) DpdAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Phase2) *string { return v.DpdAction }).(pulumi.StringPtrOutput) } -func (o GetApplicationLoadBalancerNetworkOutput) ToGetApplicationLoadBalancerNetworkOutput() GetApplicationLoadBalancerNetworkOutput { - return o +// Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. +func (o VpnConnectionTunnel2Phase2Output) EncryptionAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Phase2) []string { return v.EncryptionAlgorithms }).(pulumi.StringArrayOutput) } -func (o GetApplicationLoadBalancerNetworkOutput) ToGetApplicationLoadBalancerNetworkOutputWithContext(ctx context.Context) GetApplicationLoadBalancerNetworkOutput { - return o +// Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. +func (o VpnConnectionTunnel2Phase2Output) IntegrityAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Phase2) []string { return v.IntegrityAlgorithms }).(pulumi.StringArrayOutput) } -// STACKIT network ID the Application Load Balancer and/or targets are in. -func (o GetApplicationLoadBalancerNetworkOutput) NetworkId() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerNetwork) string { return v.NetworkId }).(pulumi.StringOutput) +// Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. +func (o VpnConnectionTunnel2Phase2Output) RekeyTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Phase2) *int { return v.RekeyTime }).(pulumi.IntPtrOutput) } -// The role defines how the Application Load Balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. -func (o GetApplicationLoadBalancerNetworkOutput) Role() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerNetwork) string { return v.Role }).(pulumi.StringOutput) +// Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. +func (o VpnConnectionTunnel2Phase2Output) StartAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v VpnConnectionTunnel2Phase2) *string { return v.StartAction }).(pulumi.StringPtrOutput) } -type GetApplicationLoadBalancerNetworkArrayOutput struct{ *pulumi.OutputState } +type VpnConnectionTunnel2Phase2PtrOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerNetworkArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerNetwork)(nil)).Elem() +func (VpnConnectionTunnel2Phase2PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnectionTunnel2Phase2)(nil)).Elem() } -func (o GetApplicationLoadBalancerNetworkArrayOutput) ToGetApplicationLoadBalancerNetworkArrayOutput() GetApplicationLoadBalancerNetworkArrayOutput { +func (o VpnConnectionTunnel2Phase2PtrOutput) ToVpnConnectionTunnel2Phase2PtrOutput() VpnConnectionTunnel2Phase2PtrOutput { return o } -func (o GetApplicationLoadBalancerNetworkArrayOutput) ToGetApplicationLoadBalancerNetworkArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerNetworkArrayOutput { +func (o VpnConnectionTunnel2Phase2PtrOutput) ToVpnConnectionTunnel2Phase2PtrOutputWithContext(ctx context.Context) VpnConnectionTunnel2Phase2PtrOutput { return o } -func (o GetApplicationLoadBalancerNetworkArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerNetworkOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerNetwork { - return vs[0].([]GetApplicationLoadBalancerNetwork)[vs[1].(int)] - }).(GetApplicationLoadBalancerNetworkOutput) +func (o VpnConnectionTunnel2Phase2PtrOutput) Elem() VpnConnectionTunnel2Phase2Output { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase2) VpnConnectionTunnel2Phase2 { + if v != nil { + return *v + } + var ret VpnConnectionTunnel2Phase2 + return ret + }).(VpnConnectionTunnel2Phase2Output) } -type GetApplicationLoadBalancerOptions struct { - // Use this option to limit the IP ranges that can use the Application Load Balancer. - AccessControl GetApplicationLoadBalancerOptionsAccessControl `pulumi:"accessControl"` - // This option automates the handling of the external IP address for an Application Load Balancer. If set to true a new IP address will be automatically created. It will also be automatically deleted when the Load Balancer is deleted. - EphemeralAddress bool `pulumi:"ephemeralAddress"` - // We offer Load Balancer observability via STACKIT Observability or external solutions. - Observability GetApplicationLoadBalancerOptionsObservability `pulumi:"observability"` - // Application Load Balancer is accessible only via a private network ip address. Not changeable after creation. - PrivateNetworkOnly bool `pulumi:"privateNetworkOnly"` +// Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. +func (o VpnConnectionTunnel2Phase2PtrOutput) DhGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase2) []string { + if v == nil { + return nil + } + return v.DhGroups + }).(pulumi.StringArrayOutput) } -// GetApplicationLoadBalancerOptionsInput is an input type that accepts GetApplicationLoadBalancerOptionsArgs and GetApplicationLoadBalancerOptionsOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerOptionsInput` via: -// -// GetApplicationLoadBalancerOptionsArgs{...} -type GetApplicationLoadBalancerOptionsInput interface { - pulumi.Input - - ToGetApplicationLoadBalancerOptionsOutput() GetApplicationLoadBalancerOptionsOutput - ToGetApplicationLoadBalancerOptionsOutputWithContext(context.Context) GetApplicationLoadBalancerOptionsOutput +// Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. +func (o VpnConnectionTunnel2Phase2PtrOutput) DpdAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase2) *string { + if v == nil { + return nil + } + return v.DpdAction + }).(pulumi.StringPtrOutput) } -type GetApplicationLoadBalancerOptionsArgs struct { - // Use this option to limit the IP ranges that can use the Application Load Balancer. - AccessControl GetApplicationLoadBalancerOptionsAccessControlInput `pulumi:"accessControl"` - // This option automates the handling of the external IP address for an Application Load Balancer. If set to true a new IP address will be automatically created. It will also be automatically deleted when the Load Balancer is deleted. - EphemeralAddress pulumi.BoolInput `pulumi:"ephemeralAddress"` - // We offer Load Balancer observability via STACKIT Observability or external solutions. - Observability GetApplicationLoadBalancerOptionsObservabilityInput `pulumi:"observability"` - // Application Load Balancer is accessible only via a private network ip address. Not changeable after creation. - PrivateNetworkOnly pulumi.BoolInput `pulumi:"privateNetworkOnly"` +// Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. +func (o VpnConnectionTunnel2Phase2PtrOutput) EncryptionAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase2) []string { + if v == nil { + return nil + } + return v.EncryptionAlgorithms + }).(pulumi.StringArrayOutput) } -func (GetApplicationLoadBalancerOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerOptions)(nil)).Elem() +// Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. +func (o VpnConnectionTunnel2Phase2PtrOutput) IntegrityAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase2) []string { + if v == nil { + return nil + } + return v.IntegrityAlgorithms + }).(pulumi.StringArrayOutput) } -func (i GetApplicationLoadBalancerOptionsArgs) ToGetApplicationLoadBalancerOptionsOutput() GetApplicationLoadBalancerOptionsOutput { - return i.ToGetApplicationLoadBalancerOptionsOutputWithContext(context.Background()) +// Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. +func (o VpnConnectionTunnel2Phase2PtrOutput) RekeyTime() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase2) *int { + if v == nil { + return nil + } + return v.RekeyTime + }).(pulumi.IntPtrOutput) } -func (i GetApplicationLoadBalancerOptionsArgs) ToGetApplicationLoadBalancerOptionsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerOptionsOutput) +// Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. +func (o VpnConnectionTunnel2Phase2PtrOutput) StartAction() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnConnectionTunnel2Phase2) *string { + if v == nil { + return nil + } + return v.StartAction + }).(pulumi.StringPtrOutput) } -type GetApplicationLoadBalancerOptionsOutput struct{ *pulumi.OutputState } - -func (GetApplicationLoadBalancerOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerOptions)(nil)).Elem() +type VpnGatewayAvailabilityZones struct { + // Availability zone for tunnel 1. + Tunnel1 string `pulumi:"tunnel1"` + // Availability zone for tunnel 2. + Tunnel2 string `pulumi:"tunnel2"` } -func (o GetApplicationLoadBalancerOptionsOutput) ToGetApplicationLoadBalancerOptionsOutput() GetApplicationLoadBalancerOptionsOutput { - return o +// VpnGatewayAvailabilityZonesInput is an input type that accepts VpnGatewayAvailabilityZonesArgs and VpnGatewayAvailabilityZonesOutput values. +// You can construct a concrete instance of `VpnGatewayAvailabilityZonesInput` via: +// +// VpnGatewayAvailabilityZonesArgs{...} +type VpnGatewayAvailabilityZonesInput interface { + pulumi.Input + + ToVpnGatewayAvailabilityZonesOutput() VpnGatewayAvailabilityZonesOutput + ToVpnGatewayAvailabilityZonesOutputWithContext(context.Context) VpnGatewayAvailabilityZonesOutput } -func (o GetApplicationLoadBalancerOptionsOutput) ToGetApplicationLoadBalancerOptionsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsOutput { - return o +type VpnGatewayAvailabilityZonesArgs struct { + // Availability zone for tunnel 1. + Tunnel1 pulumi.StringInput `pulumi:"tunnel1"` + // Availability zone for tunnel 2. + Tunnel2 pulumi.StringInput `pulumi:"tunnel2"` } -// Use this option to limit the IP ranges that can use the Application Load Balancer. -func (o GetApplicationLoadBalancerOptionsOutput) AccessControl() GetApplicationLoadBalancerOptionsAccessControlOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptions) GetApplicationLoadBalancerOptionsAccessControl { - return v.AccessControl - }).(GetApplicationLoadBalancerOptionsAccessControlOutput) +func (VpnGatewayAvailabilityZonesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpnGatewayAvailabilityZones)(nil)).Elem() } -// This option automates the handling of the external IP address for an Application Load Balancer. If set to true a new IP address will be automatically created. It will also be automatically deleted when the Load Balancer is deleted. -func (o GetApplicationLoadBalancerOptionsOutput) EphemeralAddress() pulumi.BoolOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptions) bool { return v.EphemeralAddress }).(pulumi.BoolOutput) +func (i VpnGatewayAvailabilityZonesArgs) ToVpnGatewayAvailabilityZonesOutput() VpnGatewayAvailabilityZonesOutput { + return i.ToVpnGatewayAvailabilityZonesOutputWithContext(context.Background()) } -// We offer Load Balancer observability via STACKIT Observability or external solutions. -func (o GetApplicationLoadBalancerOptionsOutput) Observability() GetApplicationLoadBalancerOptionsObservabilityOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptions) GetApplicationLoadBalancerOptionsObservability { - return v.Observability - }).(GetApplicationLoadBalancerOptionsObservabilityOutput) +func (i VpnGatewayAvailabilityZonesArgs) ToVpnGatewayAvailabilityZonesOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayAvailabilityZonesOutput) } -// Application Load Balancer is accessible only via a private network ip address. Not changeable after creation. -func (o GetApplicationLoadBalancerOptionsOutput) PrivateNetworkOnly() pulumi.BoolOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptions) bool { return v.PrivateNetworkOnly }).(pulumi.BoolOutput) +func (i VpnGatewayAvailabilityZonesArgs) ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput { + return i.ToVpnGatewayAvailabilityZonesPtrOutputWithContext(context.Background()) } -type GetApplicationLoadBalancerOptionsAccessControl struct { - // Application Load Balancer is accessible only from an IP address in this range. - AllowedSourceRanges []string `pulumi:"allowedSourceRanges"` +func (i VpnGatewayAvailabilityZonesArgs) ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayAvailabilityZonesOutput).ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx) } -// GetApplicationLoadBalancerOptionsAccessControlInput is an input type that accepts GetApplicationLoadBalancerOptionsAccessControlArgs and GetApplicationLoadBalancerOptionsAccessControlOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerOptionsAccessControlInput` via: +// VpnGatewayAvailabilityZonesPtrInput is an input type that accepts VpnGatewayAvailabilityZonesArgs, VpnGatewayAvailabilityZonesPtr and VpnGatewayAvailabilityZonesPtrOutput values. +// You can construct a concrete instance of `VpnGatewayAvailabilityZonesPtrInput` via: // -// GetApplicationLoadBalancerOptionsAccessControlArgs{...} -type GetApplicationLoadBalancerOptionsAccessControlInput interface { +// VpnGatewayAvailabilityZonesArgs{...} +// +// or: +// +// nil +type VpnGatewayAvailabilityZonesPtrInput interface { pulumi.Input - ToGetApplicationLoadBalancerOptionsAccessControlOutput() GetApplicationLoadBalancerOptionsAccessControlOutput - ToGetApplicationLoadBalancerOptionsAccessControlOutputWithContext(context.Context) GetApplicationLoadBalancerOptionsAccessControlOutput + ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput + ToVpnGatewayAvailabilityZonesPtrOutputWithContext(context.Context) VpnGatewayAvailabilityZonesPtrOutput } -type GetApplicationLoadBalancerOptionsAccessControlArgs struct { - // Application Load Balancer is accessible only from an IP address in this range. - AllowedSourceRanges pulumi.StringArrayInput `pulumi:"allowedSourceRanges"` +type vpnGatewayAvailabilityZonesPtrType VpnGatewayAvailabilityZonesArgs + +func VpnGatewayAvailabilityZonesPtr(v *VpnGatewayAvailabilityZonesArgs) VpnGatewayAvailabilityZonesPtrInput { + return (*vpnGatewayAvailabilityZonesPtrType)(v) } -func (GetApplicationLoadBalancerOptionsAccessControlArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerOptionsAccessControl)(nil)).Elem() +func (*vpnGatewayAvailabilityZonesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnGatewayAvailabilityZones)(nil)).Elem() } -func (i GetApplicationLoadBalancerOptionsAccessControlArgs) ToGetApplicationLoadBalancerOptionsAccessControlOutput() GetApplicationLoadBalancerOptionsAccessControlOutput { - return i.ToGetApplicationLoadBalancerOptionsAccessControlOutputWithContext(context.Background()) +func (i *vpnGatewayAvailabilityZonesPtrType) ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput { + return i.ToVpnGatewayAvailabilityZonesPtrOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerOptionsAccessControlArgs) ToGetApplicationLoadBalancerOptionsAccessControlOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsAccessControlOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerOptionsAccessControlOutput) +func (i *vpnGatewayAvailabilityZonesPtrType) ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayAvailabilityZonesPtrOutput) } -type GetApplicationLoadBalancerOptionsAccessControlOutput struct{ *pulumi.OutputState } +type VpnGatewayAvailabilityZonesOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerOptionsAccessControlOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerOptionsAccessControl)(nil)).Elem() +func (VpnGatewayAvailabilityZonesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpnGatewayAvailabilityZones)(nil)).Elem() } -func (o GetApplicationLoadBalancerOptionsAccessControlOutput) ToGetApplicationLoadBalancerOptionsAccessControlOutput() GetApplicationLoadBalancerOptionsAccessControlOutput { +func (o VpnGatewayAvailabilityZonesOutput) ToVpnGatewayAvailabilityZonesOutput() VpnGatewayAvailabilityZonesOutput { return o } -func (o GetApplicationLoadBalancerOptionsAccessControlOutput) ToGetApplicationLoadBalancerOptionsAccessControlOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsAccessControlOutput { +func (o VpnGatewayAvailabilityZonesOutput) ToVpnGatewayAvailabilityZonesOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesOutput { return o } -// Application Load Balancer is accessible only from an IP address in this range. -func (o GetApplicationLoadBalancerOptionsAccessControlOutput) AllowedSourceRanges() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptionsAccessControl) []string { return v.AllowedSourceRanges }).(pulumi.StringArrayOutput) -} - -type GetApplicationLoadBalancerOptionsObservability struct { - // Observability logs configuration. - Logs GetApplicationLoadBalancerOptionsObservabilityLogs `pulumi:"logs"` - // Observability metrics configuration. - Metrics GetApplicationLoadBalancerOptionsObservabilityMetrics `pulumi:"metrics"` +func (o VpnGatewayAvailabilityZonesOutput) ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput { + return o.ToVpnGatewayAvailabilityZonesPtrOutputWithContext(context.Background()) } -// GetApplicationLoadBalancerOptionsObservabilityInput is an input type that accepts GetApplicationLoadBalancerOptionsObservabilityArgs and GetApplicationLoadBalancerOptionsObservabilityOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerOptionsObservabilityInput` via: -// -// GetApplicationLoadBalancerOptionsObservabilityArgs{...} -type GetApplicationLoadBalancerOptionsObservabilityInput interface { - pulumi.Input - - ToGetApplicationLoadBalancerOptionsObservabilityOutput() GetApplicationLoadBalancerOptionsObservabilityOutput - ToGetApplicationLoadBalancerOptionsObservabilityOutputWithContext(context.Context) GetApplicationLoadBalancerOptionsObservabilityOutput +func (o VpnGatewayAvailabilityZonesOutput) ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnGatewayAvailabilityZones) *VpnGatewayAvailabilityZones { + return &v + }).(VpnGatewayAvailabilityZonesPtrOutput) } -type GetApplicationLoadBalancerOptionsObservabilityArgs struct { - // Observability logs configuration. - Logs GetApplicationLoadBalancerOptionsObservabilityLogsInput `pulumi:"logs"` - // Observability metrics configuration. - Metrics GetApplicationLoadBalancerOptionsObservabilityMetricsInput `pulumi:"metrics"` +// Availability zone for tunnel 1. +func (o VpnGatewayAvailabilityZonesOutput) Tunnel1() pulumi.StringOutput { + return o.ApplyT(func(v VpnGatewayAvailabilityZones) string { return v.Tunnel1 }).(pulumi.StringOutput) } -func (GetApplicationLoadBalancerOptionsObservabilityArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservability)(nil)).Elem() +// Availability zone for tunnel 2. +func (o VpnGatewayAvailabilityZonesOutput) Tunnel2() pulumi.StringOutput { + return o.ApplyT(func(v VpnGatewayAvailabilityZones) string { return v.Tunnel2 }).(pulumi.StringOutput) } -func (i GetApplicationLoadBalancerOptionsObservabilityArgs) ToGetApplicationLoadBalancerOptionsObservabilityOutput() GetApplicationLoadBalancerOptionsObservabilityOutput { - return i.ToGetApplicationLoadBalancerOptionsObservabilityOutputWithContext(context.Background()) -} +type VpnGatewayAvailabilityZonesPtrOutput struct{ *pulumi.OutputState } -func (i GetApplicationLoadBalancerOptionsObservabilityArgs) ToGetApplicationLoadBalancerOptionsObservabilityOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerOptionsObservabilityOutput) +func (VpnGatewayAvailabilityZonesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnGatewayAvailabilityZones)(nil)).Elem() } -type GetApplicationLoadBalancerOptionsObservabilityOutput struct{ *pulumi.OutputState } - -func (GetApplicationLoadBalancerOptionsObservabilityOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservability)(nil)).Elem() +func (o VpnGatewayAvailabilityZonesPtrOutput) ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput { + return o } -func (o GetApplicationLoadBalancerOptionsObservabilityOutput) ToGetApplicationLoadBalancerOptionsObservabilityOutput() GetApplicationLoadBalancerOptionsObservabilityOutput { +func (o VpnGatewayAvailabilityZonesPtrOutput) ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesPtrOutput { return o } -func (o GetApplicationLoadBalancerOptionsObservabilityOutput) ToGetApplicationLoadBalancerOptionsObservabilityOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityOutput { - return o +func (o VpnGatewayAvailabilityZonesPtrOutput) Elem() VpnGatewayAvailabilityZonesOutput { + return o.ApplyT(func(v *VpnGatewayAvailabilityZones) VpnGatewayAvailabilityZones { + if v != nil { + return *v + } + var ret VpnGatewayAvailabilityZones + return ret + }).(VpnGatewayAvailabilityZonesOutput) } -// Observability logs configuration. -func (o GetApplicationLoadBalancerOptionsObservabilityOutput) Logs() GetApplicationLoadBalancerOptionsObservabilityLogsOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservability) GetApplicationLoadBalancerOptionsObservabilityLogs { - return v.Logs - }).(GetApplicationLoadBalancerOptionsObservabilityLogsOutput) +// Availability zone for tunnel 1. +func (o VpnGatewayAvailabilityZonesPtrOutput) Tunnel1() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnGatewayAvailabilityZones) *string { + if v == nil { + return nil + } + return &v.Tunnel1 + }).(pulumi.StringPtrOutput) } -// Observability metrics configuration. -func (o GetApplicationLoadBalancerOptionsObservabilityOutput) Metrics() GetApplicationLoadBalancerOptionsObservabilityMetricsOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservability) GetApplicationLoadBalancerOptionsObservabilityMetrics { - return v.Metrics - }).(GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) +// Availability zone for tunnel 2. +func (o VpnGatewayAvailabilityZonesPtrOutput) Tunnel2() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VpnGatewayAvailabilityZones) *string { + if v == nil { + return nil + } + return &v.Tunnel2 + }).(pulumi.StringPtrOutput) } -type GetApplicationLoadBalancerOptionsObservabilityLogs struct { - // Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. - CredentialsRef string `pulumi:"credentialsRef"` - // Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. - PushUrl string `pulumi:"pushUrl"` +type VpnGatewayBgp struct { + // Local ASN for BGP (private ASN range, 64512-4294967294). + LocalAsn int `pulumi:"localAsn"` + // List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. + OverrideAdvertisedRoutes []string `pulumi:"overrideAdvertisedRoutes"` } -// GetApplicationLoadBalancerOptionsObservabilityLogsInput is an input type that accepts GetApplicationLoadBalancerOptionsObservabilityLogsArgs and GetApplicationLoadBalancerOptionsObservabilityLogsOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerOptionsObservabilityLogsInput` via: +// VpnGatewayBgpInput is an input type that accepts VpnGatewayBgpArgs and VpnGatewayBgpOutput values. +// You can construct a concrete instance of `VpnGatewayBgpInput` via: // -// GetApplicationLoadBalancerOptionsObservabilityLogsArgs{...} -type GetApplicationLoadBalancerOptionsObservabilityLogsInput interface { +// VpnGatewayBgpArgs{...} +type VpnGatewayBgpInput interface { pulumi.Input - ToGetApplicationLoadBalancerOptionsObservabilityLogsOutput() GetApplicationLoadBalancerOptionsObservabilityLogsOutput - ToGetApplicationLoadBalancerOptionsObservabilityLogsOutputWithContext(context.Context) GetApplicationLoadBalancerOptionsObservabilityLogsOutput + ToVpnGatewayBgpOutput() VpnGatewayBgpOutput + ToVpnGatewayBgpOutputWithContext(context.Context) VpnGatewayBgpOutput } -type GetApplicationLoadBalancerOptionsObservabilityLogsArgs struct { - // Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. - CredentialsRef pulumi.StringInput `pulumi:"credentialsRef"` - // Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. - PushUrl pulumi.StringInput `pulumi:"pushUrl"` +type VpnGatewayBgpArgs struct { + // Local ASN for BGP (private ASN range, 64512-4294967294). + LocalAsn pulumi.IntInput `pulumi:"localAsn"` + // List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. + OverrideAdvertisedRoutes pulumi.StringArrayInput `pulumi:"overrideAdvertisedRoutes"` } -func (GetApplicationLoadBalancerOptionsObservabilityLogsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservabilityLogs)(nil)).Elem() +func (VpnGatewayBgpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpnGatewayBgp)(nil)).Elem() } -func (i GetApplicationLoadBalancerOptionsObservabilityLogsArgs) ToGetApplicationLoadBalancerOptionsObservabilityLogsOutput() GetApplicationLoadBalancerOptionsObservabilityLogsOutput { - return i.ToGetApplicationLoadBalancerOptionsObservabilityLogsOutputWithContext(context.Background()) +func (i VpnGatewayBgpArgs) ToVpnGatewayBgpOutput() VpnGatewayBgpOutput { + return i.ToVpnGatewayBgpOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerOptionsObservabilityLogsArgs) ToGetApplicationLoadBalancerOptionsObservabilityLogsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityLogsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerOptionsObservabilityLogsOutput) +func (i VpnGatewayBgpArgs) ToVpnGatewayBgpOutputWithContext(ctx context.Context) VpnGatewayBgpOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayBgpOutput) } -type GetApplicationLoadBalancerOptionsObservabilityLogsOutput struct{ *pulumi.OutputState } +func (i VpnGatewayBgpArgs) ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput { + return i.ToVpnGatewayBgpPtrOutputWithContext(context.Background()) +} -func (GetApplicationLoadBalancerOptionsObservabilityLogsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservabilityLogs)(nil)).Elem() +func (i VpnGatewayBgpArgs) ToVpnGatewayBgpPtrOutputWithContext(ctx context.Context) VpnGatewayBgpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayBgpOutput).ToVpnGatewayBgpPtrOutputWithContext(ctx) } -func (o GetApplicationLoadBalancerOptionsObservabilityLogsOutput) ToGetApplicationLoadBalancerOptionsObservabilityLogsOutput() GetApplicationLoadBalancerOptionsObservabilityLogsOutput { - return o +// VpnGatewayBgpPtrInput is an input type that accepts VpnGatewayBgpArgs, VpnGatewayBgpPtr and VpnGatewayBgpPtrOutput values. +// You can construct a concrete instance of `VpnGatewayBgpPtrInput` via: +// +// VpnGatewayBgpArgs{...} +// +// or: +// +// nil +type VpnGatewayBgpPtrInput interface { + pulumi.Input + + ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput + ToVpnGatewayBgpPtrOutputWithContext(context.Context) VpnGatewayBgpPtrOutput } -func (o GetApplicationLoadBalancerOptionsObservabilityLogsOutput) ToGetApplicationLoadBalancerOptionsObservabilityLogsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityLogsOutput { - return o +type vpnGatewayBgpPtrType VpnGatewayBgpArgs + +func VpnGatewayBgpPtr(v *VpnGatewayBgpArgs) VpnGatewayBgpPtrInput { + return (*vpnGatewayBgpPtrType)(v) } -// Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. -func (o GetApplicationLoadBalancerOptionsObservabilityLogsOutput) CredentialsRef() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservabilityLogs) string { return v.CredentialsRef }).(pulumi.StringOutput) +func (*vpnGatewayBgpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnGatewayBgp)(nil)).Elem() } -// Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. -func (o GetApplicationLoadBalancerOptionsObservabilityLogsOutput) PushUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservabilityLogs) string { return v.PushUrl }).(pulumi.StringOutput) +func (i *vpnGatewayBgpPtrType) ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput { + return i.ToVpnGatewayBgpPtrOutputWithContext(context.Background()) } -type GetApplicationLoadBalancerOptionsObservabilityMetrics struct { - // Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. - CredentialsRef string `pulumi:"credentialsRef"` - // Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. - PushUrl string `pulumi:"pushUrl"` +func (i *vpnGatewayBgpPtrType) ToVpnGatewayBgpPtrOutputWithContext(ctx context.Context) VpnGatewayBgpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayBgpPtrOutput) } -// GetApplicationLoadBalancerOptionsObservabilityMetricsInput is an input type that accepts GetApplicationLoadBalancerOptionsObservabilityMetricsArgs and GetApplicationLoadBalancerOptionsObservabilityMetricsOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerOptionsObservabilityMetricsInput` via: -// -// GetApplicationLoadBalancerOptionsObservabilityMetricsArgs{...} -type GetApplicationLoadBalancerOptionsObservabilityMetricsInput interface { - pulumi.Input +type VpnGatewayBgpOutput struct{ *pulumi.OutputState } - ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutput() GetApplicationLoadBalancerOptionsObservabilityMetricsOutput - ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutputWithContext(context.Context) GetApplicationLoadBalancerOptionsObservabilityMetricsOutput +func (VpnGatewayBgpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpnGatewayBgp)(nil)).Elem() } -type GetApplicationLoadBalancerOptionsObservabilityMetricsArgs struct { - // Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. - CredentialsRef pulumi.StringInput `pulumi:"credentialsRef"` - // Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. - PushUrl pulumi.StringInput `pulumi:"pushUrl"` +func (o VpnGatewayBgpOutput) ToVpnGatewayBgpOutput() VpnGatewayBgpOutput { + return o } -func (GetApplicationLoadBalancerOptionsObservabilityMetricsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservabilityMetrics)(nil)).Elem() +func (o VpnGatewayBgpOutput) ToVpnGatewayBgpOutputWithContext(ctx context.Context) VpnGatewayBgpOutput { + return o } -func (i GetApplicationLoadBalancerOptionsObservabilityMetricsArgs) ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutput() GetApplicationLoadBalancerOptionsObservabilityMetricsOutput { - return i.ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutputWithContext(context.Background()) +func (o VpnGatewayBgpOutput) ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput { + return o.ToVpnGatewayBgpPtrOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerOptionsObservabilityMetricsArgs) ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityMetricsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) +func (o VpnGatewayBgpOutput) ToVpnGatewayBgpPtrOutputWithContext(ctx context.Context) VpnGatewayBgpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnGatewayBgp) *VpnGatewayBgp { + return &v + }).(VpnGatewayBgpPtrOutput) } -type GetApplicationLoadBalancerOptionsObservabilityMetricsOutput struct{ *pulumi.OutputState } +// Local ASN for BGP (private ASN range, 64512-4294967294). +func (o VpnGatewayBgpOutput) LocalAsn() pulumi.IntOutput { + return o.ApplyT(func(v VpnGatewayBgp) int { return v.LocalAsn }).(pulumi.IntOutput) +} -func (GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservabilityMetrics)(nil)).Elem() +// List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. +func (o VpnGatewayBgpOutput) OverrideAdvertisedRoutes() pulumi.StringArrayOutput { + return o.ApplyT(func(v VpnGatewayBgp) []string { return v.OverrideAdvertisedRoutes }).(pulumi.StringArrayOutput) } -func (o GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutput() GetApplicationLoadBalancerOptionsObservabilityMetricsOutput { +type VpnGatewayBgpPtrOutput struct{ *pulumi.OutputState } + +func (VpnGatewayBgpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnGatewayBgp)(nil)).Elem() +} + +func (o VpnGatewayBgpPtrOutput) ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput { return o } -func (o GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityMetricsOutput { +func (o VpnGatewayBgpPtrOutput) ToVpnGatewayBgpPtrOutputWithContext(ctx context.Context) VpnGatewayBgpPtrOutput { return o } -// Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. -func (o GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) CredentialsRef() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservabilityMetrics) string { return v.CredentialsRef }).(pulumi.StringOutput) +func (o VpnGatewayBgpPtrOutput) Elem() VpnGatewayBgpOutput { + return o.ApplyT(func(v *VpnGatewayBgp) VpnGatewayBgp { + if v != nil { + return *v + } + var ret VpnGatewayBgp + return ret + }).(VpnGatewayBgpOutput) } -// Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. -func (o GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) PushUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservabilityMetrics) string { return v.PushUrl }).(pulumi.StringOutput) +// Local ASN for BGP (private ASN range, 64512-4294967294). +func (o VpnGatewayBgpPtrOutput) LocalAsn() pulumi.IntPtrOutput { + return o.ApplyT(func(v *VpnGatewayBgp) *int { + if v == nil { + return nil + } + return &v.LocalAsn + }).(pulumi.IntPtrOutput) } -type GetApplicationLoadBalancerTargetPool struct { - ActiveHealthCheck GetApplicationLoadBalancerTargetPoolActiveHealthCheck `pulumi:"activeHealthCheck"` - // Target pool name. - Name string `pulumi:"name"` - // The number identifying the port where each target listens for traffic. - TargetPort int `pulumi:"targetPort"` - // List of all targets which will be used in the pool. Limited to 250. - Targets []GetApplicationLoadBalancerTargetPoolTarget `pulumi:"targets"` - // Configuration for TLS bridging. - TlsConfig GetApplicationLoadBalancerTargetPoolTlsConfig `pulumi:"tlsConfig"` +// List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. +func (o VpnGatewayBgpPtrOutput) OverrideAdvertisedRoutes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnGatewayBgp) []string { + if v == nil { + return nil + } + return v.OverrideAdvertisedRoutes + }).(pulumi.StringArrayOutput) } -// GetApplicationLoadBalancerTargetPoolInput is an input type that accepts GetApplicationLoadBalancerTargetPoolArgs and GetApplicationLoadBalancerTargetPoolOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolInput` via: +type GetApplicationLoadBalancerError struct { + // The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. + Description string `pulumi:"description"` + // The error type specifies which part of the Application Load Balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the Application Load Balancer with try to use the provided IP and if not available reports TYPE*FIP*NOT_CONFIGURED error. Possible values are: `TYPE_UNSPECIFIED`, `TYPE_INTERNAL`, `TYPE_QUOTA_SECGROUP_EXCEEDED`, `TYPE_QUOTA_SECGROUPRULE_EXCEEDED`, `TYPE_PORT_NOT_CONFIGURED`, `TYPE_FIP_NOT_CONFIGURED`, `TYPE_TARGET_NOT_ACTIVE`, `TYPE_METRICS_MISCONFIGURED`, `TYPE_LOGS_MISCONFIGURED`. + Type string `pulumi:"type"` +} + +// GetApplicationLoadBalancerErrorInput is an input type that accepts GetApplicationLoadBalancerErrorArgs and GetApplicationLoadBalancerErrorOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerErrorInput` via: // -// GetApplicationLoadBalancerTargetPoolArgs{...} -type GetApplicationLoadBalancerTargetPoolInput interface { +// GetApplicationLoadBalancerErrorArgs{...} +type GetApplicationLoadBalancerErrorInput interface { pulumi.Input - ToGetApplicationLoadBalancerTargetPoolOutput() GetApplicationLoadBalancerTargetPoolOutput - ToGetApplicationLoadBalancerTargetPoolOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolOutput + ToGetApplicationLoadBalancerErrorOutput() GetApplicationLoadBalancerErrorOutput + ToGetApplicationLoadBalancerErrorOutputWithContext(context.Context) GetApplicationLoadBalancerErrorOutput } -type GetApplicationLoadBalancerTargetPoolArgs struct { - ActiveHealthCheck GetApplicationLoadBalancerTargetPoolActiveHealthCheckInput `pulumi:"activeHealthCheck"` - // Target pool name. - Name pulumi.StringInput `pulumi:"name"` - // The number identifying the port where each target listens for traffic. - TargetPort pulumi.IntInput `pulumi:"targetPort"` - // List of all targets which will be used in the pool. Limited to 250. - Targets GetApplicationLoadBalancerTargetPoolTargetArrayInput `pulumi:"targets"` - // Configuration for TLS bridging. - TlsConfig GetApplicationLoadBalancerTargetPoolTlsConfigInput `pulumi:"tlsConfig"` +type GetApplicationLoadBalancerErrorArgs struct { + // The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. + Description pulumi.StringInput `pulumi:"description"` + // The error type specifies which part of the Application Load Balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the Application Load Balancer with try to use the provided IP and if not available reports TYPE*FIP*NOT_CONFIGURED error. Possible values are: `TYPE_UNSPECIFIED`, `TYPE_INTERNAL`, `TYPE_QUOTA_SECGROUP_EXCEEDED`, `TYPE_QUOTA_SECGROUPRULE_EXCEEDED`, `TYPE_PORT_NOT_CONFIGURED`, `TYPE_FIP_NOT_CONFIGURED`, `TYPE_TARGET_NOT_ACTIVE`, `TYPE_METRICS_MISCONFIGURED`, `TYPE_LOGS_MISCONFIGURED`. + Type pulumi.StringInput `pulumi:"type"` } -func (GetApplicationLoadBalancerTargetPoolArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetPool)(nil)).Elem() +func (GetApplicationLoadBalancerErrorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerError)(nil)).Elem() } -func (i GetApplicationLoadBalancerTargetPoolArgs) ToGetApplicationLoadBalancerTargetPoolOutput() GetApplicationLoadBalancerTargetPoolOutput { - return i.ToGetApplicationLoadBalancerTargetPoolOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerErrorArgs) ToGetApplicationLoadBalancerErrorOutput() GetApplicationLoadBalancerErrorOutput { + return i.ToGetApplicationLoadBalancerErrorOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerTargetPoolArgs) ToGetApplicationLoadBalancerTargetPoolOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolOutput) +func (i GetApplicationLoadBalancerErrorArgs) ToGetApplicationLoadBalancerErrorOutputWithContext(ctx context.Context) GetApplicationLoadBalancerErrorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerErrorOutput) } -// GetApplicationLoadBalancerTargetPoolArrayInput is an input type that accepts GetApplicationLoadBalancerTargetPoolArray and GetApplicationLoadBalancerTargetPoolArrayOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolArrayInput` via: +// GetApplicationLoadBalancerErrorArrayInput is an input type that accepts GetApplicationLoadBalancerErrorArray and GetApplicationLoadBalancerErrorArrayOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerErrorArrayInput` via: // -// GetApplicationLoadBalancerTargetPoolArray{ GetApplicationLoadBalancerTargetPoolArgs{...} } -type GetApplicationLoadBalancerTargetPoolArrayInput interface { +// GetApplicationLoadBalancerErrorArray{ GetApplicationLoadBalancerErrorArgs{...} } +type GetApplicationLoadBalancerErrorArrayInput interface { pulumi.Input - ToGetApplicationLoadBalancerTargetPoolArrayOutput() GetApplicationLoadBalancerTargetPoolArrayOutput - ToGetApplicationLoadBalancerTargetPoolArrayOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolArrayOutput + ToGetApplicationLoadBalancerErrorArrayOutput() GetApplicationLoadBalancerErrorArrayOutput + ToGetApplicationLoadBalancerErrorArrayOutputWithContext(context.Context) GetApplicationLoadBalancerErrorArrayOutput } -type GetApplicationLoadBalancerTargetPoolArray []GetApplicationLoadBalancerTargetPoolInput +type GetApplicationLoadBalancerErrorArray []GetApplicationLoadBalancerErrorInput -func (GetApplicationLoadBalancerTargetPoolArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerTargetPool)(nil)).Elem() +func (GetApplicationLoadBalancerErrorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerError)(nil)).Elem() } -func (i GetApplicationLoadBalancerTargetPoolArray) ToGetApplicationLoadBalancerTargetPoolArrayOutput() GetApplicationLoadBalancerTargetPoolArrayOutput { - return i.ToGetApplicationLoadBalancerTargetPoolArrayOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerErrorArray) ToGetApplicationLoadBalancerErrorArrayOutput() GetApplicationLoadBalancerErrorArrayOutput { + return i.ToGetApplicationLoadBalancerErrorArrayOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerTargetPoolArray) ToGetApplicationLoadBalancerTargetPoolArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolArrayOutput) +func (i GetApplicationLoadBalancerErrorArray) ToGetApplicationLoadBalancerErrorArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerErrorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerErrorArrayOutput) } -type GetApplicationLoadBalancerTargetPoolOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerErrorOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerTargetPoolOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetPool)(nil)).Elem() +func (GetApplicationLoadBalancerErrorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerError)(nil)).Elem() } -func (o GetApplicationLoadBalancerTargetPoolOutput) ToGetApplicationLoadBalancerTargetPoolOutput() GetApplicationLoadBalancerTargetPoolOutput { +func (o GetApplicationLoadBalancerErrorOutput) ToGetApplicationLoadBalancerErrorOutput() GetApplicationLoadBalancerErrorOutput { return o } -func (o GetApplicationLoadBalancerTargetPoolOutput) ToGetApplicationLoadBalancerTargetPoolOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolOutput { +func (o GetApplicationLoadBalancerErrorOutput) ToGetApplicationLoadBalancerErrorOutputWithContext(ctx context.Context) GetApplicationLoadBalancerErrorOutput { return o } -func (o GetApplicationLoadBalancerTargetPoolOutput) ActiveHealthCheck() GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPool) GetApplicationLoadBalancerTargetPoolActiveHealthCheck { - return v.ActiveHealthCheck - }).(GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) -} - -// Target pool name. -func (o GetApplicationLoadBalancerTargetPoolOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPool) string { return v.Name }).(pulumi.StringOutput) -} - -// The number identifying the port where each target listens for traffic. -func (o GetApplicationLoadBalancerTargetPoolOutput) TargetPort() pulumi.IntOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPool) int { return v.TargetPort }).(pulumi.IntOutput) -} - -// List of all targets which will be used in the pool. Limited to 250. -func (o GetApplicationLoadBalancerTargetPoolOutput) Targets() GetApplicationLoadBalancerTargetPoolTargetArrayOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPool) []GetApplicationLoadBalancerTargetPoolTarget { - return v.Targets - }).(GetApplicationLoadBalancerTargetPoolTargetArrayOutput) +// The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. +func (o GetApplicationLoadBalancerErrorOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerError) string { return v.Description }).(pulumi.StringOutput) } -// Configuration for TLS bridging. -func (o GetApplicationLoadBalancerTargetPoolOutput) TlsConfig() GetApplicationLoadBalancerTargetPoolTlsConfigOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPool) GetApplicationLoadBalancerTargetPoolTlsConfig { - return v.TlsConfig - }).(GetApplicationLoadBalancerTargetPoolTlsConfigOutput) +// The error type specifies which part of the Application Load Balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the Application Load Balancer with try to use the provided IP and if not available reports TYPE*FIP*NOT_CONFIGURED error. Possible values are: `TYPE_UNSPECIFIED`, `TYPE_INTERNAL`, `TYPE_QUOTA_SECGROUP_EXCEEDED`, `TYPE_QUOTA_SECGROUPRULE_EXCEEDED`, `TYPE_PORT_NOT_CONFIGURED`, `TYPE_FIP_NOT_CONFIGURED`, `TYPE_TARGET_NOT_ACTIVE`, `TYPE_METRICS_MISCONFIGURED`, `TYPE_LOGS_MISCONFIGURED`. +func (o GetApplicationLoadBalancerErrorOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerError) string { return v.Type }).(pulumi.StringOutput) } -type GetApplicationLoadBalancerTargetPoolArrayOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerErrorArrayOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerTargetPoolArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerTargetPool)(nil)).Elem() +func (GetApplicationLoadBalancerErrorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerError)(nil)).Elem() } -func (o GetApplicationLoadBalancerTargetPoolArrayOutput) ToGetApplicationLoadBalancerTargetPoolArrayOutput() GetApplicationLoadBalancerTargetPoolArrayOutput { +func (o GetApplicationLoadBalancerErrorArrayOutput) ToGetApplicationLoadBalancerErrorArrayOutput() GetApplicationLoadBalancerErrorArrayOutput { return o } -func (o GetApplicationLoadBalancerTargetPoolArrayOutput) ToGetApplicationLoadBalancerTargetPoolArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolArrayOutput { +func (o GetApplicationLoadBalancerErrorArrayOutput) ToGetApplicationLoadBalancerErrorArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerErrorArrayOutput { return o } -func (o GetApplicationLoadBalancerTargetPoolArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerTargetPoolOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerTargetPool { - return vs[0].([]GetApplicationLoadBalancerTargetPool)[vs[1].(int)] - }).(GetApplicationLoadBalancerTargetPoolOutput) +func (o GetApplicationLoadBalancerErrorArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerErrorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerError { + return vs[0].([]GetApplicationLoadBalancerError)[vs[1].(int)] + }).(GetApplicationLoadBalancerErrorOutput) } -type GetApplicationLoadBalancerTargetPoolActiveHealthCheck struct { - // Healthy threshold of the health checking. - HealthyThreshold int `pulumi:"healthyThreshold"` - // Options for the HTTP health checking. - HttpHealthChecks GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks `pulumi:"httpHealthChecks"` - // Interval duration of health checking in seconds. - Interval string `pulumi:"interval"` - // Interval duration threshold of the health checking in seconds. - IntervalJitter string `pulumi:"intervalJitter"` - // Active health checking timeout duration in seconds. - Timeout string `pulumi:"timeout"` - // Unhealthy threshold of the health checking. - UnhealthyThreshold int `pulumi:"unhealthyThreshold"` +type GetApplicationLoadBalancerListener struct { + // Configuration for HTTP traffic. + Http GetApplicationLoadBalancerListenerHttp `pulumi:"http"` + // Configuration for handling HTTPS traffic on this listener. + Https GetApplicationLoadBalancerListenerHttps `pulumi:"https"` + // Unique name for the listener + Name string `pulumi:"name"` + // Port number on which the listener receives incoming traffic. + Port int `pulumi:"port"` + // Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`. + Protocol string `pulumi:"protocol"` + // Enable Web Application Firewall (WAF), referenced by name. See "Application Load Balancer - Web Application Firewall API" for more information. + WafConfigName string `pulumi:"wafConfigName"` } -// GetApplicationLoadBalancerTargetPoolActiveHealthCheckInput is an input type that accepts GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs and GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolActiveHealthCheckInput` via: +// GetApplicationLoadBalancerListenerInput is an input type that accepts GetApplicationLoadBalancerListenerArgs and GetApplicationLoadBalancerListenerOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerInput` via: // -// GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs{...} -type GetApplicationLoadBalancerTargetPoolActiveHealthCheckInput interface { +// GetApplicationLoadBalancerListenerArgs{...} +type GetApplicationLoadBalancerListenerInput interface { pulumi.Input - ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput - ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput + ToGetApplicationLoadBalancerListenerOutput() GetApplicationLoadBalancerListenerOutput + ToGetApplicationLoadBalancerListenerOutputWithContext(context.Context) GetApplicationLoadBalancerListenerOutput } -type GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs struct { - // Healthy threshold of the health checking. - HealthyThreshold pulumi.IntInput `pulumi:"healthyThreshold"` - // Options for the HTTP health checking. - HttpHealthChecks GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksInput `pulumi:"httpHealthChecks"` - // Interval duration of health checking in seconds. - Interval pulumi.StringInput `pulumi:"interval"` - // Interval duration threshold of the health checking in seconds. - IntervalJitter pulumi.StringInput `pulumi:"intervalJitter"` - // Active health checking timeout duration in seconds. - Timeout pulumi.StringInput `pulumi:"timeout"` - // Unhealthy threshold of the health checking. - UnhealthyThreshold pulumi.IntInput `pulumi:"unhealthyThreshold"` +type GetApplicationLoadBalancerListenerArgs struct { + // Configuration for HTTP traffic. + Http GetApplicationLoadBalancerListenerHttpInput `pulumi:"http"` + // Configuration for handling HTTPS traffic on this listener. + Https GetApplicationLoadBalancerListenerHttpsInput `pulumi:"https"` + // Unique name for the listener + Name pulumi.StringInput `pulumi:"name"` + // Port number on which the listener receives incoming traffic. + Port pulumi.IntInput `pulumi:"port"` + // Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`. + Protocol pulumi.StringInput `pulumi:"protocol"` + // Enable Web Application Firewall (WAF), referenced by name. See "Application Load Balancer - Web Application Firewall API" for more information. + WafConfigName pulumi.StringInput `pulumi:"wafConfigName"` } -func (GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolActiveHealthCheck)(nil)).Elem() +func (GetApplicationLoadBalancerListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListener)(nil)).Elem() } -func (i GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput { - return i.ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerListenerArgs) ToGetApplicationLoadBalancerListenerOutput() GetApplicationLoadBalancerListenerOutput { + return i.ToGetApplicationLoadBalancerListenerOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) +func (i GetApplicationLoadBalancerListenerArgs) ToGetApplicationLoadBalancerListenerOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerOutput) } -type GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput struct{ *pulumi.OutputState } +// GetApplicationLoadBalancerListenerArrayInput is an input type that accepts GetApplicationLoadBalancerListenerArray and GetApplicationLoadBalancerListenerArrayOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerArrayInput` via: +// +// GetApplicationLoadBalancerListenerArray{ GetApplicationLoadBalancerListenerArgs{...} } +type GetApplicationLoadBalancerListenerArrayInput interface { + pulumi.Input -func (GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolActiveHealthCheck)(nil)).Elem() + ToGetApplicationLoadBalancerListenerArrayOutput() GetApplicationLoadBalancerListenerArrayOutput + ToGetApplicationLoadBalancerListenerArrayOutputWithContext(context.Context) GetApplicationLoadBalancerListenerArrayOutput } -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput { - return o -} +type GetApplicationLoadBalancerListenerArray []GetApplicationLoadBalancerListenerInput -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput { - return o +func (GetApplicationLoadBalancerListenerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerListener)(nil)).Elem() } -// Healthy threshold of the health checking. -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) HealthyThreshold() pulumi.IntOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) int { return v.HealthyThreshold }).(pulumi.IntOutput) +func (i GetApplicationLoadBalancerListenerArray) ToGetApplicationLoadBalancerListenerArrayOutput() GetApplicationLoadBalancerListenerArrayOutput { + return i.ToGetApplicationLoadBalancerListenerArrayOutputWithContext(context.Background()) } -// Options for the HTTP health checking. -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) HttpHealthChecks() GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks { - return v.HttpHealthChecks - }).(GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) +func (i GetApplicationLoadBalancerListenerArray) ToGetApplicationLoadBalancerListenerArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerArrayOutput) } -// Interval duration of health checking in seconds. -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) Interval() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) string { return v.Interval }).(pulumi.StringOutput) -} +type GetApplicationLoadBalancerListenerOutput struct{ *pulumi.OutputState } -// Interval duration threshold of the health checking in seconds. -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) IntervalJitter() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) string { return v.IntervalJitter }).(pulumi.StringOutput) +func (GetApplicationLoadBalancerListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListener)(nil)).Elem() } -// Active health checking timeout duration in seconds. -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) Timeout() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) string { return v.Timeout }).(pulumi.StringOutput) +func (o GetApplicationLoadBalancerListenerOutput) ToGetApplicationLoadBalancerListenerOutput() GetApplicationLoadBalancerListenerOutput { + return o } -// Unhealthy threshold of the health checking. -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) UnhealthyThreshold() pulumi.IntOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) int { return v.UnhealthyThreshold }).(pulumi.IntOutput) +func (o GetApplicationLoadBalancerListenerOutput) ToGetApplicationLoadBalancerListenerOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerOutput { + return o } -type GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks struct { - // List of HTTP status codes that indicate a healthy response. - OkStatuses []string `pulumi:"okStatuses"` - // Path to send the health check request to. - Path string `pulumi:"path"` +// Configuration for HTTP traffic. +func (o GetApplicationLoadBalancerListenerOutput) Http() GetApplicationLoadBalancerListenerHttpOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListener) GetApplicationLoadBalancerListenerHttp { return v.Http }).(GetApplicationLoadBalancerListenerHttpOutput) } -// GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksInput is an input type that accepts GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs and GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksInput` via: -// -// GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs{...} -type GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksInput interface { - pulumi.Input - - ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput - ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput +// Configuration for handling HTTPS traffic on this listener. +func (o GetApplicationLoadBalancerListenerOutput) Https() GetApplicationLoadBalancerListenerHttpsOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListener) GetApplicationLoadBalancerListenerHttps { return v.Https }).(GetApplicationLoadBalancerListenerHttpsOutput) } -type GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs struct { - // List of HTTP status codes that indicate a healthy response. - OkStatuses pulumi.StringArrayInput `pulumi:"okStatuses"` - // Path to send the health check request to. - Path pulumi.StringInput `pulumi:"path"` +// Unique name for the listener +func (o GetApplicationLoadBalancerListenerOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListener) string { return v.Name }).(pulumi.StringOutput) } -func (GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks)(nil)).Elem() +// Port number on which the listener receives incoming traffic. +func (o GetApplicationLoadBalancerListenerOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListener) int { return v.Port }).(pulumi.IntOutput) } -func (i GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput { - return i.ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutputWithContext(context.Background()) +// Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`. +func (o GetApplicationLoadBalancerListenerOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListener) string { return v.Protocol }).(pulumi.StringOutput) } -func (i GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) +// Enable Web Application Firewall (WAF), referenced by name. See "Application Load Balancer - Web Application Firewall API" for more information. +func (o GetApplicationLoadBalancerListenerOutput) WafConfigName() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListener) string { return v.WafConfigName }).(pulumi.StringOutput) } -type GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerListenerArrayOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks)(nil)).Elem() +func (GetApplicationLoadBalancerListenerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerListener)(nil)).Elem() } -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput { +func (o GetApplicationLoadBalancerListenerArrayOutput) ToGetApplicationLoadBalancerListenerArrayOutput() GetApplicationLoadBalancerListenerArrayOutput { return o } -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput { +func (o GetApplicationLoadBalancerListenerArrayOutput) ToGetApplicationLoadBalancerListenerArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerArrayOutput { return o } -// List of HTTP status codes that indicate a healthy response. -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) OkStatuses() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks) []string { - return v.OkStatuses - }).(pulumi.StringArrayOutput) -} - -// Path to send the health check request to. -func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) Path() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks) string { return v.Path }).(pulumi.StringOutput) +func (o GetApplicationLoadBalancerListenerArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerListenerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerListener { + return vs[0].([]GetApplicationLoadBalancerListener)[vs[1].(int)] + }).(GetApplicationLoadBalancerListenerOutput) } -type GetApplicationLoadBalancerTargetPoolTarget struct { - // Target display name - DisplayName string `pulumi:"displayName"` - // Private target IP, which must by unique within a target pool. - Ip string `pulumi:"ip"` +type GetApplicationLoadBalancerListenerHttp struct { + // Defines routing rules grouped by hostname. + Hosts []GetApplicationLoadBalancerListenerHttpHost `pulumi:"hosts"` } -// GetApplicationLoadBalancerTargetPoolTargetInput is an input type that accepts GetApplicationLoadBalancerTargetPoolTargetArgs and GetApplicationLoadBalancerTargetPoolTargetOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolTargetInput` via: +// GetApplicationLoadBalancerListenerHttpInput is an input type that accepts GetApplicationLoadBalancerListenerHttpArgs and GetApplicationLoadBalancerListenerHttpOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpInput` via: // -// GetApplicationLoadBalancerTargetPoolTargetArgs{...} -type GetApplicationLoadBalancerTargetPoolTargetInput interface { +// GetApplicationLoadBalancerListenerHttpArgs{...} +type GetApplicationLoadBalancerListenerHttpInput interface { pulumi.Input - ToGetApplicationLoadBalancerTargetPoolTargetOutput() GetApplicationLoadBalancerTargetPoolTargetOutput - ToGetApplicationLoadBalancerTargetPoolTargetOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolTargetOutput -} - -type GetApplicationLoadBalancerTargetPoolTargetArgs struct { - // Target display name - DisplayName pulumi.StringInput `pulumi:"displayName"` - // Private target IP, which must by unique within a target pool. - Ip pulumi.StringInput `pulumi:"ip"` -} - -func (GetApplicationLoadBalancerTargetPoolTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolTarget)(nil)).Elem() -} - -func (i GetApplicationLoadBalancerTargetPoolTargetArgs) ToGetApplicationLoadBalancerTargetPoolTargetOutput() GetApplicationLoadBalancerTargetPoolTargetOutput { - return i.ToGetApplicationLoadBalancerTargetPoolTargetOutputWithContext(context.Background()) -} - -func (i GetApplicationLoadBalancerTargetPoolTargetArgs) ToGetApplicationLoadBalancerTargetPoolTargetOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolTargetOutput) + ToGetApplicationLoadBalancerListenerHttpOutput() GetApplicationLoadBalancerListenerHttpOutput + ToGetApplicationLoadBalancerListenerHttpOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpOutput } -// GetApplicationLoadBalancerTargetPoolTargetArrayInput is an input type that accepts GetApplicationLoadBalancerTargetPoolTargetArray and GetApplicationLoadBalancerTargetPoolTargetArrayOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolTargetArrayInput` via: -// -// GetApplicationLoadBalancerTargetPoolTargetArray{ GetApplicationLoadBalancerTargetPoolTargetArgs{...} } -type GetApplicationLoadBalancerTargetPoolTargetArrayInput interface { - pulumi.Input - - ToGetApplicationLoadBalancerTargetPoolTargetArrayOutput() GetApplicationLoadBalancerTargetPoolTargetArrayOutput - ToGetApplicationLoadBalancerTargetPoolTargetArrayOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolTargetArrayOutput +type GetApplicationLoadBalancerListenerHttpArgs struct { + // Defines routing rules grouped by hostname. + Hosts GetApplicationLoadBalancerListenerHttpHostArrayInput `pulumi:"hosts"` } -type GetApplicationLoadBalancerTargetPoolTargetArray []GetApplicationLoadBalancerTargetPoolTargetInput - -func (GetApplicationLoadBalancerTargetPoolTargetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerTargetPoolTarget)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttp)(nil)).Elem() } -func (i GetApplicationLoadBalancerTargetPoolTargetArray) ToGetApplicationLoadBalancerTargetPoolTargetArrayOutput() GetApplicationLoadBalancerTargetPoolTargetArrayOutput { - return i.ToGetApplicationLoadBalancerTargetPoolTargetArrayOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerListenerHttpArgs) ToGetApplicationLoadBalancerListenerHttpOutput() GetApplicationLoadBalancerListenerHttpOutput { + return i.ToGetApplicationLoadBalancerListenerHttpOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerTargetPoolTargetArray) ToGetApplicationLoadBalancerTargetPoolTargetArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTargetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolTargetArrayOutput) +func (i GetApplicationLoadBalancerListenerHttpArgs) ToGetApplicationLoadBalancerListenerHttpOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpOutput) } -type GetApplicationLoadBalancerTargetPoolTargetOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerListenerHttpOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerTargetPoolTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolTarget)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttp)(nil)).Elem() } -func (o GetApplicationLoadBalancerTargetPoolTargetOutput) ToGetApplicationLoadBalancerTargetPoolTargetOutput() GetApplicationLoadBalancerTargetPoolTargetOutput { +func (o GetApplicationLoadBalancerListenerHttpOutput) ToGetApplicationLoadBalancerListenerHttpOutput() GetApplicationLoadBalancerListenerHttpOutput { return o } -func (o GetApplicationLoadBalancerTargetPoolTargetOutput) ToGetApplicationLoadBalancerTargetPoolTargetOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTargetOutput { +func (o GetApplicationLoadBalancerListenerHttpOutput) ToGetApplicationLoadBalancerListenerHttpOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpOutput { return o } -// Target display name -func (o GetApplicationLoadBalancerTargetPoolTargetOutput) DisplayName() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolTarget) string { return v.DisplayName }).(pulumi.StringOutput) +// Defines routing rules grouped by hostname. +func (o GetApplicationLoadBalancerListenerHttpOutput) Hosts() GetApplicationLoadBalancerListenerHttpHostArrayOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttp) []GetApplicationLoadBalancerListenerHttpHost { + return v.Hosts + }).(GetApplicationLoadBalancerListenerHttpHostArrayOutput) } -// Private target IP, which must by unique within a target pool. -func (o GetApplicationLoadBalancerTargetPoolTargetOutput) Ip() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolTarget) string { return v.Ip }).(pulumi.StringOutput) +type GetApplicationLoadBalancerListenerHttpHost struct { + // Hostname to match. Supports wildcards (e.g. *.example.com). + Host string `pulumi:"host"` + // Routing rules under the specified host, matched by path prefix. + Rules []GetApplicationLoadBalancerListenerHttpHostRule `pulumi:"rules"` } -type GetApplicationLoadBalancerTargetPoolTargetArrayOutput struct{ *pulumi.OutputState } +// GetApplicationLoadBalancerListenerHttpHostInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostArgs and GetApplicationLoadBalancerListenerHttpHostOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostInput` via: +// +// GetApplicationLoadBalancerListenerHttpHostArgs{...} +type GetApplicationLoadBalancerListenerHttpHostInput interface { + pulumi.Input -func (GetApplicationLoadBalancerTargetPoolTargetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetApplicationLoadBalancerTargetPoolTarget)(nil)).Elem() + ToGetApplicationLoadBalancerListenerHttpHostOutput() GetApplicationLoadBalancerListenerHttpHostOutput + ToGetApplicationLoadBalancerListenerHttpHostOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostOutput } -func (o GetApplicationLoadBalancerTargetPoolTargetArrayOutput) ToGetApplicationLoadBalancerTargetPoolTargetArrayOutput() GetApplicationLoadBalancerTargetPoolTargetArrayOutput { - return o +type GetApplicationLoadBalancerListenerHttpHostArgs struct { + // Hostname to match. Supports wildcards (e.g. *.example.com). + Host pulumi.StringInput `pulumi:"host"` + // Routing rules under the specified host, matched by path prefix. + Rules GetApplicationLoadBalancerListenerHttpHostRuleArrayInput `pulumi:"rules"` } -func (o GetApplicationLoadBalancerTargetPoolTargetArrayOutput) ToGetApplicationLoadBalancerTargetPoolTargetArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTargetArrayOutput { - return o +func (GetApplicationLoadBalancerListenerHttpHostArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHost)(nil)).Elem() } -func (o GetApplicationLoadBalancerTargetPoolTargetArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerTargetPoolTargetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerTargetPoolTarget { - return vs[0].([]GetApplicationLoadBalancerTargetPoolTarget)[vs[1].(int)] - }).(GetApplicationLoadBalancerTargetPoolTargetOutput) +func (i GetApplicationLoadBalancerListenerHttpHostArgs) ToGetApplicationLoadBalancerListenerHttpHostOutput() GetApplicationLoadBalancerListenerHttpHostOutput { + return i.ToGetApplicationLoadBalancerListenerHttpHostOutputWithContext(context.Background()) } -type GetApplicationLoadBalancerTargetPoolTlsConfig struct { - // Specifies a custom Certificate Authority (CA). When provided, the target pool will trust certificates signed by this CA, in addition to any system-trusted CAs. This is useful for scenarios where the target pool needs to communicate with servers using self-signed or internally-issued certificates. Enabled needs to be set to true and skip validation to false for this option. - CustomCa string `pulumi:"customCa"` - // Enable TLS (Transport Layer Security) bridging for the connection between Application Load Balancer and targets in this pool. When enabled, public CAs are trusted. Can be used in tandem with the options either custom CA or skip validation or alone. - Enabled bool `pulumi:"enabled"` - // Bypass certificate validation for TLS bridging in this target pool. This option is insecure and can only be used with public CAs by setting enabled true. Meant to be used for testing purposes only! - SkipCertificateValidation bool `pulumi:"skipCertificateValidation"` +func (i GetApplicationLoadBalancerListenerHttpHostArgs) ToGetApplicationLoadBalancerListenerHttpHostOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostOutput) } -// GetApplicationLoadBalancerTargetPoolTlsConfigInput is an input type that accepts GetApplicationLoadBalancerTargetPoolTlsConfigArgs and GetApplicationLoadBalancerTargetPoolTlsConfigOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolTlsConfigInput` via: +// GetApplicationLoadBalancerListenerHttpHostArrayInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostArray and GetApplicationLoadBalancerListenerHttpHostArrayOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostArrayInput` via: // -// GetApplicationLoadBalancerTargetPoolTlsConfigArgs{...} -type GetApplicationLoadBalancerTargetPoolTlsConfigInput interface { +// GetApplicationLoadBalancerListenerHttpHostArray{ GetApplicationLoadBalancerListenerHttpHostArgs{...} } +type GetApplicationLoadBalancerListenerHttpHostArrayInput interface { pulumi.Input - ToGetApplicationLoadBalancerTargetPoolTlsConfigOutput() GetApplicationLoadBalancerTargetPoolTlsConfigOutput - ToGetApplicationLoadBalancerTargetPoolTlsConfigOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolTlsConfigOutput + ToGetApplicationLoadBalancerListenerHttpHostArrayOutput() GetApplicationLoadBalancerListenerHttpHostArrayOutput + ToGetApplicationLoadBalancerListenerHttpHostArrayOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostArrayOutput } -type GetApplicationLoadBalancerTargetPoolTlsConfigArgs struct { - // Specifies a custom Certificate Authority (CA). When provided, the target pool will trust certificates signed by this CA, in addition to any system-trusted CAs. This is useful for scenarios where the target pool needs to communicate with servers using self-signed or internally-issued certificates. Enabled needs to be set to true and skip validation to false for this option. - CustomCa pulumi.StringInput `pulumi:"customCa"` - // Enable TLS (Transport Layer Security) bridging for the connection between Application Load Balancer and targets in this pool. When enabled, public CAs are trusted. Can be used in tandem with the options either custom CA or skip validation or alone. - Enabled pulumi.BoolInput `pulumi:"enabled"` - // Bypass certificate validation for TLS bridging in this target pool. This option is insecure and can only be used with public CAs by setting enabled true. Meant to be used for testing purposes only! - SkipCertificateValidation pulumi.BoolInput `pulumi:"skipCertificateValidation"` -} +type GetApplicationLoadBalancerListenerHttpHostArray []GetApplicationLoadBalancerListenerHttpHostInput -func (GetApplicationLoadBalancerTargetPoolTlsConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolTlsConfig)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpHostArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHost)(nil)).Elem() } -func (i GetApplicationLoadBalancerTargetPoolTlsConfigArgs) ToGetApplicationLoadBalancerTargetPoolTlsConfigOutput() GetApplicationLoadBalancerTargetPoolTlsConfigOutput { - return i.ToGetApplicationLoadBalancerTargetPoolTlsConfigOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerListenerHttpHostArray) ToGetApplicationLoadBalancerListenerHttpHostArrayOutput() GetApplicationLoadBalancerListenerHttpHostArrayOutput { + return i.ToGetApplicationLoadBalancerListenerHttpHostArrayOutputWithContext(context.Background()) } -func (i GetApplicationLoadBalancerTargetPoolTlsConfigArgs) ToGetApplicationLoadBalancerTargetPoolTlsConfigOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTlsConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolTlsConfigOutput) +func (i GetApplicationLoadBalancerListenerHttpHostArray) ToGetApplicationLoadBalancerListenerHttpHostArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostArrayOutput) } -type GetApplicationLoadBalancerTargetPoolTlsConfigOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerListenerHttpHostOutput struct{ *pulumi.OutputState } -func (GetApplicationLoadBalancerTargetPoolTlsConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolTlsConfig)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpHostOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHost)(nil)).Elem() } -func (o GetApplicationLoadBalancerTargetPoolTlsConfigOutput) ToGetApplicationLoadBalancerTargetPoolTlsConfigOutput() GetApplicationLoadBalancerTargetPoolTlsConfigOutput { +func (o GetApplicationLoadBalancerListenerHttpHostOutput) ToGetApplicationLoadBalancerListenerHttpHostOutput() GetApplicationLoadBalancerListenerHttpHostOutput { return o } -func (o GetApplicationLoadBalancerTargetPoolTlsConfigOutput) ToGetApplicationLoadBalancerTargetPoolTlsConfigOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTlsConfigOutput { +func (o GetApplicationLoadBalancerListenerHttpHostOutput) ToGetApplicationLoadBalancerListenerHttpHostOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostOutput { return o } -// Specifies a custom Certificate Authority (CA). When provided, the target pool will trust certificates signed by this CA, in addition to any system-trusted CAs. This is useful for scenarios where the target pool needs to communicate with servers using self-signed or internally-issued certificates. Enabled needs to be set to true and skip validation to false for this option. -func (o GetApplicationLoadBalancerTargetPoolTlsConfigOutput) CustomCa() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolTlsConfig) string { return v.CustomCa }).(pulumi.StringOutput) +// Hostname to match. Supports wildcards (e.g. *.example.com). +func (o GetApplicationLoadBalancerListenerHttpHostOutput) Host() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHost) string { return v.Host }).(pulumi.StringOutput) } -// Enable TLS (Transport Layer Security) bridging for the connection between Application Load Balancer and targets in this pool. When enabled, public CAs are trusted. Can be used in tandem with the options either custom CA or skip validation or alone. -func (o GetApplicationLoadBalancerTargetPoolTlsConfigOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolTlsConfig) bool { return v.Enabled }).(pulumi.BoolOutput) +// Routing rules under the specified host, matched by path prefix. +func (o GetApplicationLoadBalancerListenerHttpHostOutput) Rules() GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHost) []GetApplicationLoadBalancerListenerHttpHostRule { + return v.Rules + }).(GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) } -// Bypass certificate validation for TLS bridging in this target pool. This option is insecure and can only be used with public CAs by setting enabled true. Meant to be used for testing purposes only! -func (o GetApplicationLoadBalancerTargetPoolTlsConfigOutput) SkipCertificateValidation() pulumi.BoolOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolTlsConfig) bool { return v.SkipCertificateValidation }).(pulumi.BoolOutput) -} +type GetApplicationLoadBalancerListenerHttpHostArrayOutput struct{ *pulumi.OutputState } -type GetApplicationLoadBalancerTargetSecurityGroup struct { - // ID of the security Group - Id string `pulumi:"id"` - // Name of the security Group - Name string `pulumi:"name"` +func (GetApplicationLoadBalancerListenerHttpHostArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHost)(nil)).Elem() } -// GetApplicationLoadBalancerTargetSecurityGroupInput is an input type that accepts GetApplicationLoadBalancerTargetSecurityGroupArgs and GetApplicationLoadBalancerTargetSecurityGroupOutput values. -// You can construct a concrete instance of `GetApplicationLoadBalancerTargetSecurityGroupInput` via: -// -// GetApplicationLoadBalancerTargetSecurityGroupArgs{...} -type GetApplicationLoadBalancerTargetSecurityGroupInput interface { - pulumi.Input - - ToGetApplicationLoadBalancerTargetSecurityGroupOutput() GetApplicationLoadBalancerTargetSecurityGroupOutput - ToGetApplicationLoadBalancerTargetSecurityGroupOutputWithContext(context.Context) GetApplicationLoadBalancerTargetSecurityGroupOutput +func (o GetApplicationLoadBalancerListenerHttpHostArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostArrayOutput() GetApplicationLoadBalancerListenerHttpHostArrayOutput { + return o } -type GetApplicationLoadBalancerTargetSecurityGroupArgs struct { - // ID of the security Group - Id pulumi.StringInput `pulumi:"id"` - // Name of the security Group - Name pulumi.StringInput `pulumi:"name"` +func (o GetApplicationLoadBalancerListenerHttpHostArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostArrayOutput { + return o } -func (GetApplicationLoadBalancerTargetSecurityGroupArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetSecurityGroup)(nil)).Elem() +func (o GetApplicationLoadBalancerListenerHttpHostArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerListenerHttpHostOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerListenerHttpHost { + return vs[0].([]GetApplicationLoadBalancerListenerHttpHost)[vs[1].(int)] + }).(GetApplicationLoadBalancerListenerHttpHostOutput) } -func (i GetApplicationLoadBalancerTargetSecurityGroupArgs) ToGetApplicationLoadBalancerTargetSecurityGroupOutput() GetApplicationLoadBalancerTargetSecurityGroupOutput { - return i.ToGetApplicationLoadBalancerTargetSecurityGroupOutputWithContext(context.Background()) +type GetApplicationLoadBalancerListenerHttpHostRule struct { + // Routing persistence via cookies. + CookiePersistence GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence `pulumi:"cookiePersistence"` + // Headers for the rule. + Headers []GetApplicationLoadBalancerListenerHttpHostRuleHeader `pulumi:"headers"` + // Routing via path. + Path GetApplicationLoadBalancerListenerHttpHostRulePath `pulumi:"path"` + // Query parameters for the rule. + QueryParameters []GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter `pulumi:"queryParameters"` + // Reference target pool by target pool name. + TargetPool string `pulumi:"targetPool"` + // If enabled, when client sends an HTTP request with and Upgrade header, indicating the desire to establish a Websocket connection, if backend server supports WebSocket, it responds with HTTP 101 status code, switching protocols from HTTP to WebSocket. Hence the client and the server can exchange data in real-time using one long-lived TCP connection. + WebSocket bool `pulumi:"webSocket"` } -func (i GetApplicationLoadBalancerTargetSecurityGroupArgs) ToGetApplicationLoadBalancerTargetSecurityGroupOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetSecurityGroupOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetSecurityGroupOutput) -} - -type GetApplicationLoadBalancerTargetSecurityGroupOutput struct{ *pulumi.OutputState } - -func (GetApplicationLoadBalancerTargetSecurityGroupOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetApplicationLoadBalancerTargetSecurityGroup)(nil)).Elem() -} +// GetApplicationLoadBalancerListenerHttpHostRuleInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleArgs and GetApplicationLoadBalancerListenerHttpHostRuleOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleInput` via: +// +// GetApplicationLoadBalancerListenerHttpHostRuleArgs{...} +type GetApplicationLoadBalancerListenerHttpHostRuleInput interface { + pulumi.Input -func (o GetApplicationLoadBalancerTargetSecurityGroupOutput) ToGetApplicationLoadBalancerTargetSecurityGroupOutput() GetApplicationLoadBalancerTargetSecurityGroupOutput { - return o + ToGetApplicationLoadBalancerListenerHttpHostRuleOutput() GetApplicationLoadBalancerListenerHttpHostRuleOutput + ToGetApplicationLoadBalancerListenerHttpHostRuleOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleOutput } -func (o GetApplicationLoadBalancerTargetSecurityGroupOutput) ToGetApplicationLoadBalancerTargetSecurityGroupOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetSecurityGroupOutput { - return o +type GetApplicationLoadBalancerListenerHttpHostRuleArgs struct { + // Routing persistence via cookies. + CookiePersistence GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceInput `pulumi:"cookiePersistence"` + // Headers for the rule. + Headers GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayInput `pulumi:"headers"` + // Routing via path. + Path GetApplicationLoadBalancerListenerHttpHostRulePathInput `pulumi:"path"` + // Query parameters for the rule. + QueryParameters GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayInput `pulumi:"queryParameters"` + // Reference target pool by target pool name. + TargetPool pulumi.StringInput `pulumi:"targetPool"` + // If enabled, when client sends an HTTP request with and Upgrade header, indicating the desire to establish a Websocket connection, if backend server supports WebSocket, it responds with HTTP 101 status code, switching protocols from HTTP to WebSocket. Hence the client and the server can exchange data in real-time using one long-lived TCP connection. + WebSocket pulumi.BoolInput `pulumi:"webSocket"` } -// ID of the security Group -func (o GetApplicationLoadBalancerTargetSecurityGroupOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetSecurityGroup) string { return v.Id }).(pulumi.StringOutput) +func (GetApplicationLoadBalancerListenerHttpHostRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRule)(nil)).Elem() } -// Name of the security Group -func (o GetApplicationLoadBalancerTargetSecurityGroupOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetApplicationLoadBalancerTargetSecurityGroup) string { return v.Name }).(pulumi.StringOutput) +func (i GetApplicationLoadBalancerListenerHttpHostRuleArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleOutput() GetApplicationLoadBalancerListenerHttpHostRuleOutput { + return i.ToGetApplicationLoadBalancerListenerHttpHostRuleOutputWithContext(context.Background()) } -type GetCdnCustomDomainCertificate struct { - // A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed. - Version int `pulumi:"version"` +func (i GetApplicationLoadBalancerListenerHttpHostRuleArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleOutput) } -// GetCdnCustomDomainCertificateInput is an input type that accepts GetCdnCustomDomainCertificateArgs and GetCdnCustomDomainCertificateOutput values. -// You can construct a concrete instance of `GetCdnCustomDomainCertificateInput` via: +// GetApplicationLoadBalancerListenerHttpHostRuleArrayInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleArray and GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleArrayInput` via: // -// GetCdnCustomDomainCertificateArgs{...} -type GetCdnCustomDomainCertificateInput interface { +// GetApplicationLoadBalancerListenerHttpHostRuleArray{ GetApplicationLoadBalancerListenerHttpHostRuleArgs{...} } +type GetApplicationLoadBalancerListenerHttpHostRuleArrayInput interface { pulumi.Input - ToGetCdnCustomDomainCertificateOutput() GetCdnCustomDomainCertificateOutput - ToGetCdnCustomDomainCertificateOutputWithContext(context.Context) GetCdnCustomDomainCertificateOutput + ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput + ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput } -type GetCdnCustomDomainCertificateArgs struct { - // A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed. - Version pulumi.IntInput `pulumi:"version"` -} +type GetApplicationLoadBalancerListenerHttpHostRuleArray []GetApplicationLoadBalancerListenerHttpHostRuleInput -func (GetCdnCustomDomainCertificateArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnCustomDomainCertificate)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpHostRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRule)(nil)).Elem() } -func (i GetCdnCustomDomainCertificateArgs) ToGetCdnCustomDomainCertificateOutput() GetCdnCustomDomainCertificateOutput { - return i.ToGetCdnCustomDomainCertificateOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerListenerHttpHostRuleArray) ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput { + return i.ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutputWithContext(context.Background()) } -func (i GetCdnCustomDomainCertificateArgs) ToGetCdnCustomDomainCertificateOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificateOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnCustomDomainCertificateOutput) +func (i GetApplicationLoadBalancerListenerHttpHostRuleArray) ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) } -func (i GetCdnCustomDomainCertificateArgs) ToGetCdnCustomDomainCertificatePtrOutput() GetCdnCustomDomainCertificatePtrOutput { - return i.ToGetCdnCustomDomainCertificatePtrOutputWithContext(context.Background()) +type GetApplicationLoadBalancerListenerHttpHostRuleOutput struct{ *pulumi.OutputState } + +func (GetApplicationLoadBalancerListenerHttpHostRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRule)(nil)).Elem() } -func (i GetCdnCustomDomainCertificateArgs) ToGetCdnCustomDomainCertificatePtrOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnCustomDomainCertificateOutput).ToGetCdnCustomDomainCertificatePtrOutputWithContext(ctx) +func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleOutput() GetApplicationLoadBalancerListenerHttpHostRuleOutput { + return o } -// GetCdnCustomDomainCertificatePtrInput is an input type that accepts GetCdnCustomDomainCertificateArgs, GetCdnCustomDomainCertificatePtr and GetCdnCustomDomainCertificatePtrOutput values. -// You can construct a concrete instance of `GetCdnCustomDomainCertificatePtrInput` via: -// -// GetCdnCustomDomainCertificateArgs{...} -// -// or: -// -// nil -type GetCdnCustomDomainCertificatePtrInput interface { - pulumi.Input +func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleOutput { + return o +} - ToGetCdnCustomDomainCertificatePtrOutput() GetCdnCustomDomainCertificatePtrOutput - ToGetCdnCustomDomainCertificatePtrOutputWithContext(context.Context) GetCdnCustomDomainCertificatePtrOutput +// Routing persistence via cookies. +func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) CookiePersistence() GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence { + return v.CookiePersistence + }).(GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) } -type getCdnCustomDomainCertificatePtrType GetCdnCustomDomainCertificateArgs +// Headers for the rule. +func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) Headers() GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) []GetApplicationLoadBalancerListenerHttpHostRuleHeader { + return v.Headers + }).(GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) +} -func GetCdnCustomDomainCertificatePtr(v *GetCdnCustomDomainCertificateArgs) GetCdnCustomDomainCertificatePtrInput { - return (*getCdnCustomDomainCertificatePtrType)(v) +// Routing via path. +func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) Path() GetApplicationLoadBalancerListenerHttpHostRulePathOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) GetApplicationLoadBalancerListenerHttpHostRulePath { + return v.Path + }).(GetApplicationLoadBalancerListenerHttpHostRulePathOutput) } -func (*getCdnCustomDomainCertificatePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetCdnCustomDomainCertificate)(nil)).Elem() +// Query parameters for the rule. +func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) QueryParameters() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) []GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter { + return v.QueryParameters + }).(GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) } -func (i *getCdnCustomDomainCertificatePtrType) ToGetCdnCustomDomainCertificatePtrOutput() GetCdnCustomDomainCertificatePtrOutput { - return i.ToGetCdnCustomDomainCertificatePtrOutputWithContext(context.Background()) +// Reference target pool by target pool name. +func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) TargetPool() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) string { return v.TargetPool }).(pulumi.StringOutput) } -func (i *getCdnCustomDomainCertificatePtrType) ToGetCdnCustomDomainCertificatePtrOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificatePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnCustomDomainCertificatePtrOutput) +// If enabled, when client sends an HTTP request with and Upgrade header, indicating the desire to establish a Websocket connection, if backend server supports WebSocket, it responds with HTTP 101 status code, switching protocols from HTTP to WebSocket. Hence the client and the server can exchange data in real-time using one long-lived TCP connection. +func (o GetApplicationLoadBalancerListenerHttpHostRuleOutput) WebSocket() pulumi.BoolOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRule) bool { return v.WebSocket }).(pulumi.BoolOutput) } -type GetCdnCustomDomainCertificateOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput struct{ *pulumi.OutputState } -func (GetCdnCustomDomainCertificateOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnCustomDomainCertificate)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRule)(nil)).Elem() } -func (o GetCdnCustomDomainCertificateOutput) ToGetCdnCustomDomainCertificateOutput() GetCdnCustomDomainCertificateOutput { +func (o GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput { return o } -func (o GetCdnCustomDomainCertificateOutput) ToGetCdnCustomDomainCertificateOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificateOutput { +func (o GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput { return o } -func (o GetCdnCustomDomainCertificateOutput) ToGetCdnCustomDomainCertificatePtrOutput() GetCdnCustomDomainCertificatePtrOutput { - return o.ToGetCdnCustomDomainCertificatePtrOutputWithContext(context.Background()) +func (o GetApplicationLoadBalancerListenerHttpHostRuleArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerListenerHttpHostRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerListenerHttpHostRule { + return vs[0].([]GetApplicationLoadBalancerListenerHttpHostRule)[vs[1].(int)] + }).(GetApplicationLoadBalancerListenerHttpHostRuleOutput) } -func (o GetCdnCustomDomainCertificateOutput) ToGetCdnCustomDomainCertificatePtrOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificatePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetCdnCustomDomainCertificate) *GetCdnCustomDomainCertificate { - return &v - }).(GetCdnCustomDomainCertificatePtrOutput) +type GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence struct { + // The name of the cookie to use. + Name string `pulumi:"name"` + // TTL specifies the time-to-live for the cookie. The default value is 0s, and it acts as a session cookie, expiring when the client session ends. + Ttl string `pulumi:"ttl"` } -// A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed. -func (o GetCdnCustomDomainCertificateOutput) Version() pulumi.IntOutput { - return o.ApplyT(func(v GetCdnCustomDomainCertificate) int { return v.Version }).(pulumi.IntOutput) +// GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs and GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceInput` via: +// +// GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs{...} +type GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceInput interface { + pulumi.Input + + ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput() GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput + ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput } -type GetCdnCustomDomainCertificatePtrOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs struct { + // The name of the cookie to use. + Name pulumi.StringInput `pulumi:"name"` + // TTL specifies the time-to-live for the cookie. The default value is 0s, and it acts as a session cookie, expiring when the client session ends. + Ttl pulumi.StringInput `pulumi:"ttl"` +} -func (GetCdnCustomDomainCertificatePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetCdnCustomDomainCertificate)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence)(nil)).Elem() } -func (o GetCdnCustomDomainCertificatePtrOutput) ToGetCdnCustomDomainCertificatePtrOutput() GetCdnCustomDomainCertificatePtrOutput { +func (i GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput() GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput { + return i.ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutputWithContext(context.Background()) +} + +func (i GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) +} + +type GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput struct{ *pulumi.OutputState } + +func (GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence)(nil)).Elem() +} + +func (o GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput() GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput { return o } -func (o GetCdnCustomDomainCertificatePtrOutput) ToGetCdnCustomDomainCertificatePtrOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificatePtrOutput { +func (o GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput { return o } -func (o GetCdnCustomDomainCertificatePtrOutput) Elem() GetCdnCustomDomainCertificateOutput { - return o.ApplyT(func(v *GetCdnCustomDomainCertificate) GetCdnCustomDomainCertificate { - if v != nil { - return *v - } - var ret GetCdnCustomDomainCertificate - return ret - }).(GetCdnCustomDomainCertificateOutput) +// The name of the cookie to use. +func (o GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence) string { return v.Name }).(pulumi.StringOutput) } -// A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed. -func (o GetCdnCustomDomainCertificatePtrOutput) Version() pulumi.IntPtrOutput { - return o.ApplyT(func(v *GetCdnCustomDomainCertificate) *int { - if v == nil { - return nil - } - return &v.Version - }).(pulumi.IntPtrOutput) +// TTL specifies the time-to-live for the cookie. The default value is 0s, and it acts as a session cookie, expiring when the client session ends. +func (o GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceOutput) Ttl() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistence) string { return v.Ttl }).(pulumi.StringOutput) } -type GetCdnDistributionConfig struct { - // The configured backend for the distribution - Backend GetCdnDistributionConfigBackend `pulumi:"backend"` - // The configured countries where distribution of content is blocked - BlockedCountries []string `pulumi:"blockedCountries"` - // Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. - Optimizer GetCdnDistributionConfigOptimizer `pulumi:"optimizer"` - // A wrapper for a list of redirect rules that allows for redirect settings on a distribution - Redirects GetCdnDistributionConfigRedirects `pulumi:"redirects"` - // The configured regions where content will be hosted - Regions []string `pulumi:"regions"` - // Configures the Web Application Firewall (WAF) for the distribution. If this block is undefined or removed from your configuration, the WAF mode will default to DISABLED and the type to FREE. All other WAF properties will retain their last known state in the API; if they were never defined, the API will apply its default settings. - Waf GetCdnDistributionConfigWaf `pulumi:"waf"` +type GetApplicationLoadBalancerListenerHttpHostRuleHeader struct { + // Exact match for the header value. + ExactMatch string `pulumi:"exactMatch"` + // Header name. + Name string `pulumi:"name"` } -// GetCdnDistributionConfigInput is an input type that accepts GetCdnDistributionConfigArgs and GetCdnDistributionConfigOutput values. -// You can construct a concrete instance of `GetCdnDistributionConfigInput` via: +// GetApplicationLoadBalancerListenerHttpHostRuleHeaderInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs and GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleHeaderInput` via: // -// GetCdnDistributionConfigArgs{...} -type GetCdnDistributionConfigInput interface { +// GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs{...} +type GetApplicationLoadBalancerListenerHttpHostRuleHeaderInput interface { pulumi.Input - ToGetCdnDistributionConfigOutput() GetCdnDistributionConfigOutput - ToGetCdnDistributionConfigOutputWithContext(context.Context) GetCdnDistributionConfigOutput + ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput + ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput } -type GetCdnDistributionConfigArgs struct { - // The configured backend for the distribution - Backend GetCdnDistributionConfigBackendInput `pulumi:"backend"` - // The configured countries where distribution of content is blocked - BlockedCountries pulumi.StringArrayInput `pulumi:"blockedCountries"` - // Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. - Optimizer GetCdnDistributionConfigOptimizerInput `pulumi:"optimizer"` - // A wrapper for a list of redirect rules that allows for redirect settings on a distribution - Redirects GetCdnDistributionConfigRedirectsInput `pulumi:"redirects"` - // The configured regions where content will be hosted - Regions pulumi.StringArrayInput `pulumi:"regions"` - // Configures the Web Application Firewall (WAF) for the distribution. If this block is undefined or removed from your configuration, the WAF mode will default to DISABLED and the type to FREE. All other WAF properties will retain their last known state in the API; if they were never defined, the API will apply its default settings. - Waf GetCdnDistributionConfigWafInput `pulumi:"waf"` +type GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs struct { + // Exact match for the header value. + ExactMatch pulumi.StringInput `pulumi:"exactMatch"` + // Header name. + Name pulumi.StringInput `pulumi:"name"` } -func (GetCdnDistributionConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfig)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleHeader)(nil)).Elem() } -func (i GetCdnDistributionConfigArgs) ToGetCdnDistributionConfigOutput() GetCdnDistributionConfigOutput { - return i.ToGetCdnDistributionConfigOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput { + return i.ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutputWithContext(context.Background()) } -func (i GetCdnDistributionConfigArgs) ToGetCdnDistributionConfigOutputWithContext(ctx context.Context) GetCdnDistributionConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigOutput) +func (i GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) } -type GetCdnDistributionConfigOutput struct{ *pulumi.OutputState } +// GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray and GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayInput` via: +// +// GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray{ GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs{...} } +type GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayInput interface { + pulumi.Input -func (GetCdnDistributionConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfig)(nil)).Elem() + ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput + ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput } -func (o GetCdnDistributionConfigOutput) ToGetCdnDistributionConfigOutput() GetCdnDistributionConfigOutput { +type GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray []GetApplicationLoadBalancerListenerHttpHostRuleHeaderInput + +func (GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRuleHeader)(nil)).Elem() +} + +func (i GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput { + return i.ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutputWithContext(context.Background()) +} + +func (i GetApplicationLoadBalancerListenerHttpHostRuleHeaderArray) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) +} + +type GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput struct{ *pulumi.OutputState } + +func (GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleHeader)(nil)).Elem() +} + +func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput { return o } -func (o GetCdnDistributionConfigOutput) ToGetCdnDistributionConfigOutputWithContext(ctx context.Context) GetCdnDistributionConfigOutput { +func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput { return o } -// The configured backend for the distribution -func (o GetCdnDistributionConfigOutput) Backend() GetCdnDistributionConfigBackendOutput { - return o.ApplyT(func(v GetCdnDistributionConfig) GetCdnDistributionConfigBackend { return v.Backend }).(GetCdnDistributionConfigBackendOutput) +// Exact match for the header value. +func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) ExactMatch() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleHeader) string { return v.ExactMatch }).(pulumi.StringOutput) } -// The configured countries where distribution of content is blocked -func (o GetCdnDistributionConfigOutput) BlockedCountries() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfig) []string { return v.BlockedCountries }).(pulumi.StringArrayOutput) +// Header name. +func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleHeader) string { return v.Name }).(pulumi.StringOutput) } -// Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. -func (o GetCdnDistributionConfigOutput) Optimizer() GetCdnDistributionConfigOptimizerOutput { - return o.ApplyT(func(v GetCdnDistributionConfig) GetCdnDistributionConfigOptimizer { return v.Optimizer }).(GetCdnDistributionConfigOptimizerOutput) +type GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput struct{ *pulumi.OutputState } + +func (GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRuleHeader)(nil)).Elem() } -// A wrapper for a list of redirect rules that allows for redirect settings on a distribution -func (o GetCdnDistributionConfigOutput) Redirects() GetCdnDistributionConfigRedirectsOutput { - return o.ApplyT(func(v GetCdnDistributionConfig) GetCdnDistributionConfigRedirects { return v.Redirects }).(GetCdnDistributionConfigRedirectsOutput) +func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput { + return o } -// The configured regions where content will be hosted -func (o GetCdnDistributionConfigOutput) Regions() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfig) []string { return v.Regions }).(pulumi.StringArrayOutput) +func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput { + return o } -// Configures the Web Application Firewall (WAF) for the distribution. If this block is undefined or removed from your configuration, the WAF mode will default to DISABLED and the type to FREE. All other WAF properties will retain their last known state in the API; if they were never defined, the API will apply its default settings. -func (o GetCdnDistributionConfigOutput) Waf() GetCdnDistributionConfigWafOutput { - return o.ApplyT(func(v GetCdnDistributionConfig) GetCdnDistributionConfigWaf { return v.Waf }).(GetCdnDistributionConfigWafOutput) +func (o GetApplicationLoadBalancerListenerHttpHostRuleHeaderArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerListenerHttpHostRuleHeader { + return vs[0].([]GetApplicationLoadBalancerListenerHttpHostRuleHeader)[vs[1].(int)] + }).(GetApplicationLoadBalancerListenerHttpHostRuleHeaderOutput) } -type GetCdnDistributionConfigBackend struct { - // The URL of the bucket (e.g. https://s3.example.com). Required if type is 'bucket'. - BucketUrl string `pulumi:"bucketUrl"` - // The configured type http to configure countries where content is allowed. A map of URLs to a list of countries - Geofencing map[string][]string `pulumi:"geofencing"` - // The configured type http origin request headers for the backend - OriginRequestHeaders map[string]string `pulumi:"originRequestHeaders"` - // The configured backend type http for the distribution - OriginUrl string `pulumi:"originUrl"` - // The region where the bucket is hosted. Required if type is 'bucket'. - Region string `pulumi:"region"` - // The configured backend type. Possible values are: `http`, `bucket`. - Type string `pulumi:"type"` +type GetApplicationLoadBalancerListenerHttpHostRulePath struct { + // Exact path match. Only a request path exactly equal to the value will match, e.g. '/foo' matches only '/foo', not '/foo/bar' or '/foobar'. + ExactMatch string `pulumi:"exactMatch"` + // Prefix path match. Only matches on full segment boundaries, e.g. '/foo' matches '/foo' and '/foo/bar' but NOT '/foobar'. + Prefix string `pulumi:"prefix"` } -// GetCdnDistributionConfigBackendInput is an input type that accepts GetCdnDistributionConfigBackendArgs and GetCdnDistributionConfigBackendOutput values. -// You can construct a concrete instance of `GetCdnDistributionConfigBackendInput` via: +// GetApplicationLoadBalancerListenerHttpHostRulePathInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRulePathArgs and GetApplicationLoadBalancerListenerHttpHostRulePathOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRulePathInput` via: // -// GetCdnDistributionConfigBackendArgs{...} -type GetCdnDistributionConfigBackendInput interface { +// GetApplicationLoadBalancerListenerHttpHostRulePathArgs{...} +type GetApplicationLoadBalancerListenerHttpHostRulePathInput interface { pulumi.Input - ToGetCdnDistributionConfigBackendOutput() GetCdnDistributionConfigBackendOutput - ToGetCdnDistributionConfigBackendOutputWithContext(context.Context) GetCdnDistributionConfigBackendOutput + ToGetApplicationLoadBalancerListenerHttpHostRulePathOutput() GetApplicationLoadBalancerListenerHttpHostRulePathOutput + ToGetApplicationLoadBalancerListenerHttpHostRulePathOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRulePathOutput } -type GetCdnDistributionConfigBackendArgs struct { - // The URL of the bucket (e.g. https://s3.example.com). Required if type is 'bucket'. - BucketUrl pulumi.StringInput `pulumi:"bucketUrl"` - // The configured type http to configure countries where content is allowed. A map of URLs to a list of countries - Geofencing pulumi.StringArrayMapInput `pulumi:"geofencing"` - // The configured type http origin request headers for the backend - OriginRequestHeaders pulumi.StringMapInput `pulumi:"originRequestHeaders"` - // The configured backend type http for the distribution - OriginUrl pulumi.StringInput `pulumi:"originUrl"` - // The region where the bucket is hosted. Required if type is 'bucket'. - Region pulumi.StringInput `pulumi:"region"` - // The configured backend type. Possible values are: `http`, `bucket`. - Type pulumi.StringInput `pulumi:"type"` +type GetApplicationLoadBalancerListenerHttpHostRulePathArgs struct { + // Exact path match. Only a request path exactly equal to the value will match, e.g. '/foo' matches only '/foo', not '/foo/bar' or '/foobar'. + ExactMatch pulumi.StringInput `pulumi:"exactMatch"` + // Prefix path match. Only matches on full segment boundaries, e.g. '/foo' matches '/foo' and '/foo/bar' but NOT '/foobar'. + Prefix pulumi.StringInput `pulumi:"prefix"` } -func (GetCdnDistributionConfigBackendArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigBackend)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpHostRulePathArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRulePath)(nil)).Elem() } -func (i GetCdnDistributionConfigBackendArgs) ToGetCdnDistributionConfigBackendOutput() GetCdnDistributionConfigBackendOutput { - return i.ToGetCdnDistributionConfigBackendOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerListenerHttpHostRulePathArgs) ToGetApplicationLoadBalancerListenerHttpHostRulePathOutput() GetApplicationLoadBalancerListenerHttpHostRulePathOutput { + return i.ToGetApplicationLoadBalancerListenerHttpHostRulePathOutputWithContext(context.Background()) } -func (i GetCdnDistributionConfigBackendArgs) ToGetCdnDistributionConfigBackendOutputWithContext(ctx context.Context) GetCdnDistributionConfigBackendOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigBackendOutput) +func (i GetApplicationLoadBalancerListenerHttpHostRulePathArgs) ToGetApplicationLoadBalancerListenerHttpHostRulePathOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRulePathOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRulePathOutput) } -type GetCdnDistributionConfigBackendOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerListenerHttpHostRulePathOutput struct{ *pulumi.OutputState } -func (GetCdnDistributionConfigBackendOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigBackend)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpHostRulePathOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRulePath)(nil)).Elem() } -func (o GetCdnDistributionConfigBackendOutput) ToGetCdnDistributionConfigBackendOutput() GetCdnDistributionConfigBackendOutput { +func (o GetApplicationLoadBalancerListenerHttpHostRulePathOutput) ToGetApplicationLoadBalancerListenerHttpHostRulePathOutput() GetApplicationLoadBalancerListenerHttpHostRulePathOutput { return o } -func (o GetCdnDistributionConfigBackendOutput) ToGetCdnDistributionConfigBackendOutputWithContext(ctx context.Context) GetCdnDistributionConfigBackendOutput { +func (o GetApplicationLoadBalancerListenerHttpHostRulePathOutput) ToGetApplicationLoadBalancerListenerHttpHostRulePathOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRulePathOutput { return o } -// The URL of the bucket (e.g. https://s3.example.com). Required if type is 'bucket'. -func (o GetCdnDistributionConfigBackendOutput) BucketUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigBackend) string { return v.BucketUrl }).(pulumi.StringOutput) +// Exact path match. Only a request path exactly equal to the value will match, e.g. '/foo' matches only '/foo', not '/foo/bar' or '/foobar'. +func (o GetApplicationLoadBalancerListenerHttpHostRulePathOutput) ExactMatch() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRulePath) string { return v.ExactMatch }).(pulumi.StringOutput) } -// The configured type http to configure countries where content is allowed. A map of URLs to a list of countries -func (o GetCdnDistributionConfigBackendOutput) Geofencing() pulumi.StringArrayMapOutput { - return o.ApplyT(func(v GetCdnDistributionConfigBackend) map[string][]string { return v.Geofencing }).(pulumi.StringArrayMapOutput) +// Prefix path match. Only matches on full segment boundaries, e.g. '/foo' matches '/foo' and '/foo/bar' but NOT '/foobar'. +func (o GetApplicationLoadBalancerListenerHttpHostRulePathOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRulePath) string { return v.Prefix }).(pulumi.StringOutput) } -// The configured type http origin request headers for the backend -func (o GetCdnDistributionConfigBackendOutput) OriginRequestHeaders() pulumi.StringMapOutput { - return o.ApplyT(func(v GetCdnDistributionConfigBackend) map[string]string { return v.OriginRequestHeaders }).(pulumi.StringMapOutput) +type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter struct { + // Exact match for the query parameters value. + ExactMatch string `pulumi:"exactMatch"` + // Query parameter name. + Name string `pulumi:"name"` } -// The configured backend type http for the distribution -func (o GetCdnDistributionConfigBackendOutput) OriginUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigBackend) string { return v.OriginUrl }).(pulumi.StringOutput) +// GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs and GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterInput` via: +// +// GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs{...} +type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterInput interface { + pulumi.Input + + ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput + ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput } -// The region where the bucket is hosted. Required if type is 'bucket'. -func (o GetCdnDistributionConfigBackendOutput) Region() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigBackend) string { return v.Region }).(pulumi.StringOutput) +type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs struct { + // Exact match for the query parameters value. + ExactMatch pulumi.StringInput `pulumi:"exactMatch"` + // Query parameter name. + Name pulumi.StringInput `pulumi:"name"` } -// The configured backend type. Possible values are: `http`, `bucket`. -func (o GetCdnDistributionConfigBackendOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigBackend) string { return v.Type }).(pulumi.StringOutput) +func (GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter)(nil)).Elem() } -type GetCdnDistributionConfigOptimizer struct { - Enabled bool `pulumi:"enabled"` +func (i GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput { + return i.ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutputWithContext(context.Background()) } -// GetCdnDistributionConfigOptimizerInput is an input type that accepts GetCdnDistributionConfigOptimizerArgs and GetCdnDistributionConfigOptimizerOutput values. -// You can construct a concrete instance of `GetCdnDistributionConfigOptimizerInput` via: +func (i GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) +} + +// GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayInput is an input type that accepts GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray and GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayInput` via: // -// GetCdnDistributionConfigOptimizerArgs{...} -type GetCdnDistributionConfigOptimizerInput interface { +// GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray{ GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs{...} } +type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayInput interface { pulumi.Input - ToGetCdnDistributionConfigOptimizerOutput() GetCdnDistributionConfigOptimizerOutput - ToGetCdnDistributionConfigOptimizerOutputWithContext(context.Context) GetCdnDistributionConfigOptimizerOutput + ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput + ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput } -type GetCdnDistributionConfigOptimizerArgs struct { - Enabled pulumi.BoolInput `pulumi:"enabled"` -} +type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray []GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterInput -func (GetCdnDistributionConfigOptimizerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigOptimizer)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter)(nil)).Elem() } -func (i GetCdnDistributionConfigOptimizerArgs) ToGetCdnDistributionConfigOptimizerOutput() GetCdnDistributionConfigOptimizerOutput { - return i.ToGetCdnDistributionConfigOptimizerOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput { + return i.ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutputWithContext(context.Background()) } -func (i GetCdnDistributionConfigOptimizerArgs) ToGetCdnDistributionConfigOptimizerOutputWithContext(ctx context.Context) GetCdnDistributionConfigOptimizerOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigOptimizerOutput) +func (i GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArray) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) } -type GetCdnDistributionConfigOptimizerOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput struct{ *pulumi.OutputState } -func (GetCdnDistributionConfigOptimizerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigOptimizer)(nil)).Elem() -} +func (GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter)(nil)).Elem() +} -func (o GetCdnDistributionConfigOptimizerOutput) ToGetCdnDistributionConfigOptimizerOutput() GetCdnDistributionConfigOptimizerOutput { +func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput { return o } -func (o GetCdnDistributionConfigOptimizerOutput) ToGetCdnDistributionConfigOptimizerOutputWithContext(ctx context.Context) GetCdnDistributionConfigOptimizerOutput { +func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput { return o } -func (o GetCdnDistributionConfigOptimizerOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetCdnDistributionConfigOptimizer) bool { return v.Enabled }).(pulumi.BoolOutput) +// Exact match for the query parameters value. +func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) ExactMatch() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter) string { return v.ExactMatch }).(pulumi.StringOutput) } -type GetCdnDistributionConfigRedirects struct { - // A list of redirect rules. The order of rules matters for evaluation - Rules []GetCdnDistributionConfigRedirectsRule `pulumi:"rules"` +// Query parameter name. +func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter) string { return v.Name }).(pulumi.StringOutput) } -// GetCdnDistributionConfigRedirectsInput is an input type that accepts GetCdnDistributionConfigRedirectsArgs and GetCdnDistributionConfigRedirectsOutput values. -// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsInput` via: -// -// GetCdnDistributionConfigRedirectsArgs{...} -type GetCdnDistributionConfigRedirectsInput interface { - pulumi.Input +type GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput struct{ *pulumi.OutputState } - ToGetCdnDistributionConfigRedirectsOutput() GetCdnDistributionConfigRedirectsOutput - ToGetCdnDistributionConfigRedirectsOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsOutput +func (GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter)(nil)).Elem() } -type GetCdnDistributionConfigRedirectsArgs struct { - // A list of redirect rules. The order of rules matters for evaluation - Rules GetCdnDistributionConfigRedirectsRuleArrayInput `pulumi:"rules"` +func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput() GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput { + return o } -func (GetCdnDistributionConfigRedirectsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigRedirects)(nil)).Elem() +func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) ToGetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput { + return o } -func (i GetCdnDistributionConfigRedirectsArgs) ToGetCdnDistributionConfigRedirectsOutput() GetCdnDistributionConfigRedirectsOutput { - return i.ToGetCdnDistributionConfigRedirectsOutputWithContext(context.Background()) +func (o GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter { + return vs[0].([]GetApplicationLoadBalancerListenerHttpHostRuleQueryParameter)[vs[1].(int)] + }).(GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterOutput) } -func (i GetCdnDistributionConfigRedirectsArgs) ToGetCdnDistributionConfigRedirectsOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsOutput) +type GetApplicationLoadBalancerListenerHttps struct { + // TLS termination certificate configuration. + CertificateConfig GetApplicationLoadBalancerListenerHttpsCertificateConfig `pulumi:"certificateConfig"` } -type GetCdnDistributionConfigRedirectsOutput struct{ *pulumi.OutputState } +// GetApplicationLoadBalancerListenerHttpsInput is an input type that accepts GetApplicationLoadBalancerListenerHttpsArgs and GetApplicationLoadBalancerListenerHttpsOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpsInput` via: +// +// GetApplicationLoadBalancerListenerHttpsArgs{...} +type GetApplicationLoadBalancerListenerHttpsInput interface { + pulumi.Input -func (GetCdnDistributionConfigRedirectsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigRedirects)(nil)).Elem() + ToGetApplicationLoadBalancerListenerHttpsOutput() GetApplicationLoadBalancerListenerHttpsOutput + ToGetApplicationLoadBalancerListenerHttpsOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpsOutput } -func (o GetCdnDistributionConfigRedirectsOutput) ToGetCdnDistributionConfigRedirectsOutput() GetCdnDistributionConfigRedirectsOutput { - return o +type GetApplicationLoadBalancerListenerHttpsArgs struct { + // TLS termination certificate configuration. + CertificateConfig GetApplicationLoadBalancerListenerHttpsCertificateConfigInput `pulumi:"certificateConfig"` } -func (o GetCdnDistributionConfigRedirectsOutput) ToGetCdnDistributionConfigRedirectsOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsOutput { - return o +func (GetApplicationLoadBalancerListenerHttpsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttps)(nil)).Elem() } -// A list of redirect rules. The order of rules matters for evaluation -func (o GetCdnDistributionConfigRedirectsOutput) Rules() GetCdnDistributionConfigRedirectsRuleArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigRedirects) []GetCdnDistributionConfigRedirectsRule { return v.Rules }).(GetCdnDistributionConfigRedirectsRuleArrayOutput) +func (i GetApplicationLoadBalancerListenerHttpsArgs) ToGetApplicationLoadBalancerListenerHttpsOutput() GetApplicationLoadBalancerListenerHttpsOutput { + return i.ToGetApplicationLoadBalancerListenerHttpsOutputWithContext(context.Background()) } -type GetCdnDistributionConfigRedirectsRule struct { - // An optional description for the redirect rule - Description string `pulumi:"description"` - // A toggle to enable or disable the redirect rule. Default to true - Enabled bool `pulumi:"enabled"` - // A list of matchers that define when this rule should apply. At least one matcher is required - Matchers []GetCdnDistributionConfigRedirectsRuleMatcher `pulumi:"matchers"` - // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. - RuleMatchCondition string `pulumi:"ruleMatchCondition"` - // The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308. - StatusCode int `pulumi:"statusCode"` - // The target URL to redirect to. Must be a valid URI - TargetUrl string `pulumi:"targetUrl"` +func (i GetApplicationLoadBalancerListenerHttpsArgs) ToGetApplicationLoadBalancerListenerHttpsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpsOutput) } -// GetCdnDistributionConfigRedirectsRuleInput is an input type that accepts GetCdnDistributionConfigRedirectsRuleArgs and GetCdnDistributionConfigRedirectsRuleOutput values. -// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsRuleInput` via: -// -// GetCdnDistributionConfigRedirectsRuleArgs{...} -type GetCdnDistributionConfigRedirectsRuleInput interface { - pulumi.Input +type GetApplicationLoadBalancerListenerHttpsOutput struct{ *pulumi.OutputState } - ToGetCdnDistributionConfigRedirectsRuleOutput() GetCdnDistributionConfigRedirectsRuleOutput - ToGetCdnDistributionConfigRedirectsRuleOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsRuleOutput +func (GetApplicationLoadBalancerListenerHttpsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttps)(nil)).Elem() } -type GetCdnDistributionConfigRedirectsRuleArgs struct { - // An optional description for the redirect rule - Description pulumi.StringInput `pulumi:"description"` - // A toggle to enable or disable the redirect rule. Default to true - Enabled pulumi.BoolInput `pulumi:"enabled"` - // A list of matchers that define when this rule should apply. At least one matcher is required - Matchers GetCdnDistributionConfigRedirectsRuleMatcherArrayInput `pulumi:"matchers"` - // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. - RuleMatchCondition pulumi.StringInput `pulumi:"ruleMatchCondition"` - // The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308. - StatusCode pulumi.IntInput `pulumi:"statusCode"` - // The target URL to redirect to. Must be a valid URI - TargetUrl pulumi.StringInput `pulumi:"targetUrl"` +func (o GetApplicationLoadBalancerListenerHttpsOutput) ToGetApplicationLoadBalancerListenerHttpsOutput() GetApplicationLoadBalancerListenerHttpsOutput { + return o } -func (GetCdnDistributionConfigRedirectsRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigRedirectsRule)(nil)).Elem() +func (o GetApplicationLoadBalancerListenerHttpsOutput) ToGetApplicationLoadBalancerListenerHttpsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpsOutput { + return o } -func (i GetCdnDistributionConfigRedirectsRuleArgs) ToGetCdnDistributionConfigRedirectsRuleOutput() GetCdnDistributionConfigRedirectsRuleOutput { - return i.ToGetCdnDistributionConfigRedirectsRuleOutputWithContext(context.Background()) +// TLS termination certificate configuration. +func (o GetApplicationLoadBalancerListenerHttpsOutput) CertificateConfig() GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttps) GetApplicationLoadBalancerListenerHttpsCertificateConfig { + return v.CertificateConfig + }).(GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) } -func (i GetCdnDistributionConfigRedirectsRuleArgs) ToGetCdnDistributionConfigRedirectsRuleOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsRuleOutput) +type GetApplicationLoadBalancerListenerHttpsCertificateConfig struct { + // Certificate IDs for TLS termination. + CertificateIds []string `pulumi:"certificateIds"` } -// GetCdnDistributionConfigRedirectsRuleArrayInput is an input type that accepts GetCdnDistributionConfigRedirectsRuleArray and GetCdnDistributionConfigRedirectsRuleArrayOutput values. -// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsRuleArrayInput` via: +// GetApplicationLoadBalancerListenerHttpsCertificateConfigInput is an input type that accepts GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs and GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerListenerHttpsCertificateConfigInput` via: // -// GetCdnDistributionConfigRedirectsRuleArray{ GetCdnDistributionConfigRedirectsRuleArgs{...} } -type GetCdnDistributionConfigRedirectsRuleArrayInput interface { +// GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs{...} +type GetApplicationLoadBalancerListenerHttpsCertificateConfigInput interface { pulumi.Input - ToGetCdnDistributionConfigRedirectsRuleArrayOutput() GetCdnDistributionConfigRedirectsRuleArrayOutput - ToGetCdnDistributionConfigRedirectsRuleArrayOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsRuleArrayOutput + ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutput() GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput + ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutputWithContext(context.Context) GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput } -type GetCdnDistributionConfigRedirectsRuleArray []GetCdnDistributionConfigRedirectsRuleInput +type GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs struct { + // Certificate IDs for TLS termination. + CertificateIds pulumi.StringArrayInput `pulumi:"certificateIds"` +} -func (GetCdnDistributionConfigRedirectsRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCdnDistributionConfigRedirectsRule)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpsCertificateConfig)(nil)).Elem() } -func (i GetCdnDistributionConfigRedirectsRuleArray) ToGetCdnDistributionConfigRedirectsRuleArrayOutput() GetCdnDistributionConfigRedirectsRuleArrayOutput { - return i.ToGetCdnDistributionConfigRedirectsRuleArrayOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs) ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutput() GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput { + return i.ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutputWithContext(context.Background()) } -func (i GetCdnDistributionConfigRedirectsRuleArray) ToGetCdnDistributionConfigRedirectsRuleArrayOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsRuleArrayOutput) +func (i GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs) ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) } -type GetCdnDistributionConfigRedirectsRuleOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput struct{ *pulumi.OutputState } -func (GetCdnDistributionConfigRedirectsRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigRedirectsRule)(nil)).Elem() +func (GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerListenerHttpsCertificateConfig)(nil)).Elem() } -func (o GetCdnDistributionConfigRedirectsRuleOutput) ToGetCdnDistributionConfigRedirectsRuleOutput() GetCdnDistributionConfigRedirectsRuleOutput { +func (o GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutput() GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput { return o } -func (o GetCdnDistributionConfigRedirectsRuleOutput) ToGetCdnDistributionConfigRedirectsRuleOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleOutput { +func (o GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) ToGetApplicationLoadBalancerListenerHttpsCertificateConfigOutputWithContext(ctx context.Context) GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput { return o } -// An optional description for the redirect rule -func (o GetCdnDistributionConfigRedirectsRuleOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) string { return v.Description }).(pulumi.StringOutput) +// Certificate IDs for TLS termination. +func (o GetApplicationLoadBalancerListenerHttpsCertificateConfigOutput) CertificateIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerListenerHttpsCertificateConfig) []string { return v.CertificateIds }).(pulumi.StringArrayOutput) } -// A toggle to enable or disable the redirect rule. Default to true -func (o GetCdnDistributionConfigRedirectsRuleOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) bool { return v.Enabled }).(pulumi.BoolOutput) +type GetApplicationLoadBalancerLoadBalancerSecurityGroup struct { + // ID of the security Group + Id string `pulumi:"id"` + // Name of the security Group + Name string `pulumi:"name"` } -// A list of matchers that define when this rule should apply. At least one matcher is required -func (o GetCdnDistributionConfigRedirectsRuleOutput) Matchers() GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) []GetCdnDistributionConfigRedirectsRuleMatcher { - return v.Matchers - }).(GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) +// GetApplicationLoadBalancerLoadBalancerSecurityGroupInput is an input type that accepts GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs and GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerLoadBalancerSecurityGroupInput` via: +// +// GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs{...} +type GetApplicationLoadBalancerLoadBalancerSecurityGroupInput interface { + pulumi.Input + + ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutput() GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput + ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutputWithContext(context.Context) GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput } -// Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. -func (o GetCdnDistributionConfigRedirectsRuleOutput) RuleMatchCondition() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) string { return v.RuleMatchCondition }).(pulumi.StringOutput) +type GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs struct { + // ID of the security Group + Id pulumi.StringInput `pulumi:"id"` + // Name of the security Group + Name pulumi.StringInput `pulumi:"name"` } -// The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308. -func (o GetCdnDistributionConfigRedirectsRuleOutput) StatusCode() pulumi.IntOutput { - return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) int { return v.StatusCode }).(pulumi.IntOutput) +func (GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerLoadBalancerSecurityGroup)(nil)).Elem() } -// The target URL to redirect to. Must be a valid URI -func (o GetCdnDistributionConfigRedirectsRuleOutput) TargetUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) string { return v.TargetUrl }).(pulumi.StringOutput) +func (i GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs) ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutput() GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput { + return i.ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutputWithContext(context.Background()) } -type GetCdnDistributionConfigRedirectsRuleArrayOutput struct{ *pulumi.OutputState } +func (i GetApplicationLoadBalancerLoadBalancerSecurityGroupArgs) ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutputWithContext(ctx context.Context) GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) +} -func (GetCdnDistributionConfigRedirectsRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCdnDistributionConfigRedirectsRule)(nil)).Elem() +type GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput struct{ *pulumi.OutputState } + +func (GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerLoadBalancerSecurityGroup)(nil)).Elem() } -func (o GetCdnDistributionConfigRedirectsRuleArrayOutput) ToGetCdnDistributionConfigRedirectsRuleArrayOutput() GetCdnDistributionConfigRedirectsRuleArrayOutput { +func (o GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutput() GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput { return o } -func (o GetCdnDistributionConfigRedirectsRuleArrayOutput) ToGetCdnDistributionConfigRedirectsRuleArrayOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleArrayOutput { +func (o GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) ToGetApplicationLoadBalancerLoadBalancerSecurityGroupOutputWithContext(ctx context.Context) GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput { return o } -func (o GetCdnDistributionConfigRedirectsRuleArrayOutput) Index(i pulumi.IntInput) GetCdnDistributionConfigRedirectsRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCdnDistributionConfigRedirectsRule { - return vs[0].([]GetCdnDistributionConfigRedirectsRule)[vs[1].(int)] - }).(GetCdnDistributionConfigRedirectsRuleOutput) +// ID of the security Group +func (o GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerLoadBalancerSecurityGroup) string { return v.Id }).(pulumi.StringOutput) } -type GetCdnDistributionConfigRedirectsRuleMatcher struct { - // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. - ValueMatchCondition string `pulumi:"valueMatchCondition"` - // A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*" - Values []string `pulumi:"values"` +// Name of the security Group +func (o GetApplicationLoadBalancerLoadBalancerSecurityGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerLoadBalancerSecurityGroup) string { return v.Name }).(pulumi.StringOutput) } -// GetCdnDistributionConfigRedirectsRuleMatcherInput is an input type that accepts GetCdnDistributionConfigRedirectsRuleMatcherArgs and GetCdnDistributionConfigRedirectsRuleMatcherOutput values. -// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsRuleMatcherInput` via: +type GetApplicationLoadBalancerNetwork struct { + // STACKIT network ID the Application Load Balancer and/or targets are in. + NetworkId string `pulumi:"networkId"` + // The role defines how the Application Load Balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. + Role string `pulumi:"role"` +} + +// GetApplicationLoadBalancerNetworkInput is an input type that accepts GetApplicationLoadBalancerNetworkArgs and GetApplicationLoadBalancerNetworkOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerNetworkInput` via: // -// GetCdnDistributionConfigRedirectsRuleMatcherArgs{...} -type GetCdnDistributionConfigRedirectsRuleMatcherInput interface { +// GetApplicationLoadBalancerNetworkArgs{...} +type GetApplicationLoadBalancerNetworkInput interface { pulumi.Input - ToGetCdnDistributionConfigRedirectsRuleMatcherOutput() GetCdnDistributionConfigRedirectsRuleMatcherOutput - ToGetCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsRuleMatcherOutput + ToGetApplicationLoadBalancerNetworkOutput() GetApplicationLoadBalancerNetworkOutput + ToGetApplicationLoadBalancerNetworkOutputWithContext(context.Context) GetApplicationLoadBalancerNetworkOutput } -type GetCdnDistributionConfigRedirectsRuleMatcherArgs struct { - // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. - ValueMatchCondition pulumi.StringInput `pulumi:"valueMatchCondition"` - // A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*" - Values pulumi.StringArrayInput `pulumi:"values"` +type GetApplicationLoadBalancerNetworkArgs struct { + // STACKIT network ID the Application Load Balancer and/or targets are in. + NetworkId pulumi.StringInput `pulumi:"networkId"` + // The role defines how the Application Load Balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. + Role pulumi.StringInput `pulumi:"role"` } -func (GetCdnDistributionConfigRedirectsRuleMatcherArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem() +func (GetApplicationLoadBalancerNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerNetwork)(nil)).Elem() } -func (i GetCdnDistributionConfigRedirectsRuleMatcherArgs) ToGetCdnDistributionConfigRedirectsRuleMatcherOutput() GetCdnDistributionConfigRedirectsRuleMatcherOutput { - return i.ToGetCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerNetworkArgs) ToGetApplicationLoadBalancerNetworkOutput() GetApplicationLoadBalancerNetworkOutput { + return i.ToGetApplicationLoadBalancerNetworkOutputWithContext(context.Background()) } -func (i GetCdnDistributionConfigRedirectsRuleMatcherArgs) ToGetCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleMatcherOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsRuleMatcherOutput) +func (i GetApplicationLoadBalancerNetworkArgs) ToGetApplicationLoadBalancerNetworkOutputWithContext(ctx context.Context) GetApplicationLoadBalancerNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerNetworkOutput) } -// GetCdnDistributionConfigRedirectsRuleMatcherArrayInput is an input type that accepts GetCdnDistributionConfigRedirectsRuleMatcherArray and GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput values. -// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsRuleMatcherArrayInput` via: +// GetApplicationLoadBalancerNetworkArrayInput is an input type that accepts GetApplicationLoadBalancerNetworkArray and GetApplicationLoadBalancerNetworkArrayOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerNetworkArrayInput` via: // -// GetCdnDistributionConfigRedirectsRuleMatcherArray{ GetCdnDistributionConfigRedirectsRuleMatcherArgs{...} } -type GetCdnDistributionConfigRedirectsRuleMatcherArrayInput interface { +// GetApplicationLoadBalancerNetworkArray{ GetApplicationLoadBalancerNetworkArgs{...} } +type GetApplicationLoadBalancerNetworkArrayInput interface { pulumi.Input - ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutput() GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput - ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput + ToGetApplicationLoadBalancerNetworkArrayOutput() GetApplicationLoadBalancerNetworkArrayOutput + ToGetApplicationLoadBalancerNetworkArrayOutputWithContext(context.Context) GetApplicationLoadBalancerNetworkArrayOutput } -type GetCdnDistributionConfigRedirectsRuleMatcherArray []GetCdnDistributionConfigRedirectsRuleMatcherInput +type GetApplicationLoadBalancerNetworkArray []GetApplicationLoadBalancerNetworkInput -func (GetCdnDistributionConfigRedirectsRuleMatcherArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem() +func (GetApplicationLoadBalancerNetworkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerNetwork)(nil)).Elem() } -func (i GetCdnDistributionConfigRedirectsRuleMatcherArray) ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutput() GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput { - return i.ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerNetworkArray) ToGetApplicationLoadBalancerNetworkArrayOutput() GetApplicationLoadBalancerNetworkArrayOutput { + return i.ToGetApplicationLoadBalancerNetworkArrayOutputWithContext(context.Background()) } -func (i GetCdnDistributionConfigRedirectsRuleMatcherArray) ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) +func (i GetApplicationLoadBalancerNetworkArray) ToGetApplicationLoadBalancerNetworkArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerNetworkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerNetworkArrayOutput) } -type GetCdnDistributionConfigRedirectsRuleMatcherOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerNetworkOutput struct{ *pulumi.OutputState } -func (GetCdnDistributionConfigRedirectsRuleMatcherOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem() +func (GetApplicationLoadBalancerNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerNetwork)(nil)).Elem() } -func (o GetCdnDistributionConfigRedirectsRuleMatcherOutput) ToGetCdnDistributionConfigRedirectsRuleMatcherOutput() GetCdnDistributionConfigRedirectsRuleMatcherOutput { +func (o GetApplicationLoadBalancerNetworkOutput) ToGetApplicationLoadBalancerNetworkOutput() GetApplicationLoadBalancerNetworkOutput { return o } -func (o GetCdnDistributionConfigRedirectsRuleMatcherOutput) ToGetCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleMatcherOutput { +func (o GetApplicationLoadBalancerNetworkOutput) ToGetApplicationLoadBalancerNetworkOutputWithContext(ctx context.Context) GetApplicationLoadBalancerNetworkOutput { return o } -// Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. -func (o GetCdnDistributionConfigRedirectsRuleMatcherOutput) ValueMatchCondition() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRuleMatcher) string { return v.ValueMatchCondition }).(pulumi.StringOutput) +// STACKIT network ID the Application Load Balancer and/or targets are in. +func (o GetApplicationLoadBalancerNetworkOutput) NetworkId() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerNetwork) string { return v.NetworkId }).(pulumi.StringOutput) } -// A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*" -func (o GetCdnDistributionConfigRedirectsRuleMatcherOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRuleMatcher) []string { return v.Values }).(pulumi.StringArrayOutput) +// The role defines how the Application Load Balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. +func (o GetApplicationLoadBalancerNetworkOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerNetwork) string { return v.Role }).(pulumi.StringOutput) } -type GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerNetworkArrayOutput struct{ *pulumi.OutputState } -func (GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem() +func (GetApplicationLoadBalancerNetworkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerNetwork)(nil)).Elem() } -func (o GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutput() GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput { +func (o GetApplicationLoadBalancerNetworkArrayOutput) ToGetApplicationLoadBalancerNetworkArrayOutput() GetApplicationLoadBalancerNetworkArrayOutput { return o } -func (o GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput { +func (o GetApplicationLoadBalancerNetworkArrayOutput) ToGetApplicationLoadBalancerNetworkArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerNetworkArrayOutput { return o } -func (o GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) Index(i pulumi.IntInput) GetCdnDistributionConfigRedirectsRuleMatcherOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCdnDistributionConfigRedirectsRuleMatcher { - return vs[0].([]GetCdnDistributionConfigRedirectsRuleMatcher)[vs[1].(int)] - }).(GetCdnDistributionConfigRedirectsRuleMatcherOutput) +func (o GetApplicationLoadBalancerNetworkArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerNetworkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerNetwork { + return vs[0].([]GetApplicationLoadBalancerNetwork)[vs[1].(int)] + }).(GetApplicationLoadBalancerNetworkOutput) } -type GetCdnDistributionConfigWaf struct { - // Restricts which HTTP methods the distribution accepts. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. - AllowedHttpMethods []string `pulumi:"allowedHttpMethods"` - // Restricts which HTTP protocol versions are accepted. If provided, the set must contain at least one item. If omitted, the API applies the following defaults: `HTTP/1.0`, `HTTP/1.1`, `HTTP/2`, `HTTP/2.0`. - AllowedHttpVersions []string `pulumi:"allowedHttpVersions"` - // Restricts which Content-Type headers are accepted in request bodies. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `application/x-www-form-urlencoded`, `multipart/form-data`, `multipart/related`, `text/xml`, `application/xml`, `application/soap+xml`, `application/x-amf`, `application/json`, `application/octet-stream`, `application/csp-report`, `application/xss-auditor-report`, `text/plain`. - AllowedRequestContentTypes []string `pulumi:"allowedRequestContentTypes"` - // Set of WAF Collection IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - DisabledRuleCollectionIds []string `pulumi:"disabledRuleCollectionIds"` - // Set of WAF Rule Group IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - DisabledRuleGroupIds []string `pulumi:"disabledRuleGroupIds"` - // Set of WAF rule IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly disabled Rule ID takes precedence over an enabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - DisabledRuleIds []string `pulumi:"disabledRuleIds"` - // Set of WAF Collection IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - EnabledRuleCollectionIds []string `pulumi:"enabledRuleCollectionIds"` - // Set of WAF Rule Group IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - EnabledRuleGroupIds []string `pulumi:"enabledRuleGroupIds"` - // Set of WAF rule IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly enabled Rule ID takes precedence over a disabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - EnabledRuleIds []string `pulumi:"enabledRuleIds"` - // Set of WAF Collection IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - LogOnlyRuleCollectionIds []string `pulumi:"logOnlyRuleCollectionIds"` - // Set of WAF Rule Group IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - LogOnlyRuleGroupIds []string `pulumi:"logOnlyRuleGroupIds"` - // Set of WAF rule IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - LogOnlyRuleIds []string `pulumi:"logOnlyRuleIds"` - // The operating mode of the WAF. 'ENABLED' actively blocks threats, 'LOG_ONLY' logs matches without blocking, and 'DISABLED' completely turns off inspection. Defaults to 'DISABLED'. - Mode string `pulumi:"mode"` - // Defines how aggressively the WAF should act on requests. Valid values are 'L1' to 'L4'. Case you removed waf will retain the last known state and if omitted, The API applies the following default 'L1'. - ParanoiaLevel string `pulumi:"paranoiaLevel"` - // The tier of the WAF. Valid values are 'FREE' or 'PREMIUM'. Defaults to 'FREE'. - Type string `pulumi:"type"` +type GetApplicationLoadBalancerOptions struct { + // Use this option to limit the IP ranges that can use the Application Load Balancer. + AccessControl GetApplicationLoadBalancerOptionsAccessControl `pulumi:"accessControl"` + // This option automates the handling of the external IP address for an Application Load Balancer. If set to true a new IP address will be automatically created. It will also be automatically deleted when the Load Balancer is deleted. + EphemeralAddress bool `pulumi:"ephemeralAddress"` + // We offer Load Balancer observability via STACKIT Observability or external solutions. + Observability GetApplicationLoadBalancerOptionsObservability `pulumi:"observability"` + // Application Load Balancer is accessible only via a private network ip address. Not changeable after creation. + PrivateNetworkOnly bool `pulumi:"privateNetworkOnly"` } -// GetCdnDistributionConfigWafInput is an input type that accepts GetCdnDistributionConfigWafArgs and GetCdnDistributionConfigWafOutput values. -// You can construct a concrete instance of `GetCdnDistributionConfigWafInput` via: +// GetApplicationLoadBalancerOptionsInput is an input type that accepts GetApplicationLoadBalancerOptionsArgs and GetApplicationLoadBalancerOptionsOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerOptionsInput` via: // -// GetCdnDistributionConfigWafArgs{...} -type GetCdnDistributionConfigWafInput interface { +// GetApplicationLoadBalancerOptionsArgs{...} +type GetApplicationLoadBalancerOptionsInput interface { pulumi.Input - ToGetCdnDistributionConfigWafOutput() GetCdnDistributionConfigWafOutput - ToGetCdnDistributionConfigWafOutputWithContext(context.Context) GetCdnDistributionConfigWafOutput + ToGetApplicationLoadBalancerOptionsOutput() GetApplicationLoadBalancerOptionsOutput + ToGetApplicationLoadBalancerOptionsOutputWithContext(context.Context) GetApplicationLoadBalancerOptionsOutput } -type GetCdnDistributionConfigWafArgs struct { - // Restricts which HTTP methods the distribution accepts. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. - AllowedHttpMethods pulumi.StringArrayInput `pulumi:"allowedHttpMethods"` - // Restricts which HTTP protocol versions are accepted. If provided, the set must contain at least one item. If omitted, the API applies the following defaults: `HTTP/1.0`, `HTTP/1.1`, `HTTP/2`, `HTTP/2.0`. - AllowedHttpVersions pulumi.StringArrayInput `pulumi:"allowedHttpVersions"` - // Restricts which Content-Type headers are accepted in request bodies. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `application/x-www-form-urlencoded`, `multipart/form-data`, `multipart/related`, `text/xml`, `application/xml`, `application/soap+xml`, `application/x-amf`, `application/json`, `application/octet-stream`, `application/csp-report`, `application/xss-auditor-report`, `text/plain`. - AllowedRequestContentTypes pulumi.StringArrayInput `pulumi:"allowedRequestContentTypes"` - // Set of WAF Collection IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - DisabledRuleCollectionIds pulumi.StringArrayInput `pulumi:"disabledRuleCollectionIds"` - // Set of WAF Rule Group IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - DisabledRuleGroupIds pulumi.StringArrayInput `pulumi:"disabledRuleGroupIds"` - // Set of WAF rule IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly disabled Rule ID takes precedence over an enabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - DisabledRuleIds pulumi.StringArrayInput `pulumi:"disabledRuleIds"` - // Set of WAF Collection IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - EnabledRuleCollectionIds pulumi.StringArrayInput `pulumi:"enabledRuleCollectionIds"` - // Set of WAF Rule Group IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - EnabledRuleGroupIds pulumi.StringArrayInput `pulumi:"enabledRuleGroupIds"` - // Set of WAF rule IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly enabled Rule ID takes precedence over a disabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - EnabledRuleIds pulumi.StringArrayInput `pulumi:"enabledRuleIds"` - // Set of WAF Collection IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - LogOnlyRuleCollectionIds pulumi.StringArrayInput `pulumi:"logOnlyRuleCollectionIds"` - // Set of WAF Rule Group IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - LogOnlyRuleGroupIds pulumi.StringArrayInput `pulumi:"logOnlyRuleGroupIds"` - // Set of WAF rule IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - LogOnlyRuleIds pulumi.StringArrayInput `pulumi:"logOnlyRuleIds"` - // The operating mode of the WAF. 'ENABLED' actively blocks threats, 'LOG_ONLY' logs matches without blocking, and 'DISABLED' completely turns off inspection. Defaults to 'DISABLED'. - Mode pulumi.StringInput `pulumi:"mode"` - // Defines how aggressively the WAF should act on requests. Valid values are 'L1' to 'L4'. Case you removed waf will retain the last known state and if omitted, The API applies the following default 'L1'. - ParanoiaLevel pulumi.StringInput `pulumi:"paranoiaLevel"` - // The tier of the WAF. Valid values are 'FREE' or 'PREMIUM'. Defaults to 'FREE'. - Type pulumi.StringInput `pulumi:"type"` +type GetApplicationLoadBalancerOptionsArgs struct { + // Use this option to limit the IP ranges that can use the Application Load Balancer. + AccessControl GetApplicationLoadBalancerOptionsAccessControlInput `pulumi:"accessControl"` + // This option automates the handling of the external IP address for an Application Load Balancer. If set to true a new IP address will be automatically created. It will also be automatically deleted when the Load Balancer is deleted. + EphemeralAddress pulumi.BoolInput `pulumi:"ephemeralAddress"` + // We offer Load Balancer observability via STACKIT Observability or external solutions. + Observability GetApplicationLoadBalancerOptionsObservabilityInput `pulumi:"observability"` + // Application Load Balancer is accessible only via a private network ip address. Not changeable after creation. + PrivateNetworkOnly pulumi.BoolInput `pulumi:"privateNetworkOnly"` } -func (GetCdnDistributionConfigWafArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigWaf)(nil)).Elem() +func (GetApplicationLoadBalancerOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerOptions)(nil)).Elem() } -func (i GetCdnDistributionConfigWafArgs) ToGetCdnDistributionConfigWafOutput() GetCdnDistributionConfigWafOutput { - return i.ToGetCdnDistributionConfigWafOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerOptionsArgs) ToGetApplicationLoadBalancerOptionsOutput() GetApplicationLoadBalancerOptionsOutput { + return i.ToGetApplicationLoadBalancerOptionsOutputWithContext(context.Background()) } -func (i GetCdnDistributionConfigWafArgs) ToGetCdnDistributionConfigWafOutputWithContext(ctx context.Context) GetCdnDistributionConfigWafOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigWafOutput) +func (i GetApplicationLoadBalancerOptionsArgs) ToGetApplicationLoadBalancerOptionsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerOptionsOutput) } -type GetCdnDistributionConfigWafOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerOptionsOutput struct{ *pulumi.OutputState } -func (GetCdnDistributionConfigWafOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionConfigWaf)(nil)).Elem() +func (GetApplicationLoadBalancerOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerOptions)(nil)).Elem() } -func (o GetCdnDistributionConfigWafOutput) ToGetCdnDistributionConfigWafOutput() GetCdnDistributionConfigWafOutput { +func (o GetApplicationLoadBalancerOptionsOutput) ToGetApplicationLoadBalancerOptionsOutput() GetApplicationLoadBalancerOptionsOutput { return o } -func (o GetCdnDistributionConfigWafOutput) ToGetCdnDistributionConfigWafOutputWithContext(ctx context.Context) GetCdnDistributionConfigWafOutput { +func (o GetApplicationLoadBalancerOptionsOutput) ToGetApplicationLoadBalancerOptionsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsOutput { return o } -// Restricts which HTTP methods the distribution accepts. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. -func (o GetCdnDistributionConfigWafOutput) AllowedHttpMethods() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.AllowedHttpMethods }).(pulumi.StringArrayOutput) +// Use this option to limit the IP ranges that can use the Application Load Balancer. +func (o GetApplicationLoadBalancerOptionsOutput) AccessControl() GetApplicationLoadBalancerOptionsAccessControlOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptions) GetApplicationLoadBalancerOptionsAccessControl { + return v.AccessControl + }).(GetApplicationLoadBalancerOptionsAccessControlOutput) } -// Restricts which HTTP protocol versions are accepted. If provided, the set must contain at least one item. If omitted, the API applies the following defaults: `HTTP/1.0`, `HTTP/1.1`, `HTTP/2`, `HTTP/2.0`. -func (o GetCdnDistributionConfigWafOutput) AllowedHttpVersions() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.AllowedHttpVersions }).(pulumi.StringArrayOutput) +// This option automates the handling of the external IP address for an Application Load Balancer. If set to true a new IP address will be automatically created. It will also be automatically deleted when the Load Balancer is deleted. +func (o GetApplicationLoadBalancerOptionsOutput) EphemeralAddress() pulumi.BoolOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptions) bool { return v.EphemeralAddress }).(pulumi.BoolOutput) } -// Restricts which Content-Type headers are accepted in request bodies. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `application/x-www-form-urlencoded`, `multipart/form-data`, `multipart/related`, `text/xml`, `application/xml`, `application/soap+xml`, `application/x-amf`, `application/json`, `application/octet-stream`, `application/csp-report`, `application/xss-auditor-report`, `text/plain`. -func (o GetCdnDistributionConfigWafOutput) AllowedRequestContentTypes() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.AllowedRequestContentTypes }).(pulumi.StringArrayOutput) +// We offer Load Balancer observability via STACKIT Observability or external solutions. +func (o GetApplicationLoadBalancerOptionsOutput) Observability() GetApplicationLoadBalancerOptionsObservabilityOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptions) GetApplicationLoadBalancerOptionsObservability { + return v.Observability + }).(GetApplicationLoadBalancerOptionsObservabilityOutput) } -// Set of WAF Collection IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections -func (o GetCdnDistributionConfigWafOutput) DisabledRuleCollectionIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.DisabledRuleCollectionIds }).(pulumi.StringArrayOutput) +// Application Load Balancer is accessible only via a private network ip address. Not changeable after creation. +func (o GetApplicationLoadBalancerOptionsOutput) PrivateNetworkOnly() pulumi.BoolOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptions) bool { return v.PrivateNetworkOnly }).(pulumi.BoolOutput) } -// Set of WAF Rule Group IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections -func (o GetCdnDistributionConfigWafOutput) DisabledRuleGroupIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.DisabledRuleGroupIds }).(pulumi.StringArrayOutput) +type GetApplicationLoadBalancerOptionsAccessControl struct { + // Application Load Balancer is accessible only from an IP address in this range. + AllowedSourceRanges []string `pulumi:"allowedSourceRanges"` } -// Set of WAF rule IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly disabled Rule ID takes precedence over an enabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections -func (o GetCdnDistributionConfigWafOutput) DisabledRuleIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.DisabledRuleIds }).(pulumi.StringArrayOutput) +// GetApplicationLoadBalancerOptionsAccessControlInput is an input type that accepts GetApplicationLoadBalancerOptionsAccessControlArgs and GetApplicationLoadBalancerOptionsAccessControlOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerOptionsAccessControlInput` via: +// +// GetApplicationLoadBalancerOptionsAccessControlArgs{...} +type GetApplicationLoadBalancerOptionsAccessControlInput interface { + pulumi.Input + + ToGetApplicationLoadBalancerOptionsAccessControlOutput() GetApplicationLoadBalancerOptionsAccessControlOutput + ToGetApplicationLoadBalancerOptionsAccessControlOutputWithContext(context.Context) GetApplicationLoadBalancerOptionsAccessControlOutput } -// Set of WAF Collection IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections -func (o GetCdnDistributionConfigWafOutput) EnabledRuleCollectionIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.EnabledRuleCollectionIds }).(pulumi.StringArrayOutput) +type GetApplicationLoadBalancerOptionsAccessControlArgs struct { + // Application Load Balancer is accessible only from an IP address in this range. + AllowedSourceRanges pulumi.StringArrayInput `pulumi:"allowedSourceRanges"` } -// Set of WAF Rule Group IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections -func (o GetCdnDistributionConfigWafOutput) EnabledRuleGroupIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.EnabledRuleGroupIds }).(pulumi.StringArrayOutput) +func (GetApplicationLoadBalancerOptionsAccessControlArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerOptionsAccessControl)(nil)).Elem() } -// Set of WAF rule IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly enabled Rule ID takes precedence over a disabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections -func (o GetCdnDistributionConfigWafOutput) EnabledRuleIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.EnabledRuleIds }).(pulumi.StringArrayOutput) +func (i GetApplicationLoadBalancerOptionsAccessControlArgs) ToGetApplicationLoadBalancerOptionsAccessControlOutput() GetApplicationLoadBalancerOptionsAccessControlOutput { + return i.ToGetApplicationLoadBalancerOptionsAccessControlOutputWithContext(context.Background()) } -// Set of WAF Collection IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections -func (o GetCdnDistributionConfigWafOutput) LogOnlyRuleCollectionIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.LogOnlyRuleCollectionIds }).(pulumi.StringArrayOutput) +func (i GetApplicationLoadBalancerOptionsAccessControlArgs) ToGetApplicationLoadBalancerOptionsAccessControlOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsAccessControlOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerOptionsAccessControlOutput) } -// Set of WAF Rule Group IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections -func (o GetCdnDistributionConfigWafOutput) LogOnlyRuleGroupIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.LogOnlyRuleGroupIds }).(pulumi.StringArrayOutput) -} +type GetApplicationLoadBalancerOptionsAccessControlOutput struct{ *pulumi.OutputState } -// Set of WAF rule IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections -func (o GetCdnDistributionConfigWafOutput) LogOnlyRuleIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.LogOnlyRuleIds }).(pulumi.StringArrayOutput) +func (GetApplicationLoadBalancerOptionsAccessControlOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerOptionsAccessControl)(nil)).Elem() } -// The operating mode of the WAF. 'ENABLED' actively blocks threats, 'LOG_ONLY' logs matches without blocking, and 'DISABLED' completely turns off inspection. Defaults to 'DISABLED'. -func (o GetCdnDistributionConfigWafOutput) Mode() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) string { return v.Mode }).(pulumi.StringOutput) +func (o GetApplicationLoadBalancerOptionsAccessControlOutput) ToGetApplicationLoadBalancerOptionsAccessControlOutput() GetApplicationLoadBalancerOptionsAccessControlOutput { + return o } -// Defines how aggressively the WAF should act on requests. Valid values are 'L1' to 'L4'. Case you removed waf will retain the last known state and if omitted, The API applies the following default 'L1'. -func (o GetCdnDistributionConfigWafOutput) ParanoiaLevel() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) string { return v.ParanoiaLevel }).(pulumi.StringOutput) +func (o GetApplicationLoadBalancerOptionsAccessControlOutput) ToGetApplicationLoadBalancerOptionsAccessControlOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsAccessControlOutput { + return o } -// The tier of the WAF. Valid values are 'FREE' or 'PREMIUM'. Defaults to 'FREE'. -func (o GetCdnDistributionConfigWafOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionConfigWaf) string { return v.Type }).(pulumi.StringOutput) +// Application Load Balancer is accessible only from an IP address in this range. +func (o GetApplicationLoadBalancerOptionsAccessControlOutput) AllowedSourceRanges() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptionsAccessControl) []string { return v.AllowedSourceRanges }).(pulumi.StringArrayOutput) } -type GetCdnDistributionDomain struct { - // List of domain errors - Errors []string `pulumi:"errors"` - // The name of the domain - Name string `pulumi:"name"` - // The status of the domain - Status string `pulumi:"status"` - // The type of the domain. Each distribution has one domain of type "managed", and domains of type "custom" may be additionally created by the user - Type string `pulumi:"type"` +type GetApplicationLoadBalancerOptionsObservability struct { + // Observability logs configuration. + Logs GetApplicationLoadBalancerOptionsObservabilityLogs `pulumi:"logs"` + // Observability metrics configuration. + Metrics GetApplicationLoadBalancerOptionsObservabilityMetrics `pulumi:"metrics"` } -// GetCdnDistributionDomainInput is an input type that accepts GetCdnDistributionDomainArgs and GetCdnDistributionDomainOutput values. -// You can construct a concrete instance of `GetCdnDistributionDomainInput` via: +// GetApplicationLoadBalancerOptionsObservabilityInput is an input type that accepts GetApplicationLoadBalancerOptionsObservabilityArgs and GetApplicationLoadBalancerOptionsObservabilityOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerOptionsObservabilityInput` via: // -// GetCdnDistributionDomainArgs{...} -type GetCdnDistributionDomainInput interface { +// GetApplicationLoadBalancerOptionsObservabilityArgs{...} +type GetApplicationLoadBalancerOptionsObservabilityInput interface { pulumi.Input - ToGetCdnDistributionDomainOutput() GetCdnDistributionDomainOutput - ToGetCdnDistributionDomainOutputWithContext(context.Context) GetCdnDistributionDomainOutput + ToGetApplicationLoadBalancerOptionsObservabilityOutput() GetApplicationLoadBalancerOptionsObservabilityOutput + ToGetApplicationLoadBalancerOptionsObservabilityOutputWithContext(context.Context) GetApplicationLoadBalancerOptionsObservabilityOutput } -type GetCdnDistributionDomainArgs struct { - // List of domain errors - Errors pulumi.StringArrayInput `pulumi:"errors"` - // The name of the domain - Name pulumi.StringInput `pulumi:"name"` - // The status of the domain - Status pulumi.StringInput `pulumi:"status"` - // The type of the domain. Each distribution has one domain of type "managed", and domains of type "custom" may be additionally created by the user - Type pulumi.StringInput `pulumi:"type"` +type GetApplicationLoadBalancerOptionsObservabilityArgs struct { + // Observability logs configuration. + Logs GetApplicationLoadBalancerOptionsObservabilityLogsInput `pulumi:"logs"` + // Observability metrics configuration. + Metrics GetApplicationLoadBalancerOptionsObservabilityMetricsInput `pulumi:"metrics"` } -func (GetCdnDistributionDomainArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionDomain)(nil)).Elem() +func (GetApplicationLoadBalancerOptionsObservabilityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservability)(nil)).Elem() } -func (i GetCdnDistributionDomainArgs) ToGetCdnDistributionDomainOutput() GetCdnDistributionDomainOutput { - return i.ToGetCdnDistributionDomainOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerOptionsObservabilityArgs) ToGetApplicationLoadBalancerOptionsObservabilityOutput() GetApplicationLoadBalancerOptionsObservabilityOutput { + return i.ToGetApplicationLoadBalancerOptionsObservabilityOutputWithContext(context.Background()) } -func (i GetCdnDistributionDomainArgs) ToGetCdnDistributionDomainOutputWithContext(ctx context.Context) GetCdnDistributionDomainOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionDomainOutput) +func (i GetApplicationLoadBalancerOptionsObservabilityArgs) ToGetApplicationLoadBalancerOptionsObservabilityOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerOptionsObservabilityOutput) } -// GetCdnDistributionDomainArrayInput is an input type that accepts GetCdnDistributionDomainArray and GetCdnDistributionDomainArrayOutput values. -// You can construct a concrete instance of `GetCdnDistributionDomainArrayInput` via: -// -// GetCdnDistributionDomainArray{ GetCdnDistributionDomainArgs{...} } -type GetCdnDistributionDomainArrayInput interface { - pulumi.Input +type GetApplicationLoadBalancerOptionsObservabilityOutput struct{ *pulumi.OutputState } - ToGetCdnDistributionDomainArrayOutput() GetCdnDistributionDomainArrayOutput - ToGetCdnDistributionDomainArrayOutputWithContext(context.Context) GetCdnDistributionDomainArrayOutput +func (GetApplicationLoadBalancerOptionsObservabilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservability)(nil)).Elem() } -type GetCdnDistributionDomainArray []GetCdnDistributionDomainInput - -func (GetCdnDistributionDomainArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCdnDistributionDomain)(nil)).Elem() +func (o GetApplicationLoadBalancerOptionsObservabilityOutput) ToGetApplicationLoadBalancerOptionsObservabilityOutput() GetApplicationLoadBalancerOptionsObservabilityOutput { + return o } -func (i GetCdnDistributionDomainArray) ToGetCdnDistributionDomainArrayOutput() GetCdnDistributionDomainArrayOutput { - return i.ToGetCdnDistributionDomainArrayOutputWithContext(context.Background()) +func (o GetApplicationLoadBalancerOptionsObservabilityOutput) ToGetApplicationLoadBalancerOptionsObservabilityOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityOutput { + return o } -func (i GetCdnDistributionDomainArray) ToGetCdnDistributionDomainArrayOutputWithContext(ctx context.Context) GetCdnDistributionDomainArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionDomainArrayOutput) +// Observability logs configuration. +func (o GetApplicationLoadBalancerOptionsObservabilityOutput) Logs() GetApplicationLoadBalancerOptionsObservabilityLogsOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservability) GetApplicationLoadBalancerOptionsObservabilityLogs { + return v.Logs + }).(GetApplicationLoadBalancerOptionsObservabilityLogsOutput) } -type GetCdnDistributionDomainOutput struct{ *pulumi.OutputState } - -func (GetCdnDistributionDomainOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetCdnDistributionDomain)(nil)).Elem() +// Observability metrics configuration. +func (o GetApplicationLoadBalancerOptionsObservabilityOutput) Metrics() GetApplicationLoadBalancerOptionsObservabilityMetricsOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservability) GetApplicationLoadBalancerOptionsObservabilityMetrics { + return v.Metrics + }).(GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) } -func (o GetCdnDistributionDomainOutput) ToGetCdnDistributionDomainOutput() GetCdnDistributionDomainOutput { - return o +type GetApplicationLoadBalancerOptionsObservabilityLogs struct { + // Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + CredentialsRef string `pulumi:"credentialsRef"` + // Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + PushUrl string `pulumi:"pushUrl"` } -func (o GetCdnDistributionDomainOutput) ToGetCdnDistributionDomainOutputWithContext(ctx context.Context) GetCdnDistributionDomainOutput { - return o +// GetApplicationLoadBalancerOptionsObservabilityLogsInput is an input type that accepts GetApplicationLoadBalancerOptionsObservabilityLogsArgs and GetApplicationLoadBalancerOptionsObservabilityLogsOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerOptionsObservabilityLogsInput` via: +// +// GetApplicationLoadBalancerOptionsObservabilityLogsArgs{...} +type GetApplicationLoadBalancerOptionsObservabilityLogsInput interface { + pulumi.Input + + ToGetApplicationLoadBalancerOptionsObservabilityLogsOutput() GetApplicationLoadBalancerOptionsObservabilityLogsOutput + ToGetApplicationLoadBalancerOptionsObservabilityLogsOutputWithContext(context.Context) GetApplicationLoadBalancerOptionsObservabilityLogsOutput } -// List of domain errors -func (o GetCdnDistributionDomainOutput) Errors() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetCdnDistributionDomain) []string { return v.Errors }).(pulumi.StringArrayOutput) +type GetApplicationLoadBalancerOptionsObservabilityLogsArgs struct { + // Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + CredentialsRef pulumi.StringInput `pulumi:"credentialsRef"` + // Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + PushUrl pulumi.StringInput `pulumi:"pushUrl"` } -// The name of the domain -func (o GetCdnDistributionDomainOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionDomain) string { return v.Name }).(pulumi.StringOutput) +func (GetApplicationLoadBalancerOptionsObservabilityLogsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservabilityLogs)(nil)).Elem() } -// The status of the domain -func (o GetCdnDistributionDomainOutput) Status() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionDomain) string { return v.Status }).(pulumi.StringOutput) +func (i GetApplicationLoadBalancerOptionsObservabilityLogsArgs) ToGetApplicationLoadBalancerOptionsObservabilityLogsOutput() GetApplicationLoadBalancerOptionsObservabilityLogsOutput { + return i.ToGetApplicationLoadBalancerOptionsObservabilityLogsOutputWithContext(context.Background()) } -// The type of the domain. Each distribution has one domain of type "managed", and domains of type "custom" may be additionally created by the user -func (o GetCdnDistributionDomainOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetCdnDistributionDomain) string { return v.Type }).(pulumi.StringOutput) +func (i GetApplicationLoadBalancerOptionsObservabilityLogsArgs) ToGetApplicationLoadBalancerOptionsObservabilityLogsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityLogsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerOptionsObservabilityLogsOutput) } -type GetCdnDistributionDomainArrayOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerOptionsObservabilityLogsOutput struct{ *pulumi.OutputState } -func (GetCdnDistributionDomainArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetCdnDistributionDomain)(nil)).Elem() +func (GetApplicationLoadBalancerOptionsObservabilityLogsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservabilityLogs)(nil)).Elem() } -func (o GetCdnDistributionDomainArrayOutput) ToGetCdnDistributionDomainArrayOutput() GetCdnDistributionDomainArrayOutput { +func (o GetApplicationLoadBalancerOptionsObservabilityLogsOutput) ToGetApplicationLoadBalancerOptionsObservabilityLogsOutput() GetApplicationLoadBalancerOptionsObservabilityLogsOutput { return o } -func (o GetCdnDistributionDomainArrayOutput) ToGetCdnDistributionDomainArrayOutputWithContext(ctx context.Context) GetCdnDistributionDomainArrayOutput { +func (o GetApplicationLoadBalancerOptionsObservabilityLogsOutput) ToGetApplicationLoadBalancerOptionsObservabilityLogsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityLogsOutput { return o } -func (o GetCdnDistributionDomainArrayOutput) Index(i pulumi.IntInput) GetCdnDistributionDomainOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCdnDistributionDomain { - return vs[0].([]GetCdnDistributionDomain)[vs[1].(int)] - }).(GetCdnDistributionDomainOutput) +// Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. +func (o GetApplicationLoadBalancerOptionsObservabilityLogsOutput) CredentialsRef() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservabilityLogs) string { return v.CredentialsRef }).(pulumi.StringOutput) } -type GetDnsRecordSetTimeouts struct { - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). - Read *string `pulumi:"read"` +// Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. +func (o GetApplicationLoadBalancerOptionsObservabilityLogsOutput) PushUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservabilityLogs) string { return v.PushUrl }).(pulumi.StringOutput) } -// GetDnsRecordSetTimeoutsInput is an input type that accepts GetDnsRecordSetTimeoutsArgs and GetDnsRecordSetTimeoutsOutput values. -// You can construct a concrete instance of `GetDnsRecordSetTimeoutsInput` via: +type GetApplicationLoadBalancerOptionsObservabilityMetrics struct { + // Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + CredentialsRef string `pulumi:"credentialsRef"` + // Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + PushUrl string `pulumi:"pushUrl"` +} + +// GetApplicationLoadBalancerOptionsObservabilityMetricsInput is an input type that accepts GetApplicationLoadBalancerOptionsObservabilityMetricsArgs and GetApplicationLoadBalancerOptionsObservabilityMetricsOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerOptionsObservabilityMetricsInput` via: // -// GetDnsRecordSetTimeoutsArgs{...} -type GetDnsRecordSetTimeoutsInput interface { +// GetApplicationLoadBalancerOptionsObservabilityMetricsArgs{...} +type GetApplicationLoadBalancerOptionsObservabilityMetricsInput interface { pulumi.Input - ToGetDnsRecordSetTimeoutsOutput() GetDnsRecordSetTimeoutsOutput - ToGetDnsRecordSetTimeoutsOutputWithContext(context.Context) GetDnsRecordSetTimeoutsOutput + ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutput() GetApplicationLoadBalancerOptionsObservabilityMetricsOutput + ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutputWithContext(context.Context) GetApplicationLoadBalancerOptionsObservabilityMetricsOutput } -type GetDnsRecordSetTimeoutsArgs struct { - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). - Read pulumi.StringPtrInput `pulumi:"read"` +type GetApplicationLoadBalancerOptionsObservabilityMetricsArgs struct { + // Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + CredentialsRef pulumi.StringInput `pulumi:"credentialsRef"` + // Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + PushUrl pulumi.StringInput `pulumi:"pushUrl"` } -func (GetDnsRecordSetTimeoutsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetDnsRecordSetTimeouts)(nil)).Elem() +func (GetApplicationLoadBalancerOptionsObservabilityMetricsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservabilityMetrics)(nil)).Elem() } -func (i GetDnsRecordSetTimeoutsArgs) ToGetDnsRecordSetTimeoutsOutput() GetDnsRecordSetTimeoutsOutput { - return i.ToGetDnsRecordSetTimeoutsOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerOptionsObservabilityMetricsArgs) ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutput() GetApplicationLoadBalancerOptionsObservabilityMetricsOutput { + return i.ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutputWithContext(context.Background()) } -func (i GetDnsRecordSetTimeoutsArgs) ToGetDnsRecordSetTimeoutsOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDnsRecordSetTimeoutsOutput) +func (i GetApplicationLoadBalancerOptionsObservabilityMetricsArgs) ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityMetricsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) } -func (i GetDnsRecordSetTimeoutsArgs) ToGetDnsRecordSetTimeoutsPtrOutput() GetDnsRecordSetTimeoutsPtrOutput { - return i.ToGetDnsRecordSetTimeoutsPtrOutputWithContext(context.Background()) +type GetApplicationLoadBalancerOptionsObservabilityMetricsOutput struct{ *pulumi.OutputState } + +func (GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerOptionsObservabilityMetrics)(nil)).Elem() } -func (i GetDnsRecordSetTimeoutsArgs) ToGetDnsRecordSetTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDnsRecordSetTimeoutsOutput).ToGetDnsRecordSetTimeoutsPtrOutputWithContext(ctx) +func (o GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutput() GetApplicationLoadBalancerOptionsObservabilityMetricsOutput { + return o } -// GetDnsRecordSetTimeoutsPtrInput is an input type that accepts GetDnsRecordSetTimeoutsArgs, GetDnsRecordSetTimeoutsPtr and GetDnsRecordSetTimeoutsPtrOutput values. -// You can construct a concrete instance of `GetDnsRecordSetTimeoutsPtrInput` via: -// -// GetDnsRecordSetTimeoutsArgs{...} -// -// or: -// -// nil -type GetDnsRecordSetTimeoutsPtrInput interface { - pulumi.Input - - ToGetDnsRecordSetTimeoutsPtrOutput() GetDnsRecordSetTimeoutsPtrOutput - ToGetDnsRecordSetTimeoutsPtrOutputWithContext(context.Context) GetDnsRecordSetTimeoutsPtrOutput +func (o GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) ToGetApplicationLoadBalancerOptionsObservabilityMetricsOutputWithContext(ctx context.Context) GetApplicationLoadBalancerOptionsObservabilityMetricsOutput { + return o } -type getDnsRecordSetTimeoutsPtrType GetDnsRecordSetTimeoutsArgs +// Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. +func (o GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) CredentialsRef() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservabilityMetrics) string { return v.CredentialsRef }).(pulumi.StringOutput) +} -func GetDnsRecordSetTimeoutsPtr(v *GetDnsRecordSetTimeoutsArgs) GetDnsRecordSetTimeoutsPtrInput { - return (*getDnsRecordSetTimeoutsPtrType)(v) +// Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. +func (o GetApplicationLoadBalancerOptionsObservabilityMetricsOutput) PushUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerOptionsObservabilityMetrics) string { return v.PushUrl }).(pulumi.StringOutput) } -func (*getDnsRecordSetTimeoutsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetDnsRecordSetTimeouts)(nil)).Elem() +type GetApplicationLoadBalancerTargetPool struct { + ActiveHealthCheck GetApplicationLoadBalancerTargetPoolActiveHealthCheck `pulumi:"activeHealthCheck"` + // Target pool name. + Name string `pulumi:"name"` + // The number identifying the port where each target listens for traffic. + TargetPort int `pulumi:"targetPort"` + // List of all targets which will be used in the pool. Limited to 250. + Targets []GetApplicationLoadBalancerTargetPoolTarget `pulumi:"targets"` + // Configuration for TLS bridging. + TlsConfig GetApplicationLoadBalancerTargetPoolTlsConfig `pulumi:"tlsConfig"` } -func (i *getDnsRecordSetTimeoutsPtrType) ToGetDnsRecordSetTimeoutsPtrOutput() GetDnsRecordSetTimeoutsPtrOutput { - return i.ToGetDnsRecordSetTimeoutsPtrOutputWithContext(context.Background()) +// GetApplicationLoadBalancerTargetPoolInput is an input type that accepts GetApplicationLoadBalancerTargetPoolArgs and GetApplicationLoadBalancerTargetPoolOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolInput` via: +// +// GetApplicationLoadBalancerTargetPoolArgs{...} +type GetApplicationLoadBalancerTargetPoolInput interface { + pulumi.Input + + ToGetApplicationLoadBalancerTargetPoolOutput() GetApplicationLoadBalancerTargetPoolOutput + ToGetApplicationLoadBalancerTargetPoolOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolOutput } -func (i *getDnsRecordSetTimeoutsPtrType) ToGetDnsRecordSetTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDnsRecordSetTimeoutsPtrOutput) +type GetApplicationLoadBalancerTargetPoolArgs struct { + ActiveHealthCheck GetApplicationLoadBalancerTargetPoolActiveHealthCheckInput `pulumi:"activeHealthCheck"` + // Target pool name. + Name pulumi.StringInput `pulumi:"name"` + // The number identifying the port where each target listens for traffic. + TargetPort pulumi.IntInput `pulumi:"targetPort"` + // List of all targets which will be used in the pool. Limited to 250. + Targets GetApplicationLoadBalancerTargetPoolTargetArrayInput `pulumi:"targets"` + // Configuration for TLS bridging. + TlsConfig GetApplicationLoadBalancerTargetPoolTlsConfigInput `pulumi:"tlsConfig"` } -type GetDnsRecordSetTimeoutsOutput struct{ *pulumi.OutputState } +func (GetApplicationLoadBalancerTargetPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetPool)(nil)).Elem() +} -func (GetDnsRecordSetTimeoutsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetDnsRecordSetTimeouts)(nil)).Elem() +func (i GetApplicationLoadBalancerTargetPoolArgs) ToGetApplicationLoadBalancerTargetPoolOutput() GetApplicationLoadBalancerTargetPoolOutput { + return i.ToGetApplicationLoadBalancerTargetPoolOutputWithContext(context.Background()) } -func (o GetDnsRecordSetTimeoutsOutput) ToGetDnsRecordSetTimeoutsOutput() GetDnsRecordSetTimeoutsOutput { - return o +func (i GetApplicationLoadBalancerTargetPoolArgs) ToGetApplicationLoadBalancerTargetPoolOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolOutput) } -func (o GetDnsRecordSetTimeoutsOutput) ToGetDnsRecordSetTimeoutsOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsOutput { - return o +// GetApplicationLoadBalancerTargetPoolArrayInput is an input type that accepts GetApplicationLoadBalancerTargetPoolArray and GetApplicationLoadBalancerTargetPoolArrayOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolArrayInput` via: +// +// GetApplicationLoadBalancerTargetPoolArray{ GetApplicationLoadBalancerTargetPoolArgs{...} } +type GetApplicationLoadBalancerTargetPoolArrayInput interface { + pulumi.Input + + ToGetApplicationLoadBalancerTargetPoolArrayOutput() GetApplicationLoadBalancerTargetPoolArrayOutput + ToGetApplicationLoadBalancerTargetPoolArrayOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolArrayOutput } -func (o GetDnsRecordSetTimeoutsOutput) ToGetDnsRecordSetTimeoutsPtrOutput() GetDnsRecordSetTimeoutsPtrOutput { - return o.ToGetDnsRecordSetTimeoutsPtrOutputWithContext(context.Background()) +type GetApplicationLoadBalancerTargetPoolArray []GetApplicationLoadBalancerTargetPoolInput + +func (GetApplicationLoadBalancerTargetPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerTargetPool)(nil)).Elem() } -func (o GetDnsRecordSetTimeoutsOutput) ToGetDnsRecordSetTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetDnsRecordSetTimeouts) *GetDnsRecordSetTimeouts { - return &v - }).(GetDnsRecordSetTimeoutsPtrOutput) +func (i GetApplicationLoadBalancerTargetPoolArray) ToGetApplicationLoadBalancerTargetPoolArrayOutput() GetApplicationLoadBalancerTargetPoolArrayOutput { + return i.ToGetApplicationLoadBalancerTargetPoolArrayOutputWithContext(context.Background()) } -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). -func (o GetDnsRecordSetTimeoutsOutput) Read() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetDnsRecordSetTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) +func (i GetApplicationLoadBalancerTargetPoolArray) ToGetApplicationLoadBalancerTargetPoolArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolArrayOutput) } -type GetDnsRecordSetTimeoutsPtrOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerTargetPoolOutput struct{ *pulumi.OutputState } -func (GetDnsRecordSetTimeoutsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetDnsRecordSetTimeouts)(nil)).Elem() +func (GetApplicationLoadBalancerTargetPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetPool)(nil)).Elem() } -func (o GetDnsRecordSetTimeoutsPtrOutput) ToGetDnsRecordSetTimeoutsPtrOutput() GetDnsRecordSetTimeoutsPtrOutput { +func (o GetApplicationLoadBalancerTargetPoolOutput) ToGetApplicationLoadBalancerTargetPoolOutput() GetApplicationLoadBalancerTargetPoolOutput { return o } -func (o GetDnsRecordSetTimeoutsPtrOutput) ToGetDnsRecordSetTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsPtrOutput { +func (o GetApplicationLoadBalancerTargetPoolOutput) ToGetApplicationLoadBalancerTargetPoolOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolOutput { return o } -func (o GetDnsRecordSetTimeoutsPtrOutput) Elem() GetDnsRecordSetTimeoutsOutput { - return o.ApplyT(func(v *GetDnsRecordSetTimeouts) GetDnsRecordSetTimeouts { - if v != nil { - return *v - } - var ret GetDnsRecordSetTimeouts - return ret - }).(GetDnsRecordSetTimeoutsOutput) +func (o GetApplicationLoadBalancerTargetPoolOutput) ActiveHealthCheck() GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPool) GetApplicationLoadBalancerTargetPoolActiveHealthCheck { + return v.ActiveHealthCheck + }).(GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) } -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). -func (o GetDnsRecordSetTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetDnsRecordSetTimeouts) *string { - if v == nil { - return nil - } - return v.Read - }).(pulumi.StringPtrOutput) +// Target pool name. +func (o GetApplicationLoadBalancerTargetPoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPool) string { return v.Name }).(pulumi.StringOutput) } -type GetDnsZoneTimeouts struct { - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). - Read *string `pulumi:"read"` +// The number identifying the port where each target listens for traffic. +func (o GetApplicationLoadBalancerTargetPoolOutput) TargetPort() pulumi.IntOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPool) int { return v.TargetPort }).(pulumi.IntOutput) } -// GetDnsZoneTimeoutsInput is an input type that accepts GetDnsZoneTimeoutsArgs and GetDnsZoneTimeoutsOutput values. -// You can construct a concrete instance of `GetDnsZoneTimeoutsInput` via: -// -// GetDnsZoneTimeoutsArgs{...} -type GetDnsZoneTimeoutsInput interface { - pulumi.Input - - ToGetDnsZoneTimeoutsOutput() GetDnsZoneTimeoutsOutput - ToGetDnsZoneTimeoutsOutputWithContext(context.Context) GetDnsZoneTimeoutsOutput +// List of all targets which will be used in the pool. Limited to 250. +func (o GetApplicationLoadBalancerTargetPoolOutput) Targets() GetApplicationLoadBalancerTargetPoolTargetArrayOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPool) []GetApplicationLoadBalancerTargetPoolTarget { + return v.Targets + }).(GetApplicationLoadBalancerTargetPoolTargetArrayOutput) } -type GetDnsZoneTimeoutsArgs struct { - // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). - Read pulumi.StringPtrInput `pulumi:"read"` +// Configuration for TLS bridging. +func (o GetApplicationLoadBalancerTargetPoolOutput) TlsConfig() GetApplicationLoadBalancerTargetPoolTlsConfigOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPool) GetApplicationLoadBalancerTargetPoolTlsConfig { + return v.TlsConfig + }).(GetApplicationLoadBalancerTargetPoolTlsConfigOutput) } -func (GetDnsZoneTimeoutsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetDnsZoneTimeouts)(nil)).Elem() +type GetApplicationLoadBalancerTargetPoolArrayOutput struct{ *pulumi.OutputState } + +func (GetApplicationLoadBalancerTargetPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerTargetPool)(nil)).Elem() } -func (i GetDnsZoneTimeoutsArgs) ToGetDnsZoneTimeoutsOutput() GetDnsZoneTimeoutsOutput { - return i.ToGetDnsZoneTimeoutsOutputWithContext(context.Background()) +func (o GetApplicationLoadBalancerTargetPoolArrayOutput) ToGetApplicationLoadBalancerTargetPoolArrayOutput() GetApplicationLoadBalancerTargetPoolArrayOutput { + return o } -func (i GetDnsZoneTimeoutsArgs) ToGetDnsZoneTimeoutsOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDnsZoneTimeoutsOutput) +func (o GetApplicationLoadBalancerTargetPoolArrayOutput) ToGetApplicationLoadBalancerTargetPoolArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolArrayOutput { + return o } -func (i GetDnsZoneTimeoutsArgs) ToGetDnsZoneTimeoutsPtrOutput() GetDnsZoneTimeoutsPtrOutput { - return i.ToGetDnsZoneTimeoutsPtrOutputWithContext(context.Background()) +func (o GetApplicationLoadBalancerTargetPoolArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerTargetPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerTargetPool { + return vs[0].([]GetApplicationLoadBalancerTargetPool)[vs[1].(int)] + }).(GetApplicationLoadBalancerTargetPoolOutput) } -func (i GetDnsZoneTimeoutsArgs) ToGetDnsZoneTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDnsZoneTimeoutsOutput).ToGetDnsZoneTimeoutsPtrOutputWithContext(ctx) +type GetApplicationLoadBalancerTargetPoolActiveHealthCheck struct { + // Healthy threshold of the health checking. + HealthyThreshold int `pulumi:"healthyThreshold"` + // Options for the HTTP health checking. + HttpHealthChecks GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks `pulumi:"httpHealthChecks"` + // Interval duration of health checking in seconds. + Interval string `pulumi:"interval"` + // Interval duration threshold of the health checking in seconds. + IntervalJitter string `pulumi:"intervalJitter"` + // Active health checking timeout duration in seconds. + Timeout string `pulumi:"timeout"` + // Unhealthy threshold of the health checking. + UnhealthyThreshold int `pulumi:"unhealthyThreshold"` } -// GetDnsZoneTimeoutsPtrInput is an input type that accepts GetDnsZoneTimeoutsArgs, GetDnsZoneTimeoutsPtr and GetDnsZoneTimeoutsPtrOutput values. -// You can construct a concrete instance of `GetDnsZoneTimeoutsPtrInput` via: -// -// GetDnsZoneTimeoutsArgs{...} -// -// or: +// GetApplicationLoadBalancerTargetPoolActiveHealthCheckInput is an input type that accepts GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs and GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolActiveHealthCheckInput` via: // -// nil -type GetDnsZoneTimeoutsPtrInput interface { +// GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs{...} +type GetApplicationLoadBalancerTargetPoolActiveHealthCheckInput interface { pulumi.Input - ToGetDnsZoneTimeoutsPtrOutput() GetDnsZoneTimeoutsPtrOutput - ToGetDnsZoneTimeoutsPtrOutputWithContext(context.Context) GetDnsZoneTimeoutsPtrOutput + ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput + ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput } -type getDnsZoneTimeoutsPtrType GetDnsZoneTimeoutsArgs - -func GetDnsZoneTimeoutsPtr(v *GetDnsZoneTimeoutsArgs) GetDnsZoneTimeoutsPtrInput { - return (*getDnsZoneTimeoutsPtrType)(v) +type GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs struct { + // Healthy threshold of the health checking. + HealthyThreshold pulumi.IntInput `pulumi:"healthyThreshold"` + // Options for the HTTP health checking. + HttpHealthChecks GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksInput `pulumi:"httpHealthChecks"` + // Interval duration of health checking in seconds. + Interval pulumi.StringInput `pulumi:"interval"` + // Interval duration threshold of the health checking in seconds. + IntervalJitter pulumi.StringInput `pulumi:"intervalJitter"` + // Active health checking timeout duration in seconds. + Timeout pulumi.StringInput `pulumi:"timeout"` + // Unhealthy threshold of the health checking. + UnhealthyThreshold pulumi.IntInput `pulumi:"unhealthyThreshold"` } -func (*getDnsZoneTimeoutsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetDnsZoneTimeouts)(nil)).Elem() +func (GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolActiveHealthCheck)(nil)).Elem() } -func (i *getDnsZoneTimeoutsPtrType) ToGetDnsZoneTimeoutsPtrOutput() GetDnsZoneTimeoutsPtrOutput { - return i.ToGetDnsZoneTimeoutsPtrOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput { + return i.ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutputWithContext(context.Background()) } -func (i *getDnsZoneTimeoutsPtrType) ToGetDnsZoneTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDnsZoneTimeoutsPtrOutput) +func (i GetApplicationLoadBalancerTargetPoolActiveHealthCheckArgs) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) } -type GetDnsZoneTimeoutsOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput struct{ *pulumi.OutputState } -func (GetDnsZoneTimeoutsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetDnsZoneTimeouts)(nil)).Elem() +func (GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolActiveHealthCheck)(nil)).Elem() } -func (o GetDnsZoneTimeoutsOutput) ToGetDnsZoneTimeoutsOutput() GetDnsZoneTimeoutsOutput { +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput { return o } -func (o GetDnsZoneTimeoutsOutput) ToGetDnsZoneTimeoutsOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsOutput { +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput { return o } -func (o GetDnsZoneTimeoutsOutput) ToGetDnsZoneTimeoutsPtrOutput() GetDnsZoneTimeoutsPtrOutput { - return o.ToGetDnsZoneTimeoutsPtrOutputWithContext(context.Background()) -} - -func (o GetDnsZoneTimeoutsOutput) ToGetDnsZoneTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetDnsZoneTimeouts) *GetDnsZoneTimeouts { - return &v - }).(GetDnsZoneTimeoutsPtrOutput) +// Healthy threshold of the health checking. +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) HealthyThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) int { return v.HealthyThreshold }).(pulumi.IntOutput) } -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). -func (o GetDnsZoneTimeoutsOutput) Read() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetDnsZoneTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) -} - -type GetDnsZoneTimeoutsPtrOutput struct{ *pulumi.OutputState } - -func (GetDnsZoneTimeoutsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetDnsZoneTimeouts)(nil)).Elem() +// Options for the HTTP health checking. +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) HttpHealthChecks() GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks { + return v.HttpHealthChecks + }).(GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) } -func (o GetDnsZoneTimeoutsPtrOutput) ToGetDnsZoneTimeoutsPtrOutput() GetDnsZoneTimeoutsPtrOutput { - return o +// Interval duration of health checking in seconds. +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) Interval() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) string { return v.Interval }).(pulumi.StringOutput) } -func (o GetDnsZoneTimeoutsPtrOutput) ToGetDnsZoneTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsPtrOutput { - return o +// Interval duration threshold of the health checking in seconds. +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) IntervalJitter() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) string { return v.IntervalJitter }).(pulumi.StringOutput) } -func (o GetDnsZoneTimeoutsPtrOutput) Elem() GetDnsZoneTimeoutsOutput { - return o.ApplyT(func(v *GetDnsZoneTimeouts) GetDnsZoneTimeouts { - if v != nil { - return *v - } - var ret GetDnsZoneTimeouts - return ret - }).(GetDnsZoneTimeoutsOutput) +// Active health checking timeout duration in seconds. +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) Timeout() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) string { return v.Timeout }).(pulumi.StringOutput) } -// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). -func (o GetDnsZoneTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetDnsZoneTimeouts) *string { - if v == nil { - return nil - } - return v.Read - }).(pulumi.StringPtrOutput) +// Unhealthy threshold of the health checking. +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckOutput) UnhealthyThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheck) int { return v.UnhealthyThreshold }).(pulumi.IntOutput) } -type GetDremioInstanceAuthentication struct { - // Azure Active Directory authentication configuration. - Azuread GetDremioInstanceAuthenticationAzuread `pulumi:"azuread"` - // OIDC authentication configuration. - Oauth GetDremioInstanceAuthenticationOauth `pulumi:"oauth"` - // Type of authentication (local-only, azuread, oauth). - Type string `pulumi:"type"` +type GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks struct { + // List of HTTP status codes that indicate a healthy response. + OkStatuses []string `pulumi:"okStatuses"` + // Path to send the health check request to. + Path string `pulumi:"path"` } -// GetDremioInstanceAuthenticationInput is an input type that accepts GetDremioInstanceAuthenticationArgs and GetDremioInstanceAuthenticationOutput values. -// You can construct a concrete instance of `GetDremioInstanceAuthenticationInput` via: +// GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksInput is an input type that accepts GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs and GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksInput` via: // -// GetDremioInstanceAuthenticationArgs{...} -type GetDremioInstanceAuthenticationInput interface { +// GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs{...} +type GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksInput interface { pulumi.Input - ToGetDremioInstanceAuthenticationOutput() GetDremioInstanceAuthenticationOutput - ToGetDremioInstanceAuthenticationOutputWithContext(context.Context) GetDremioInstanceAuthenticationOutput + ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput + ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput } -type GetDremioInstanceAuthenticationArgs struct { - // Azure Active Directory authentication configuration. - Azuread GetDremioInstanceAuthenticationAzureadInput `pulumi:"azuread"` - // OIDC authentication configuration. - Oauth GetDremioInstanceAuthenticationOauthInput `pulumi:"oauth"` - // Type of authentication (local-only, azuread, oauth). - Type pulumi.StringInput `pulumi:"type"` +type GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs struct { + // List of HTTP status codes that indicate a healthy response. + OkStatuses pulumi.StringArrayInput `pulumi:"okStatuses"` + // Path to send the health check request to. + Path pulumi.StringInput `pulumi:"path"` } -func (GetDremioInstanceAuthenticationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceAuthentication)(nil)).Elem() +func (GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks)(nil)).Elem() } -func (i GetDremioInstanceAuthenticationArgs) ToGetDremioInstanceAuthenticationOutput() GetDremioInstanceAuthenticationOutput { - return i.ToGetDremioInstanceAuthenticationOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput { + return i.ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutputWithContext(context.Background()) } -func (i GetDremioInstanceAuthenticationArgs) ToGetDremioInstanceAuthenticationOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOutput) +func (i GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) } -type GetDremioInstanceAuthenticationOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput struct{ *pulumi.OutputState } -func (GetDremioInstanceAuthenticationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceAuthentication)(nil)).Elem() +func (GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks)(nil)).Elem() } -func (o GetDremioInstanceAuthenticationOutput) ToGetDremioInstanceAuthenticationOutput() GetDremioInstanceAuthenticationOutput { +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput() GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput { return o } -func (o GetDremioInstanceAuthenticationOutput) ToGetDremioInstanceAuthenticationOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOutput { +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) ToGetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput { return o } -// Azure Active Directory authentication configuration. -func (o GetDremioInstanceAuthenticationOutput) Azuread() GetDremioInstanceAuthenticationAzureadOutput { - return o.ApplyT(func(v GetDremioInstanceAuthentication) GetDremioInstanceAuthenticationAzuread { return v.Azuread }).(GetDremioInstanceAuthenticationAzureadOutput) -} - -// OIDC authentication configuration. -func (o GetDremioInstanceAuthenticationOutput) Oauth() GetDremioInstanceAuthenticationOauthOutput { - return o.ApplyT(func(v GetDremioInstanceAuthentication) GetDremioInstanceAuthenticationOauth { return v.Oauth }).(GetDremioInstanceAuthenticationOauthOutput) +// List of HTTP status codes that indicate a healthy response. +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) OkStatuses() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks) []string { + return v.OkStatuses + }).(pulumi.StringArrayOutput) } -// Type of authentication (local-only, azuread, oauth). -func (o GetDremioInstanceAuthenticationOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthentication) string { return v.Type }).(pulumi.StringOutput) +// Path to send the health check request to. +func (o GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksOutput) Path() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecks) string { return v.Path }).(pulumi.StringOutput) } -type GetDremioInstanceAuthenticationAzuread struct { - // The Azure AD authority URL. - AuthorityUrl string `pulumi:"authorityUrl"` - // The Azure AD client ID. - ClientId string `pulumi:"clientId"` - // The Azure AD client secret. - ClientSecret string `pulumi:"clientSecret"` - // The Azure AD redirect URL. - RedirectUrl string `pulumi:"redirectUrl"` +type GetApplicationLoadBalancerTargetPoolTarget struct { + // Target display name + DisplayName string `pulumi:"displayName"` + // Private target IP, which must by unique within a target pool. + Ip string `pulumi:"ip"` } -// GetDremioInstanceAuthenticationAzureadInput is an input type that accepts GetDremioInstanceAuthenticationAzureadArgs and GetDremioInstanceAuthenticationAzureadOutput values. -// You can construct a concrete instance of `GetDremioInstanceAuthenticationAzureadInput` via: +// GetApplicationLoadBalancerTargetPoolTargetInput is an input type that accepts GetApplicationLoadBalancerTargetPoolTargetArgs and GetApplicationLoadBalancerTargetPoolTargetOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolTargetInput` via: // -// GetDremioInstanceAuthenticationAzureadArgs{...} -type GetDremioInstanceAuthenticationAzureadInput interface { +// GetApplicationLoadBalancerTargetPoolTargetArgs{...} +type GetApplicationLoadBalancerTargetPoolTargetInput interface { pulumi.Input - ToGetDremioInstanceAuthenticationAzureadOutput() GetDremioInstanceAuthenticationAzureadOutput - ToGetDremioInstanceAuthenticationAzureadOutputWithContext(context.Context) GetDremioInstanceAuthenticationAzureadOutput + ToGetApplicationLoadBalancerTargetPoolTargetOutput() GetApplicationLoadBalancerTargetPoolTargetOutput + ToGetApplicationLoadBalancerTargetPoolTargetOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolTargetOutput } -type GetDremioInstanceAuthenticationAzureadArgs struct { - // The Azure AD authority URL. - AuthorityUrl pulumi.StringInput `pulumi:"authorityUrl"` - // The Azure AD client ID. - ClientId pulumi.StringInput `pulumi:"clientId"` - // The Azure AD client secret. - ClientSecret pulumi.StringInput `pulumi:"clientSecret"` - // The Azure AD redirect URL. - RedirectUrl pulumi.StringInput `pulumi:"redirectUrl"` +type GetApplicationLoadBalancerTargetPoolTargetArgs struct { + // Target display name + DisplayName pulumi.StringInput `pulumi:"displayName"` + // Private target IP, which must by unique within a target pool. + Ip pulumi.StringInput `pulumi:"ip"` } -func (GetDremioInstanceAuthenticationAzureadArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceAuthenticationAzuread)(nil)).Elem() +func (GetApplicationLoadBalancerTargetPoolTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolTarget)(nil)).Elem() } -func (i GetDremioInstanceAuthenticationAzureadArgs) ToGetDremioInstanceAuthenticationAzureadOutput() GetDremioInstanceAuthenticationAzureadOutput { - return i.ToGetDremioInstanceAuthenticationAzureadOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerTargetPoolTargetArgs) ToGetApplicationLoadBalancerTargetPoolTargetOutput() GetApplicationLoadBalancerTargetPoolTargetOutput { + return i.ToGetApplicationLoadBalancerTargetPoolTargetOutputWithContext(context.Background()) } -func (i GetDremioInstanceAuthenticationAzureadArgs) ToGetDremioInstanceAuthenticationAzureadOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationAzureadOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationAzureadOutput) +func (i GetApplicationLoadBalancerTargetPoolTargetArgs) ToGetApplicationLoadBalancerTargetPoolTargetOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolTargetOutput) } -type GetDremioInstanceAuthenticationAzureadOutput struct{ *pulumi.OutputState } +// GetApplicationLoadBalancerTargetPoolTargetArrayInput is an input type that accepts GetApplicationLoadBalancerTargetPoolTargetArray and GetApplicationLoadBalancerTargetPoolTargetArrayOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolTargetArrayInput` via: +// +// GetApplicationLoadBalancerTargetPoolTargetArray{ GetApplicationLoadBalancerTargetPoolTargetArgs{...} } +type GetApplicationLoadBalancerTargetPoolTargetArrayInput interface { + pulumi.Input -func (GetDremioInstanceAuthenticationAzureadOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceAuthenticationAzuread)(nil)).Elem() + ToGetApplicationLoadBalancerTargetPoolTargetArrayOutput() GetApplicationLoadBalancerTargetPoolTargetArrayOutput + ToGetApplicationLoadBalancerTargetPoolTargetArrayOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolTargetArrayOutput } -func (o GetDremioInstanceAuthenticationAzureadOutput) ToGetDremioInstanceAuthenticationAzureadOutput() GetDremioInstanceAuthenticationAzureadOutput { - return o +type GetApplicationLoadBalancerTargetPoolTargetArray []GetApplicationLoadBalancerTargetPoolTargetInput + +func (GetApplicationLoadBalancerTargetPoolTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerTargetPoolTarget)(nil)).Elem() } -func (o GetDremioInstanceAuthenticationAzureadOutput) ToGetDremioInstanceAuthenticationAzureadOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationAzureadOutput { - return o +func (i GetApplicationLoadBalancerTargetPoolTargetArray) ToGetApplicationLoadBalancerTargetPoolTargetArrayOutput() GetApplicationLoadBalancerTargetPoolTargetArrayOutput { + return i.ToGetApplicationLoadBalancerTargetPoolTargetArrayOutputWithContext(context.Background()) } -// The Azure AD authority URL. -func (o GetDremioInstanceAuthenticationAzureadOutput) AuthorityUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationAzuread) string { return v.AuthorityUrl }).(pulumi.StringOutput) +func (i GetApplicationLoadBalancerTargetPoolTargetArray) ToGetApplicationLoadBalancerTargetPoolTargetArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolTargetArrayOutput) } -// The Azure AD client ID. -func (o GetDremioInstanceAuthenticationAzureadOutput) ClientId() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationAzuread) string { return v.ClientId }).(pulumi.StringOutput) +type GetApplicationLoadBalancerTargetPoolTargetOutput struct{ *pulumi.OutputState } + +func (GetApplicationLoadBalancerTargetPoolTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolTarget)(nil)).Elem() } -// The Azure AD client secret. -func (o GetDremioInstanceAuthenticationAzureadOutput) ClientSecret() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationAzuread) string { return v.ClientSecret }).(pulumi.StringOutput) +func (o GetApplicationLoadBalancerTargetPoolTargetOutput) ToGetApplicationLoadBalancerTargetPoolTargetOutput() GetApplicationLoadBalancerTargetPoolTargetOutput { + return o } -// The Azure AD redirect URL. -func (o GetDremioInstanceAuthenticationAzureadOutput) RedirectUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationAzuread) string { return v.RedirectUrl }).(pulumi.StringOutput) +func (o GetApplicationLoadBalancerTargetPoolTargetOutput) ToGetApplicationLoadBalancerTargetPoolTargetOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTargetOutput { + return o } -type GetDremioInstanceAuthenticationOauth struct { - // The Issuer location URI, where the OIDC provider configuration can be found. - AuthorityUrl string `pulumi:"authorityUrl"` - // The client ID assigned by the Identity Provider. - ClientId string `pulumi:"clientId"` - // The client secret generated by the Identity Provider. - ClientSecret string `pulumi:"clientSecret"` - // Maps fields from the JWT token to fields Dremio requires. - JwtClaims GetDremioInstanceAuthenticationOauthJwtClaims `pulumi:"jwtClaims"` - // Any additional parameters the Identity Provider requires. - Parameters []GetDremioInstanceAuthenticationOauthParameter `pulumi:"parameters"` - // The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. - RedirectUrl string `pulumi:"redirectUrl"` - // A list of space-separated scopes. The `openid` scope is always required; other scopes can vary by provider. - Scope string `pulumi:"scope"` +// Target display name +func (o GetApplicationLoadBalancerTargetPoolTargetOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolTarget) string { return v.DisplayName }).(pulumi.StringOutput) } -// GetDremioInstanceAuthenticationOauthInput is an input type that accepts GetDremioInstanceAuthenticationOauthArgs and GetDremioInstanceAuthenticationOauthOutput values. -// You can construct a concrete instance of `GetDremioInstanceAuthenticationOauthInput` via: -// -// GetDremioInstanceAuthenticationOauthArgs{...} -type GetDremioInstanceAuthenticationOauthInput interface { - pulumi.Input +// Private target IP, which must by unique within a target pool. +func (o GetApplicationLoadBalancerTargetPoolTargetOutput) Ip() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolTarget) string { return v.Ip }).(pulumi.StringOutput) +} - ToGetDremioInstanceAuthenticationOauthOutput() GetDremioInstanceAuthenticationOauthOutput - ToGetDremioInstanceAuthenticationOauthOutputWithContext(context.Context) GetDremioInstanceAuthenticationOauthOutput +type GetApplicationLoadBalancerTargetPoolTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetApplicationLoadBalancerTargetPoolTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetApplicationLoadBalancerTargetPoolTarget)(nil)).Elem() } -type GetDremioInstanceAuthenticationOauthArgs struct { - // The Issuer location URI, where the OIDC provider configuration can be found. - AuthorityUrl pulumi.StringInput `pulumi:"authorityUrl"` - // The client ID assigned by the Identity Provider. - ClientId pulumi.StringInput `pulumi:"clientId"` - // The client secret generated by the Identity Provider. - ClientSecret pulumi.StringInput `pulumi:"clientSecret"` - // Maps fields from the JWT token to fields Dremio requires. - JwtClaims GetDremioInstanceAuthenticationOauthJwtClaimsInput `pulumi:"jwtClaims"` - // Any additional parameters the Identity Provider requires. - Parameters GetDremioInstanceAuthenticationOauthParameterArrayInput `pulumi:"parameters"` - // The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. - RedirectUrl pulumi.StringInput `pulumi:"redirectUrl"` - // A list of space-separated scopes. The `openid` scope is always required; other scopes can vary by provider. - Scope pulumi.StringInput `pulumi:"scope"` +func (o GetApplicationLoadBalancerTargetPoolTargetArrayOutput) ToGetApplicationLoadBalancerTargetPoolTargetArrayOutput() GetApplicationLoadBalancerTargetPoolTargetArrayOutput { + return o } -func (GetDremioInstanceAuthenticationOauthArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceAuthenticationOauth)(nil)).Elem() +func (o GetApplicationLoadBalancerTargetPoolTargetArrayOutput) ToGetApplicationLoadBalancerTargetPoolTargetArrayOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTargetArrayOutput { + return o } -func (i GetDremioInstanceAuthenticationOauthArgs) ToGetDremioInstanceAuthenticationOauthOutput() GetDremioInstanceAuthenticationOauthOutput { - return i.ToGetDremioInstanceAuthenticationOauthOutputWithContext(context.Background()) +func (o GetApplicationLoadBalancerTargetPoolTargetArrayOutput) Index(i pulumi.IntInput) GetApplicationLoadBalancerTargetPoolTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetApplicationLoadBalancerTargetPoolTarget { + return vs[0].([]GetApplicationLoadBalancerTargetPoolTarget)[vs[1].(int)] + }).(GetApplicationLoadBalancerTargetPoolTargetOutput) } -func (i GetDremioInstanceAuthenticationOauthArgs) ToGetDremioInstanceAuthenticationOauthOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOauthOutput) +type GetApplicationLoadBalancerTargetPoolTlsConfig struct { + // Specifies a custom Certificate Authority (CA). When provided, the target pool will trust certificates signed by this CA, in addition to any system-trusted CAs. This is useful for scenarios where the target pool needs to communicate with servers using self-signed or internally-issued certificates. Enabled needs to be set to true and skip validation to false for this option. + CustomCa string `pulumi:"customCa"` + // Enable TLS (Transport Layer Security) bridging for the connection between Application Load Balancer and targets in this pool. When enabled, public CAs are trusted. Can be used in tandem with the options either custom CA or skip validation or alone. + Enabled bool `pulumi:"enabled"` + // Bypass certificate validation for TLS bridging in this target pool. This option is insecure and can only be used with public CAs by setting enabled true. Meant to be used for testing purposes only! + SkipCertificateValidation bool `pulumi:"skipCertificateValidation"` } -type GetDremioInstanceAuthenticationOauthOutput struct{ *pulumi.OutputState } +// GetApplicationLoadBalancerTargetPoolTlsConfigInput is an input type that accepts GetApplicationLoadBalancerTargetPoolTlsConfigArgs and GetApplicationLoadBalancerTargetPoolTlsConfigOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerTargetPoolTlsConfigInput` via: +// +// GetApplicationLoadBalancerTargetPoolTlsConfigArgs{...} +type GetApplicationLoadBalancerTargetPoolTlsConfigInput interface { + pulumi.Input -func (GetDremioInstanceAuthenticationOauthOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceAuthenticationOauth)(nil)).Elem() + ToGetApplicationLoadBalancerTargetPoolTlsConfigOutput() GetApplicationLoadBalancerTargetPoolTlsConfigOutput + ToGetApplicationLoadBalancerTargetPoolTlsConfigOutputWithContext(context.Context) GetApplicationLoadBalancerTargetPoolTlsConfigOutput } -func (o GetDremioInstanceAuthenticationOauthOutput) ToGetDremioInstanceAuthenticationOauthOutput() GetDremioInstanceAuthenticationOauthOutput { - return o +type GetApplicationLoadBalancerTargetPoolTlsConfigArgs struct { + // Specifies a custom Certificate Authority (CA). When provided, the target pool will trust certificates signed by this CA, in addition to any system-trusted CAs. This is useful for scenarios where the target pool needs to communicate with servers using self-signed or internally-issued certificates. Enabled needs to be set to true and skip validation to false for this option. + CustomCa pulumi.StringInput `pulumi:"customCa"` + // Enable TLS (Transport Layer Security) bridging for the connection between Application Load Balancer and targets in this pool. When enabled, public CAs are trusted. Can be used in tandem with the options either custom CA or skip validation or alone. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // Bypass certificate validation for TLS bridging in this target pool. This option is insecure and can only be used with public CAs by setting enabled true. Meant to be used for testing purposes only! + SkipCertificateValidation pulumi.BoolInput `pulumi:"skipCertificateValidation"` } -func (o GetDremioInstanceAuthenticationOauthOutput) ToGetDremioInstanceAuthenticationOauthOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthOutput { - return o +func (GetApplicationLoadBalancerTargetPoolTlsConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolTlsConfig)(nil)).Elem() } -// The Issuer location URI, where the OIDC provider configuration can be found. -func (o GetDremioInstanceAuthenticationOauthOutput) AuthorityUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationOauth) string { return v.AuthorityUrl }).(pulumi.StringOutput) +func (i GetApplicationLoadBalancerTargetPoolTlsConfigArgs) ToGetApplicationLoadBalancerTargetPoolTlsConfigOutput() GetApplicationLoadBalancerTargetPoolTlsConfigOutput { + return i.ToGetApplicationLoadBalancerTargetPoolTlsConfigOutputWithContext(context.Background()) } -// The client ID assigned by the Identity Provider. -func (o GetDremioInstanceAuthenticationOauthOutput) ClientId() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationOauth) string { return v.ClientId }).(pulumi.StringOutput) +func (i GetApplicationLoadBalancerTargetPoolTlsConfigArgs) ToGetApplicationLoadBalancerTargetPoolTlsConfigOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTlsConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetPoolTlsConfigOutput) } -// The client secret generated by the Identity Provider. -func (o GetDremioInstanceAuthenticationOauthOutput) ClientSecret() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationOauth) string { return v.ClientSecret }).(pulumi.StringOutput) +type GetApplicationLoadBalancerTargetPoolTlsConfigOutput struct{ *pulumi.OutputState } + +func (GetApplicationLoadBalancerTargetPoolTlsConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetPoolTlsConfig)(nil)).Elem() } -// Maps fields from the JWT token to fields Dremio requires. -func (o GetDremioInstanceAuthenticationOauthOutput) JwtClaims() GetDremioInstanceAuthenticationOauthJwtClaimsOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationOauth) GetDremioInstanceAuthenticationOauthJwtClaims { - return v.JwtClaims - }).(GetDremioInstanceAuthenticationOauthJwtClaimsOutput) +func (o GetApplicationLoadBalancerTargetPoolTlsConfigOutput) ToGetApplicationLoadBalancerTargetPoolTlsConfigOutput() GetApplicationLoadBalancerTargetPoolTlsConfigOutput { + return o } -// Any additional parameters the Identity Provider requires. -func (o GetDremioInstanceAuthenticationOauthOutput) Parameters() GetDremioInstanceAuthenticationOauthParameterArrayOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationOauth) []GetDremioInstanceAuthenticationOauthParameter { - return v.Parameters - }).(GetDremioInstanceAuthenticationOauthParameterArrayOutput) +func (o GetApplicationLoadBalancerTargetPoolTlsConfigOutput) ToGetApplicationLoadBalancerTargetPoolTlsConfigOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetPoolTlsConfigOutput { + return o } -// The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. -func (o GetDremioInstanceAuthenticationOauthOutput) RedirectUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationOauth) string { return v.RedirectUrl }).(pulumi.StringOutput) +// Specifies a custom Certificate Authority (CA). When provided, the target pool will trust certificates signed by this CA, in addition to any system-trusted CAs. This is useful for scenarios where the target pool needs to communicate with servers using self-signed or internally-issued certificates. Enabled needs to be set to true and skip validation to false for this option. +func (o GetApplicationLoadBalancerTargetPoolTlsConfigOutput) CustomCa() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolTlsConfig) string { return v.CustomCa }).(pulumi.StringOutput) } -// A list of space-separated scopes. The `openid` scope is always required; other scopes can vary by provider. -func (o GetDremioInstanceAuthenticationOauthOutput) Scope() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationOauth) string { return v.Scope }).(pulumi.StringOutput) +// Enable TLS (Transport Layer Security) bridging for the connection between Application Load Balancer and targets in this pool. When enabled, public CAs are trusted. Can be used in tandem with the options either custom CA or skip validation or alone. +func (o GetApplicationLoadBalancerTargetPoolTlsConfigOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolTlsConfig) bool { return v.Enabled }).(pulumi.BoolOutput) } -type GetDremioInstanceAuthenticationOauthJwtClaims struct { - // Mapped user name claim (e.g. email). - UserName string `pulumi:"userName"` +// Bypass certificate validation for TLS bridging in this target pool. This option is insecure and can only be used with public CAs by setting enabled true. Meant to be used for testing purposes only! +func (o GetApplicationLoadBalancerTargetPoolTlsConfigOutput) SkipCertificateValidation() pulumi.BoolOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetPoolTlsConfig) bool { return v.SkipCertificateValidation }).(pulumi.BoolOutput) } -// GetDremioInstanceAuthenticationOauthJwtClaimsInput is an input type that accepts GetDremioInstanceAuthenticationOauthJwtClaimsArgs and GetDremioInstanceAuthenticationOauthJwtClaimsOutput values. -// You can construct a concrete instance of `GetDremioInstanceAuthenticationOauthJwtClaimsInput` via: +type GetApplicationLoadBalancerTargetSecurityGroup struct { + // ID of the security Group + Id string `pulumi:"id"` + // Name of the security Group + Name string `pulumi:"name"` +} + +// GetApplicationLoadBalancerTargetSecurityGroupInput is an input type that accepts GetApplicationLoadBalancerTargetSecurityGroupArgs and GetApplicationLoadBalancerTargetSecurityGroupOutput values. +// You can construct a concrete instance of `GetApplicationLoadBalancerTargetSecurityGroupInput` via: // -// GetDremioInstanceAuthenticationOauthJwtClaimsArgs{...} -type GetDremioInstanceAuthenticationOauthJwtClaimsInput interface { +// GetApplicationLoadBalancerTargetSecurityGroupArgs{...} +type GetApplicationLoadBalancerTargetSecurityGroupInput interface { pulumi.Input - ToGetDremioInstanceAuthenticationOauthJwtClaimsOutput() GetDremioInstanceAuthenticationOauthJwtClaimsOutput - ToGetDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(context.Context) GetDremioInstanceAuthenticationOauthJwtClaimsOutput + ToGetApplicationLoadBalancerTargetSecurityGroupOutput() GetApplicationLoadBalancerTargetSecurityGroupOutput + ToGetApplicationLoadBalancerTargetSecurityGroupOutputWithContext(context.Context) GetApplicationLoadBalancerTargetSecurityGroupOutput } -type GetDremioInstanceAuthenticationOauthJwtClaimsArgs struct { - // Mapped user name claim (e.g. email). - UserName pulumi.StringInput `pulumi:"userName"` +type GetApplicationLoadBalancerTargetSecurityGroupArgs struct { + // ID of the security Group + Id pulumi.StringInput `pulumi:"id"` + // Name of the security Group + Name pulumi.StringInput `pulumi:"name"` } -func (GetDremioInstanceAuthenticationOauthJwtClaimsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceAuthenticationOauthJwtClaims)(nil)).Elem() +func (GetApplicationLoadBalancerTargetSecurityGroupArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetSecurityGroup)(nil)).Elem() } -func (i GetDremioInstanceAuthenticationOauthJwtClaimsArgs) ToGetDremioInstanceAuthenticationOauthJwtClaimsOutput() GetDremioInstanceAuthenticationOauthJwtClaimsOutput { - return i.ToGetDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(context.Background()) +func (i GetApplicationLoadBalancerTargetSecurityGroupArgs) ToGetApplicationLoadBalancerTargetSecurityGroupOutput() GetApplicationLoadBalancerTargetSecurityGroupOutput { + return i.ToGetApplicationLoadBalancerTargetSecurityGroupOutputWithContext(context.Background()) } -func (i GetDremioInstanceAuthenticationOauthJwtClaimsArgs) ToGetDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthJwtClaimsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOauthJwtClaimsOutput) +func (i GetApplicationLoadBalancerTargetSecurityGroupArgs) ToGetApplicationLoadBalancerTargetSecurityGroupOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetSecurityGroupOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetApplicationLoadBalancerTargetSecurityGroupOutput) } -type GetDremioInstanceAuthenticationOauthJwtClaimsOutput struct{ *pulumi.OutputState } +type GetApplicationLoadBalancerTargetSecurityGroupOutput struct{ *pulumi.OutputState } -func (GetDremioInstanceAuthenticationOauthJwtClaimsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceAuthenticationOauthJwtClaims)(nil)).Elem() +func (GetApplicationLoadBalancerTargetSecurityGroupOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetApplicationLoadBalancerTargetSecurityGroup)(nil)).Elem() } -func (o GetDremioInstanceAuthenticationOauthJwtClaimsOutput) ToGetDremioInstanceAuthenticationOauthJwtClaimsOutput() GetDremioInstanceAuthenticationOauthJwtClaimsOutput { +func (o GetApplicationLoadBalancerTargetSecurityGroupOutput) ToGetApplicationLoadBalancerTargetSecurityGroupOutput() GetApplicationLoadBalancerTargetSecurityGroupOutput { return o } -func (o GetDremioInstanceAuthenticationOauthJwtClaimsOutput) ToGetDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthJwtClaimsOutput { +func (o GetApplicationLoadBalancerTargetSecurityGroupOutput) ToGetApplicationLoadBalancerTargetSecurityGroupOutputWithContext(ctx context.Context) GetApplicationLoadBalancerTargetSecurityGroupOutput { return o } -// Mapped user name claim (e.g. email). -func (o GetDremioInstanceAuthenticationOauthJwtClaimsOutput) UserName() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationOauthJwtClaims) string { return v.UserName }).(pulumi.StringOutput) +// ID of the security Group +func (o GetApplicationLoadBalancerTargetSecurityGroupOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetSecurityGroup) string { return v.Id }).(pulumi.StringOutput) } -type GetDremioInstanceAuthenticationOauthParameter struct { - // Parameter name. - Name string `pulumi:"name"` - // Parameter value. - Value string `pulumi:"value"` +// Name of the security Group +func (o GetApplicationLoadBalancerTargetSecurityGroupOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetApplicationLoadBalancerTargetSecurityGroup) string { return v.Name }).(pulumi.StringOutput) } -// GetDremioInstanceAuthenticationOauthParameterInput is an input type that accepts GetDremioInstanceAuthenticationOauthParameterArgs and GetDremioInstanceAuthenticationOauthParameterOutput values. -// You can construct a concrete instance of `GetDremioInstanceAuthenticationOauthParameterInput` via: +type GetCdnCustomDomainCertificate struct { + // A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed. + Version int `pulumi:"version"` +} + +// GetCdnCustomDomainCertificateInput is an input type that accepts GetCdnCustomDomainCertificateArgs and GetCdnCustomDomainCertificateOutput values. +// You can construct a concrete instance of `GetCdnCustomDomainCertificateInput` via: // -// GetDremioInstanceAuthenticationOauthParameterArgs{...} -type GetDremioInstanceAuthenticationOauthParameterInput interface { +// GetCdnCustomDomainCertificateArgs{...} +type GetCdnCustomDomainCertificateInput interface { pulumi.Input - ToGetDremioInstanceAuthenticationOauthParameterOutput() GetDremioInstanceAuthenticationOauthParameterOutput - ToGetDremioInstanceAuthenticationOauthParameterOutputWithContext(context.Context) GetDremioInstanceAuthenticationOauthParameterOutput + ToGetCdnCustomDomainCertificateOutput() GetCdnCustomDomainCertificateOutput + ToGetCdnCustomDomainCertificateOutputWithContext(context.Context) GetCdnCustomDomainCertificateOutput } -type GetDremioInstanceAuthenticationOauthParameterArgs struct { - // Parameter name. - Name pulumi.StringInput `pulumi:"name"` - // Parameter value. - Value pulumi.StringInput `pulumi:"value"` +type GetCdnCustomDomainCertificateArgs struct { + // A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed. + Version pulumi.IntInput `pulumi:"version"` } -func (GetDremioInstanceAuthenticationOauthParameterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceAuthenticationOauthParameter)(nil)).Elem() +func (GetCdnCustomDomainCertificateArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnCustomDomainCertificate)(nil)).Elem() } -func (i GetDremioInstanceAuthenticationOauthParameterArgs) ToGetDremioInstanceAuthenticationOauthParameterOutput() GetDremioInstanceAuthenticationOauthParameterOutput { - return i.ToGetDremioInstanceAuthenticationOauthParameterOutputWithContext(context.Background()) +func (i GetCdnCustomDomainCertificateArgs) ToGetCdnCustomDomainCertificateOutput() GetCdnCustomDomainCertificateOutput { + return i.ToGetCdnCustomDomainCertificateOutputWithContext(context.Background()) } -func (i GetDremioInstanceAuthenticationOauthParameterArgs) ToGetDremioInstanceAuthenticationOauthParameterOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthParameterOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOauthParameterOutput) +func (i GetCdnCustomDomainCertificateArgs) ToGetCdnCustomDomainCertificateOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificateOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnCustomDomainCertificateOutput) } -// GetDremioInstanceAuthenticationOauthParameterArrayInput is an input type that accepts GetDremioInstanceAuthenticationOauthParameterArray and GetDremioInstanceAuthenticationOauthParameterArrayOutput values. -// You can construct a concrete instance of `GetDremioInstanceAuthenticationOauthParameterArrayInput` via: +func (i GetCdnCustomDomainCertificateArgs) ToGetCdnCustomDomainCertificatePtrOutput() GetCdnCustomDomainCertificatePtrOutput { + return i.ToGetCdnCustomDomainCertificatePtrOutputWithContext(context.Background()) +} + +func (i GetCdnCustomDomainCertificateArgs) ToGetCdnCustomDomainCertificatePtrOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnCustomDomainCertificateOutput).ToGetCdnCustomDomainCertificatePtrOutputWithContext(ctx) +} + +// GetCdnCustomDomainCertificatePtrInput is an input type that accepts GetCdnCustomDomainCertificateArgs, GetCdnCustomDomainCertificatePtr and GetCdnCustomDomainCertificatePtrOutput values. +// You can construct a concrete instance of `GetCdnCustomDomainCertificatePtrInput` via: // -// GetDremioInstanceAuthenticationOauthParameterArray{ GetDremioInstanceAuthenticationOauthParameterArgs{...} } -type GetDremioInstanceAuthenticationOauthParameterArrayInput interface { +// GetCdnCustomDomainCertificateArgs{...} +// +// or: +// +// nil +type GetCdnCustomDomainCertificatePtrInput interface { pulumi.Input - ToGetDremioInstanceAuthenticationOauthParameterArrayOutput() GetDremioInstanceAuthenticationOauthParameterArrayOutput - ToGetDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(context.Context) GetDremioInstanceAuthenticationOauthParameterArrayOutput + ToGetCdnCustomDomainCertificatePtrOutput() GetCdnCustomDomainCertificatePtrOutput + ToGetCdnCustomDomainCertificatePtrOutputWithContext(context.Context) GetCdnCustomDomainCertificatePtrOutput } -type GetDremioInstanceAuthenticationOauthParameterArray []GetDremioInstanceAuthenticationOauthParameterInput +type getCdnCustomDomainCertificatePtrType GetCdnCustomDomainCertificateArgs -func (GetDremioInstanceAuthenticationOauthParameterArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetDremioInstanceAuthenticationOauthParameter)(nil)).Elem() +func GetCdnCustomDomainCertificatePtr(v *GetCdnCustomDomainCertificateArgs) GetCdnCustomDomainCertificatePtrInput { + return (*getCdnCustomDomainCertificatePtrType)(v) } -func (i GetDremioInstanceAuthenticationOauthParameterArray) ToGetDremioInstanceAuthenticationOauthParameterArrayOutput() GetDremioInstanceAuthenticationOauthParameterArrayOutput { - return i.ToGetDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(context.Background()) +func (*getCdnCustomDomainCertificatePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetCdnCustomDomainCertificate)(nil)).Elem() } -func (i GetDremioInstanceAuthenticationOauthParameterArray) ToGetDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthParameterArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOauthParameterArrayOutput) +func (i *getCdnCustomDomainCertificatePtrType) ToGetCdnCustomDomainCertificatePtrOutput() GetCdnCustomDomainCertificatePtrOutput { + return i.ToGetCdnCustomDomainCertificatePtrOutputWithContext(context.Background()) } -type GetDremioInstanceAuthenticationOauthParameterOutput struct{ *pulumi.OutputState } +func (i *getCdnCustomDomainCertificatePtrType) ToGetCdnCustomDomainCertificatePtrOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificatePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnCustomDomainCertificatePtrOutput) +} -func (GetDremioInstanceAuthenticationOauthParameterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceAuthenticationOauthParameter)(nil)).Elem() +type GetCdnCustomDomainCertificateOutput struct{ *pulumi.OutputState } + +func (GetCdnCustomDomainCertificateOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnCustomDomainCertificate)(nil)).Elem() } -func (o GetDremioInstanceAuthenticationOauthParameterOutput) ToGetDremioInstanceAuthenticationOauthParameterOutput() GetDremioInstanceAuthenticationOauthParameterOutput { +func (o GetCdnCustomDomainCertificateOutput) ToGetCdnCustomDomainCertificateOutput() GetCdnCustomDomainCertificateOutput { return o } -func (o GetDremioInstanceAuthenticationOauthParameterOutput) ToGetDremioInstanceAuthenticationOauthParameterOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthParameterOutput { +func (o GetCdnCustomDomainCertificateOutput) ToGetCdnCustomDomainCertificateOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificateOutput { return o } -// Parameter name. -func (o GetDremioInstanceAuthenticationOauthParameterOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationOauthParameter) string { return v.Name }).(pulumi.StringOutput) +func (o GetCdnCustomDomainCertificateOutput) ToGetCdnCustomDomainCertificatePtrOutput() GetCdnCustomDomainCertificatePtrOutput { + return o.ToGetCdnCustomDomainCertificatePtrOutputWithContext(context.Background()) } -// Parameter value. -func (o GetDremioInstanceAuthenticationOauthParameterOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceAuthenticationOauthParameter) string { return v.Value }).(pulumi.StringOutput) +func (o GetCdnCustomDomainCertificateOutput) ToGetCdnCustomDomainCertificatePtrOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificatePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetCdnCustomDomainCertificate) *GetCdnCustomDomainCertificate { + return &v + }).(GetCdnCustomDomainCertificatePtrOutput) } -type GetDremioInstanceAuthenticationOauthParameterArrayOutput struct{ *pulumi.OutputState } +// A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed. +func (o GetCdnCustomDomainCertificateOutput) Version() pulumi.IntOutput { + return o.ApplyT(func(v GetCdnCustomDomainCertificate) int { return v.Version }).(pulumi.IntOutput) +} -func (GetDremioInstanceAuthenticationOauthParameterArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetDremioInstanceAuthenticationOauthParameter)(nil)).Elem() +type GetCdnCustomDomainCertificatePtrOutput struct{ *pulumi.OutputState } + +func (GetCdnCustomDomainCertificatePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetCdnCustomDomainCertificate)(nil)).Elem() } -func (o GetDremioInstanceAuthenticationOauthParameterArrayOutput) ToGetDremioInstanceAuthenticationOauthParameterArrayOutput() GetDremioInstanceAuthenticationOauthParameterArrayOutput { +func (o GetCdnCustomDomainCertificatePtrOutput) ToGetCdnCustomDomainCertificatePtrOutput() GetCdnCustomDomainCertificatePtrOutput { return o } -func (o GetDremioInstanceAuthenticationOauthParameterArrayOutput) ToGetDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthParameterArrayOutput { +func (o GetCdnCustomDomainCertificatePtrOutput) ToGetCdnCustomDomainCertificatePtrOutputWithContext(ctx context.Context) GetCdnCustomDomainCertificatePtrOutput { return o } -func (o GetDremioInstanceAuthenticationOauthParameterArrayOutput) Index(i pulumi.IntInput) GetDremioInstanceAuthenticationOauthParameterOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetDremioInstanceAuthenticationOauthParameter { - return vs[0].([]GetDremioInstanceAuthenticationOauthParameter)[vs[1].(int)] - }).(GetDremioInstanceAuthenticationOauthParameterOutput) +func (o GetCdnCustomDomainCertificatePtrOutput) Elem() GetCdnCustomDomainCertificateOutput { + return o.ApplyT(func(v *GetCdnCustomDomainCertificate) GetCdnCustomDomainCertificate { + if v != nil { + return *v + } + var ret GetCdnCustomDomainCertificate + return ret + }).(GetCdnCustomDomainCertificateOutput) } -type GetDremioInstanceEndpoints struct { - // The arrow flight endpoint of the Dremio instance. - ArrowFlight string `pulumi:"arrowFlight"` - // The Apache Iceberg endpoint of the Dremio instance. - Catalog string `pulumi:"catalog"` - // The UI endpoint of the Dremio instance. - Ui string `pulumi:"ui"` +// A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed. +func (o GetCdnCustomDomainCertificatePtrOutput) Version() pulumi.IntPtrOutput { + return o.ApplyT(func(v *GetCdnCustomDomainCertificate) *int { + if v == nil { + return nil + } + return &v.Version + }).(pulumi.IntPtrOutput) } -// GetDremioInstanceEndpointsInput is an input type that accepts GetDremioInstanceEndpointsArgs and GetDremioInstanceEndpointsOutput values. -// You can construct a concrete instance of `GetDremioInstanceEndpointsInput` via: +type GetCdnDistributionConfig struct { + // The configured backend for the distribution + Backend GetCdnDistributionConfigBackend `pulumi:"backend"` + // The configured countries where distribution of content is blocked + BlockedCountries []string `pulumi:"blockedCountries"` + // Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. + Optimizer GetCdnDistributionConfigOptimizer `pulumi:"optimizer"` + // A wrapper for a list of redirect rules that allows for redirect settings on a distribution + Redirects GetCdnDistributionConfigRedirects `pulumi:"redirects"` + // The configured regions where content will be hosted + Regions []string `pulumi:"regions"` + // Configures the Web Application Firewall (WAF) for the distribution. If this block is undefined or removed from your configuration, the WAF mode will default to DISABLED and the type to FREE. All other WAF properties will retain their last known state in the API; if they were never defined, the API will apply its default settings. + Waf GetCdnDistributionConfigWaf `pulumi:"waf"` +} + +// GetCdnDistributionConfigInput is an input type that accepts GetCdnDistributionConfigArgs and GetCdnDistributionConfigOutput values. +// You can construct a concrete instance of `GetCdnDistributionConfigInput` via: // -// GetDremioInstanceEndpointsArgs{...} -type GetDremioInstanceEndpointsInput interface { +// GetCdnDistributionConfigArgs{...} +type GetCdnDistributionConfigInput interface { pulumi.Input - ToGetDremioInstanceEndpointsOutput() GetDremioInstanceEndpointsOutput - ToGetDremioInstanceEndpointsOutputWithContext(context.Context) GetDremioInstanceEndpointsOutput + ToGetCdnDistributionConfigOutput() GetCdnDistributionConfigOutput + ToGetCdnDistributionConfigOutputWithContext(context.Context) GetCdnDistributionConfigOutput } -type GetDremioInstanceEndpointsArgs struct { - // The arrow flight endpoint of the Dremio instance. - ArrowFlight pulumi.StringInput `pulumi:"arrowFlight"` - // The Apache Iceberg endpoint of the Dremio instance. - Catalog pulumi.StringInput `pulumi:"catalog"` - // The UI endpoint of the Dremio instance. - Ui pulumi.StringInput `pulumi:"ui"` +type GetCdnDistributionConfigArgs struct { + // The configured backend for the distribution + Backend GetCdnDistributionConfigBackendInput `pulumi:"backend"` + // The configured countries where distribution of content is blocked + BlockedCountries pulumi.StringArrayInput `pulumi:"blockedCountries"` + // Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. + Optimizer GetCdnDistributionConfigOptimizerInput `pulumi:"optimizer"` + // A wrapper for a list of redirect rules that allows for redirect settings on a distribution + Redirects GetCdnDistributionConfigRedirectsInput `pulumi:"redirects"` + // The configured regions where content will be hosted + Regions pulumi.StringArrayInput `pulumi:"regions"` + // Configures the Web Application Firewall (WAF) for the distribution. If this block is undefined or removed from your configuration, the WAF mode will default to DISABLED and the type to FREE. All other WAF properties will retain their last known state in the API; if they were never defined, the API will apply its default settings. + Waf GetCdnDistributionConfigWafInput `pulumi:"waf"` } -func (GetDremioInstanceEndpointsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceEndpoints)(nil)).Elem() +func (GetCdnDistributionConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfig)(nil)).Elem() } -func (i GetDremioInstanceEndpointsArgs) ToGetDremioInstanceEndpointsOutput() GetDremioInstanceEndpointsOutput { - return i.ToGetDremioInstanceEndpointsOutputWithContext(context.Background()) +func (i GetCdnDistributionConfigArgs) ToGetCdnDistributionConfigOutput() GetCdnDistributionConfigOutput { + return i.ToGetCdnDistributionConfigOutputWithContext(context.Background()) } -func (i GetDremioInstanceEndpointsArgs) ToGetDremioInstanceEndpointsOutputWithContext(ctx context.Context) GetDremioInstanceEndpointsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceEndpointsOutput) +func (i GetCdnDistributionConfigArgs) ToGetCdnDistributionConfigOutputWithContext(ctx context.Context) GetCdnDistributionConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigOutput) } -type GetDremioInstanceEndpointsOutput struct{ *pulumi.OutputState } +type GetCdnDistributionConfigOutput struct{ *pulumi.OutputState } -func (GetDremioInstanceEndpointsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetDremioInstanceEndpoints)(nil)).Elem() +func (GetCdnDistributionConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfig)(nil)).Elem() } -func (o GetDremioInstanceEndpointsOutput) ToGetDremioInstanceEndpointsOutput() GetDremioInstanceEndpointsOutput { +func (o GetCdnDistributionConfigOutput) ToGetCdnDistributionConfigOutput() GetCdnDistributionConfigOutput { return o } -func (o GetDremioInstanceEndpointsOutput) ToGetDremioInstanceEndpointsOutputWithContext(ctx context.Context) GetDremioInstanceEndpointsOutput { +func (o GetCdnDistributionConfigOutput) ToGetCdnDistributionConfigOutputWithContext(ctx context.Context) GetCdnDistributionConfigOutput { return o } -// The arrow flight endpoint of the Dremio instance. -func (o GetDremioInstanceEndpointsOutput) ArrowFlight() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceEndpoints) string { return v.ArrowFlight }).(pulumi.StringOutput) +// The configured backend for the distribution +func (o GetCdnDistributionConfigOutput) Backend() GetCdnDistributionConfigBackendOutput { + return o.ApplyT(func(v GetCdnDistributionConfig) GetCdnDistributionConfigBackend { return v.Backend }).(GetCdnDistributionConfigBackendOutput) } -// The Apache Iceberg endpoint of the Dremio instance. -func (o GetDremioInstanceEndpointsOutput) Catalog() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceEndpoints) string { return v.Catalog }).(pulumi.StringOutput) +// The configured countries where distribution of content is blocked +func (o GetCdnDistributionConfigOutput) BlockedCountries() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfig) []string { return v.BlockedCountries }).(pulumi.StringArrayOutput) } -// The UI endpoint of the Dremio instance. -func (o GetDremioInstanceEndpointsOutput) Ui() pulumi.StringOutput { - return o.ApplyT(func(v GetDremioInstanceEndpoints) string { return v.Ui }).(pulumi.StringOutput) +// Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. +func (o GetCdnDistributionConfigOutput) Optimizer() GetCdnDistributionConfigOptimizerOutput { + return o.ApplyT(func(v GetCdnDistributionConfig) GetCdnDistributionConfigOptimizer { return v.Optimizer }).(GetCdnDistributionConfigOptimizerOutput) } -type GetEdgecloudInstancesInstance struct { - // The date and time the instance was created. - Created string `pulumi:"created"` - // Description of the instance. - Description string `pulumi:"description"` - // The display name of the instance. - DisplayName string `pulumi:"displayName"` - // Frontend URL for the Edge Cloud instance. - FrontendUrl string `pulumi:"frontendUrl"` - // The ID of the instance. - InstanceId string `pulumi:"instanceId"` - // The plan ID for the instance. - PlanId string `pulumi:"planId"` - // The region where the instance is located. +// A wrapper for a list of redirect rules that allows for redirect settings on a distribution +func (o GetCdnDistributionConfigOutput) Redirects() GetCdnDistributionConfigRedirectsOutput { + return o.ApplyT(func(v GetCdnDistributionConfig) GetCdnDistributionConfigRedirects { return v.Redirects }).(GetCdnDistributionConfigRedirectsOutput) +} + +// The configured regions where content will be hosted +func (o GetCdnDistributionConfigOutput) Regions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfig) []string { return v.Regions }).(pulumi.StringArrayOutput) +} + +// Configures the Web Application Firewall (WAF) for the distribution. If this block is undefined or removed from your configuration, the WAF mode will default to DISABLED and the type to FREE. All other WAF properties will retain their last known state in the API; if they were never defined, the API will apply its default settings. +func (o GetCdnDistributionConfigOutput) Waf() GetCdnDistributionConfigWafOutput { + return o.ApplyT(func(v GetCdnDistributionConfig) GetCdnDistributionConfigWaf { return v.Waf }).(GetCdnDistributionConfigWafOutput) +} + +type GetCdnDistributionConfigBackend struct { + // The URL of the bucket (e.g. https://s3.example.com). Required if type is 'bucket'. + BucketUrl string `pulumi:"bucketUrl"` + // The configured type http to configure countries where content is allowed. A map of URLs to a list of countries + Geofencing map[string][]string `pulumi:"geofencing"` + // The configured type http origin request headers for the backend + OriginRequestHeaders map[string]string `pulumi:"originRequestHeaders"` + // The configured backend type http for the distribution + OriginUrl string `pulumi:"originUrl"` + // The region where the bucket is hosted. Required if type is 'bucket'. Region string `pulumi:"region"` - // The status of the instance. - Status string `pulumi:"status"` + // The configured backend type. Possible values are: `http`, `bucket`. + Type string `pulumi:"type"` } -// GetEdgecloudInstancesInstanceInput is an input type that accepts GetEdgecloudInstancesInstanceArgs and GetEdgecloudInstancesInstanceOutput values. -// You can construct a concrete instance of `GetEdgecloudInstancesInstanceInput` via: +// GetCdnDistributionConfigBackendInput is an input type that accepts GetCdnDistributionConfigBackendArgs and GetCdnDistributionConfigBackendOutput values. +// You can construct a concrete instance of `GetCdnDistributionConfigBackendInput` via: // -// GetEdgecloudInstancesInstanceArgs{...} -type GetEdgecloudInstancesInstanceInput interface { +// GetCdnDistributionConfigBackendArgs{...} +type GetCdnDistributionConfigBackendInput interface { pulumi.Input - ToGetEdgecloudInstancesInstanceOutput() GetEdgecloudInstancesInstanceOutput - ToGetEdgecloudInstancesInstanceOutputWithContext(context.Context) GetEdgecloudInstancesInstanceOutput + ToGetCdnDistributionConfigBackendOutput() GetCdnDistributionConfigBackendOutput + ToGetCdnDistributionConfigBackendOutputWithContext(context.Context) GetCdnDistributionConfigBackendOutput } -type GetEdgecloudInstancesInstanceArgs struct { - // The date and time the instance was created. - Created pulumi.StringInput `pulumi:"created"` - // Description of the instance. - Description pulumi.StringInput `pulumi:"description"` - // The display name of the instance. - DisplayName pulumi.StringInput `pulumi:"displayName"` - // Frontend URL for the Edge Cloud instance. - FrontendUrl pulumi.StringInput `pulumi:"frontendUrl"` - // The ID of the instance. - InstanceId pulumi.StringInput `pulumi:"instanceId"` - // The plan ID for the instance. - PlanId pulumi.StringInput `pulumi:"planId"` - // The region where the instance is located. +type GetCdnDistributionConfigBackendArgs struct { + // The URL of the bucket (e.g. https://s3.example.com). Required if type is 'bucket'. + BucketUrl pulumi.StringInput `pulumi:"bucketUrl"` + // The configured type http to configure countries where content is allowed. A map of URLs to a list of countries + Geofencing pulumi.StringArrayMapInput `pulumi:"geofencing"` + // The configured type http origin request headers for the backend + OriginRequestHeaders pulumi.StringMapInput `pulumi:"originRequestHeaders"` + // The configured backend type http for the distribution + OriginUrl pulumi.StringInput `pulumi:"originUrl"` + // The region where the bucket is hosted. Required if type is 'bucket'. Region pulumi.StringInput `pulumi:"region"` - // The status of the instance. - Status pulumi.StringInput `pulumi:"status"` + // The configured backend type. Possible values are: `http`, `bucket`. + Type pulumi.StringInput `pulumi:"type"` } -func (GetEdgecloudInstancesInstanceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetEdgecloudInstancesInstance)(nil)).Elem() +func (GetCdnDistributionConfigBackendArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigBackend)(nil)).Elem() } -func (i GetEdgecloudInstancesInstanceArgs) ToGetEdgecloudInstancesInstanceOutput() GetEdgecloudInstancesInstanceOutput { - return i.ToGetEdgecloudInstancesInstanceOutputWithContext(context.Background()) +func (i GetCdnDistributionConfigBackendArgs) ToGetCdnDistributionConfigBackendOutput() GetCdnDistributionConfigBackendOutput { + return i.ToGetCdnDistributionConfigBackendOutputWithContext(context.Background()) } -func (i GetEdgecloudInstancesInstanceArgs) ToGetEdgecloudInstancesInstanceOutputWithContext(ctx context.Context) GetEdgecloudInstancesInstanceOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetEdgecloudInstancesInstanceOutput) +func (i GetCdnDistributionConfigBackendArgs) ToGetCdnDistributionConfigBackendOutputWithContext(ctx context.Context) GetCdnDistributionConfigBackendOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigBackendOutput) } -// GetEdgecloudInstancesInstanceArrayInput is an input type that accepts GetEdgecloudInstancesInstanceArray and GetEdgecloudInstancesInstanceArrayOutput values. -// You can construct a concrete instance of `GetEdgecloudInstancesInstanceArrayInput` via: -// -// GetEdgecloudInstancesInstanceArray{ GetEdgecloudInstancesInstanceArgs{...} } -type GetEdgecloudInstancesInstanceArrayInput interface { - pulumi.Input +type GetCdnDistributionConfigBackendOutput struct{ *pulumi.OutputState } - ToGetEdgecloudInstancesInstanceArrayOutput() GetEdgecloudInstancesInstanceArrayOutput - ToGetEdgecloudInstancesInstanceArrayOutputWithContext(context.Context) GetEdgecloudInstancesInstanceArrayOutput +func (GetCdnDistributionConfigBackendOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigBackend)(nil)).Elem() } -type GetEdgecloudInstancesInstanceArray []GetEdgecloudInstancesInstanceInput +func (o GetCdnDistributionConfigBackendOutput) ToGetCdnDistributionConfigBackendOutput() GetCdnDistributionConfigBackendOutput { + return o +} -func (GetEdgecloudInstancesInstanceArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetEdgecloudInstancesInstance)(nil)).Elem() +func (o GetCdnDistributionConfigBackendOutput) ToGetCdnDistributionConfigBackendOutputWithContext(ctx context.Context) GetCdnDistributionConfigBackendOutput { + return o } -func (i GetEdgecloudInstancesInstanceArray) ToGetEdgecloudInstancesInstanceArrayOutput() GetEdgecloudInstancesInstanceArrayOutput { - return i.ToGetEdgecloudInstancesInstanceArrayOutputWithContext(context.Background()) +// The URL of the bucket (e.g. https://s3.example.com). Required if type is 'bucket'. +func (o GetCdnDistributionConfigBackendOutput) BucketUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigBackend) string { return v.BucketUrl }).(pulumi.StringOutput) } -func (i GetEdgecloudInstancesInstanceArray) ToGetEdgecloudInstancesInstanceArrayOutputWithContext(ctx context.Context) GetEdgecloudInstancesInstanceArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetEdgecloudInstancesInstanceArrayOutput) +// The configured type http to configure countries where content is allowed. A map of URLs to a list of countries +func (o GetCdnDistributionConfigBackendOutput) Geofencing() pulumi.StringArrayMapOutput { + return o.ApplyT(func(v GetCdnDistributionConfigBackend) map[string][]string { return v.Geofencing }).(pulumi.StringArrayMapOutput) } -type GetEdgecloudInstancesInstanceOutput struct{ *pulumi.OutputState } - -func (GetEdgecloudInstancesInstanceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetEdgecloudInstancesInstance)(nil)).Elem() +// The configured type http origin request headers for the backend +func (o GetCdnDistributionConfigBackendOutput) OriginRequestHeaders() pulumi.StringMapOutput { + return o.ApplyT(func(v GetCdnDistributionConfigBackend) map[string]string { return v.OriginRequestHeaders }).(pulumi.StringMapOutput) } -func (o GetEdgecloudInstancesInstanceOutput) ToGetEdgecloudInstancesInstanceOutput() GetEdgecloudInstancesInstanceOutput { - return o +// The configured backend type http for the distribution +func (o GetCdnDistributionConfigBackendOutput) OriginUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigBackend) string { return v.OriginUrl }).(pulumi.StringOutput) } -func (o GetEdgecloudInstancesInstanceOutput) ToGetEdgecloudInstancesInstanceOutputWithContext(ctx context.Context) GetEdgecloudInstancesInstanceOutput { - return o +// The region where the bucket is hosted. Required if type is 'bucket'. +func (o GetCdnDistributionConfigBackendOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigBackend) string { return v.Region }).(pulumi.StringOutput) } -// The date and time the instance was created. -func (o GetEdgecloudInstancesInstanceOutput) Created() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.Created }).(pulumi.StringOutput) +// The configured backend type. Possible values are: `http`, `bucket`. +func (o GetCdnDistributionConfigBackendOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigBackend) string { return v.Type }).(pulumi.StringOutput) } -// Description of the instance. -func (o GetEdgecloudInstancesInstanceOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.Description }).(pulumi.StringOutput) +type GetCdnDistributionConfigOptimizer struct { + Enabled bool `pulumi:"enabled"` } -// The display name of the instance. -func (o GetEdgecloudInstancesInstanceOutput) DisplayName() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.DisplayName }).(pulumi.StringOutput) -} +// GetCdnDistributionConfigOptimizerInput is an input type that accepts GetCdnDistributionConfigOptimizerArgs and GetCdnDistributionConfigOptimizerOutput values. +// You can construct a concrete instance of `GetCdnDistributionConfigOptimizerInput` via: +// +// GetCdnDistributionConfigOptimizerArgs{...} +type GetCdnDistributionConfigOptimizerInput interface { + pulumi.Input -// Frontend URL for the Edge Cloud instance. -func (o GetEdgecloudInstancesInstanceOutput) FrontendUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.FrontendUrl }).(pulumi.StringOutput) + ToGetCdnDistributionConfigOptimizerOutput() GetCdnDistributionConfigOptimizerOutput + ToGetCdnDistributionConfigOptimizerOutputWithContext(context.Context) GetCdnDistributionConfigOptimizerOutput } -// The ID of the instance. -func (o GetEdgecloudInstancesInstanceOutput) InstanceId() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.InstanceId }).(pulumi.StringOutput) +type GetCdnDistributionConfigOptimizerArgs struct { + Enabled pulumi.BoolInput `pulumi:"enabled"` } -// The plan ID for the instance. -func (o GetEdgecloudInstancesInstanceOutput) PlanId() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.PlanId }).(pulumi.StringOutput) +func (GetCdnDistributionConfigOptimizerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigOptimizer)(nil)).Elem() } -// The region where the instance is located. -func (o GetEdgecloudInstancesInstanceOutput) Region() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.Region }).(pulumi.StringOutput) +func (i GetCdnDistributionConfigOptimizerArgs) ToGetCdnDistributionConfigOptimizerOutput() GetCdnDistributionConfigOptimizerOutput { + return i.ToGetCdnDistributionConfigOptimizerOutputWithContext(context.Background()) } -// The status of the instance. -func (o GetEdgecloudInstancesInstanceOutput) Status() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.Status }).(pulumi.StringOutput) +func (i GetCdnDistributionConfigOptimizerArgs) ToGetCdnDistributionConfigOptimizerOutputWithContext(ctx context.Context) GetCdnDistributionConfigOptimizerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigOptimizerOutput) } -type GetEdgecloudInstancesInstanceArrayOutput struct{ *pulumi.OutputState } +type GetCdnDistributionConfigOptimizerOutput struct{ *pulumi.OutputState } -func (GetEdgecloudInstancesInstanceArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetEdgecloudInstancesInstance)(nil)).Elem() +func (GetCdnDistributionConfigOptimizerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigOptimizer)(nil)).Elem() } -func (o GetEdgecloudInstancesInstanceArrayOutput) ToGetEdgecloudInstancesInstanceArrayOutput() GetEdgecloudInstancesInstanceArrayOutput { +func (o GetCdnDistributionConfigOptimizerOutput) ToGetCdnDistributionConfigOptimizerOutput() GetCdnDistributionConfigOptimizerOutput { return o } -func (o GetEdgecloudInstancesInstanceArrayOutput) ToGetEdgecloudInstancesInstanceArrayOutputWithContext(ctx context.Context) GetEdgecloudInstancesInstanceArrayOutput { +func (o GetCdnDistributionConfigOptimizerOutput) ToGetCdnDistributionConfigOptimizerOutputWithContext(ctx context.Context) GetCdnDistributionConfigOptimizerOutput { return o } -func (o GetEdgecloudInstancesInstanceArrayOutput) Index(i pulumi.IntInput) GetEdgecloudInstancesInstanceOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetEdgecloudInstancesInstance { - return vs[0].([]GetEdgecloudInstancesInstance)[vs[1].(int)] - }).(GetEdgecloudInstancesInstanceOutput) +func (o GetCdnDistributionConfigOptimizerOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetCdnDistributionConfigOptimizer) bool { return v.Enabled }).(pulumi.BoolOutput) } -type GetEdgecloudPlansPlan struct { - // Description of the plan. - Description string `pulumi:"description"` - // The ID of the plan. - Id string `pulumi:"id"` - // Maximum number of Edge Cloud hosts that can be used. - MaxEdgeHosts int `pulumi:"maxEdgeHosts"` - // Minimum number of Edge Cloud hosts charged. - MinEdgeHosts int `pulumi:"minEdgeHosts"` - // The name of the plan. - Name string `pulumi:"name"` +type GetCdnDistributionConfigRedirects struct { + // A list of redirect rules. The order of rules matters for evaluation + Rules []GetCdnDistributionConfigRedirectsRule `pulumi:"rules"` } -// GetEdgecloudPlansPlanInput is an input type that accepts GetEdgecloudPlansPlanArgs and GetEdgecloudPlansPlanOutput values. -// You can construct a concrete instance of `GetEdgecloudPlansPlanInput` via: +// GetCdnDistributionConfigRedirectsInput is an input type that accepts GetCdnDistributionConfigRedirectsArgs and GetCdnDistributionConfigRedirectsOutput values. +// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsInput` via: // -// GetEdgecloudPlansPlanArgs{...} -type GetEdgecloudPlansPlanInput interface { +// GetCdnDistributionConfigRedirectsArgs{...} +type GetCdnDistributionConfigRedirectsInput interface { pulumi.Input - ToGetEdgecloudPlansPlanOutput() GetEdgecloudPlansPlanOutput - ToGetEdgecloudPlansPlanOutputWithContext(context.Context) GetEdgecloudPlansPlanOutput + ToGetCdnDistributionConfigRedirectsOutput() GetCdnDistributionConfigRedirectsOutput + ToGetCdnDistributionConfigRedirectsOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsOutput } -type GetEdgecloudPlansPlanArgs struct { - // Description of the plan. - Description pulumi.StringInput `pulumi:"description"` - // The ID of the plan. - Id pulumi.StringInput `pulumi:"id"` - // Maximum number of Edge Cloud hosts that can be used. - MaxEdgeHosts pulumi.IntInput `pulumi:"maxEdgeHosts"` - // Minimum number of Edge Cloud hosts charged. - MinEdgeHosts pulumi.IntInput `pulumi:"minEdgeHosts"` - // The name of the plan. - Name pulumi.StringInput `pulumi:"name"` +type GetCdnDistributionConfigRedirectsArgs struct { + // A list of redirect rules. The order of rules matters for evaluation + Rules GetCdnDistributionConfigRedirectsRuleArrayInput `pulumi:"rules"` } -func (GetEdgecloudPlansPlanArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetEdgecloudPlansPlan)(nil)).Elem() +func (GetCdnDistributionConfigRedirectsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigRedirects)(nil)).Elem() } -func (i GetEdgecloudPlansPlanArgs) ToGetEdgecloudPlansPlanOutput() GetEdgecloudPlansPlanOutput { - return i.ToGetEdgecloudPlansPlanOutputWithContext(context.Background()) +func (i GetCdnDistributionConfigRedirectsArgs) ToGetCdnDistributionConfigRedirectsOutput() GetCdnDistributionConfigRedirectsOutput { + return i.ToGetCdnDistributionConfigRedirectsOutputWithContext(context.Background()) } -func (i GetEdgecloudPlansPlanArgs) ToGetEdgecloudPlansPlanOutputWithContext(ctx context.Context) GetEdgecloudPlansPlanOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetEdgecloudPlansPlanOutput) +func (i GetCdnDistributionConfigRedirectsArgs) ToGetCdnDistributionConfigRedirectsOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsOutput) } -// GetEdgecloudPlansPlanArrayInput is an input type that accepts GetEdgecloudPlansPlanArray and GetEdgecloudPlansPlanArrayOutput values. -// You can construct a concrete instance of `GetEdgecloudPlansPlanArrayInput` via: -// -// GetEdgecloudPlansPlanArray{ GetEdgecloudPlansPlanArgs{...} } -type GetEdgecloudPlansPlanArrayInput interface { - pulumi.Input +type GetCdnDistributionConfigRedirectsOutput struct{ *pulumi.OutputState } - ToGetEdgecloudPlansPlanArrayOutput() GetEdgecloudPlansPlanArrayOutput - ToGetEdgecloudPlansPlanArrayOutputWithContext(context.Context) GetEdgecloudPlansPlanArrayOutput +func (GetCdnDistributionConfigRedirectsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigRedirects)(nil)).Elem() } -type GetEdgecloudPlansPlanArray []GetEdgecloudPlansPlanInput +func (o GetCdnDistributionConfigRedirectsOutput) ToGetCdnDistributionConfigRedirectsOutput() GetCdnDistributionConfigRedirectsOutput { + return o +} -func (GetEdgecloudPlansPlanArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetEdgecloudPlansPlan)(nil)).Elem() +func (o GetCdnDistributionConfigRedirectsOutput) ToGetCdnDistributionConfigRedirectsOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsOutput { + return o } -func (i GetEdgecloudPlansPlanArray) ToGetEdgecloudPlansPlanArrayOutput() GetEdgecloudPlansPlanArrayOutput { - return i.ToGetEdgecloudPlansPlanArrayOutputWithContext(context.Background()) +// A list of redirect rules. The order of rules matters for evaluation +func (o GetCdnDistributionConfigRedirectsOutput) Rules() GetCdnDistributionConfigRedirectsRuleArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigRedirects) []GetCdnDistributionConfigRedirectsRule { return v.Rules }).(GetCdnDistributionConfigRedirectsRuleArrayOutput) } -func (i GetEdgecloudPlansPlanArray) ToGetEdgecloudPlansPlanArrayOutputWithContext(ctx context.Context) GetEdgecloudPlansPlanArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetEdgecloudPlansPlanArrayOutput) +type GetCdnDistributionConfigRedirectsRule struct { + // An optional description for the redirect rule + Description string `pulumi:"description"` + // A toggle to enable or disable the redirect rule. Default to true + Enabled bool `pulumi:"enabled"` + // A list of matchers that define when this rule should apply. At least one matcher is required + Matchers []GetCdnDistributionConfigRedirectsRuleMatcher `pulumi:"matchers"` + // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. + RuleMatchCondition string `pulumi:"ruleMatchCondition"` + // The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308. + StatusCode int `pulumi:"statusCode"` + // The target URL to redirect to. Must be a valid URI + TargetUrl string `pulumi:"targetUrl"` } -type GetEdgecloudPlansPlanOutput struct{ *pulumi.OutputState } +// GetCdnDistributionConfigRedirectsRuleInput is an input type that accepts GetCdnDistributionConfigRedirectsRuleArgs and GetCdnDistributionConfigRedirectsRuleOutput values. +// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsRuleInput` via: +// +// GetCdnDistributionConfigRedirectsRuleArgs{...} +type GetCdnDistributionConfigRedirectsRuleInput interface { + pulumi.Input -func (GetEdgecloudPlansPlanOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetEdgecloudPlansPlan)(nil)).Elem() + ToGetCdnDistributionConfigRedirectsRuleOutput() GetCdnDistributionConfigRedirectsRuleOutput + ToGetCdnDistributionConfigRedirectsRuleOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsRuleOutput } -func (o GetEdgecloudPlansPlanOutput) ToGetEdgecloudPlansPlanOutput() GetEdgecloudPlansPlanOutput { - return o +type GetCdnDistributionConfigRedirectsRuleArgs struct { + // An optional description for the redirect rule + Description pulumi.StringInput `pulumi:"description"` + // A toggle to enable or disable the redirect rule. Default to true + Enabled pulumi.BoolInput `pulumi:"enabled"` + // A list of matchers that define when this rule should apply. At least one matcher is required + Matchers GetCdnDistributionConfigRedirectsRuleMatcherArrayInput `pulumi:"matchers"` + // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. + RuleMatchCondition pulumi.StringInput `pulumi:"ruleMatchCondition"` + // The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308. + StatusCode pulumi.IntInput `pulumi:"statusCode"` + // The target URL to redirect to. Must be a valid URI + TargetUrl pulumi.StringInput `pulumi:"targetUrl"` } -func (o GetEdgecloudPlansPlanOutput) ToGetEdgecloudPlansPlanOutputWithContext(ctx context.Context) GetEdgecloudPlansPlanOutput { - return o +func (GetCdnDistributionConfigRedirectsRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigRedirectsRule)(nil)).Elem() } -// Description of the plan. -func (o GetEdgecloudPlansPlanOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudPlansPlan) string { return v.Description }).(pulumi.StringOutput) +func (i GetCdnDistributionConfigRedirectsRuleArgs) ToGetCdnDistributionConfigRedirectsRuleOutput() GetCdnDistributionConfigRedirectsRuleOutput { + return i.ToGetCdnDistributionConfigRedirectsRuleOutputWithContext(context.Background()) } -// The ID of the plan. -func (o GetEdgecloudPlansPlanOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudPlansPlan) string { return v.Id }).(pulumi.StringOutput) +func (i GetCdnDistributionConfigRedirectsRuleArgs) ToGetCdnDistributionConfigRedirectsRuleOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsRuleOutput) } -// Maximum number of Edge Cloud hosts that can be used. -func (o GetEdgecloudPlansPlanOutput) MaxEdgeHosts() pulumi.IntOutput { - return o.ApplyT(func(v GetEdgecloudPlansPlan) int { return v.MaxEdgeHosts }).(pulumi.IntOutput) +// GetCdnDistributionConfigRedirectsRuleArrayInput is an input type that accepts GetCdnDistributionConfigRedirectsRuleArray and GetCdnDistributionConfigRedirectsRuleArrayOutput values. +// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsRuleArrayInput` via: +// +// GetCdnDistributionConfigRedirectsRuleArray{ GetCdnDistributionConfigRedirectsRuleArgs{...} } +type GetCdnDistributionConfigRedirectsRuleArrayInput interface { + pulumi.Input + + ToGetCdnDistributionConfigRedirectsRuleArrayOutput() GetCdnDistributionConfigRedirectsRuleArrayOutput + ToGetCdnDistributionConfigRedirectsRuleArrayOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsRuleArrayOutput } -// Minimum number of Edge Cloud hosts charged. -func (o GetEdgecloudPlansPlanOutput) MinEdgeHosts() pulumi.IntOutput { - return o.ApplyT(func(v GetEdgecloudPlansPlan) int { return v.MinEdgeHosts }).(pulumi.IntOutput) +type GetCdnDistributionConfigRedirectsRuleArray []GetCdnDistributionConfigRedirectsRuleInput + +func (GetCdnDistributionConfigRedirectsRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCdnDistributionConfigRedirectsRule)(nil)).Elem() } -// The name of the plan. -func (o GetEdgecloudPlansPlanOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetEdgecloudPlansPlan) string { return v.Name }).(pulumi.StringOutput) +func (i GetCdnDistributionConfigRedirectsRuleArray) ToGetCdnDistributionConfigRedirectsRuleArrayOutput() GetCdnDistributionConfigRedirectsRuleArrayOutput { + return i.ToGetCdnDistributionConfigRedirectsRuleArrayOutputWithContext(context.Background()) } -type GetEdgecloudPlansPlanArrayOutput struct{ *pulumi.OutputState } +func (i GetCdnDistributionConfigRedirectsRuleArray) ToGetCdnDistributionConfigRedirectsRuleArrayOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsRuleArrayOutput) +} -func (GetEdgecloudPlansPlanArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetEdgecloudPlansPlan)(nil)).Elem() +type GetCdnDistributionConfigRedirectsRuleOutput struct{ *pulumi.OutputState } + +func (GetCdnDistributionConfigRedirectsRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigRedirectsRule)(nil)).Elem() } -func (o GetEdgecloudPlansPlanArrayOutput) ToGetEdgecloudPlansPlanArrayOutput() GetEdgecloudPlansPlanArrayOutput { +func (o GetCdnDistributionConfigRedirectsRuleOutput) ToGetCdnDistributionConfigRedirectsRuleOutput() GetCdnDistributionConfigRedirectsRuleOutput { return o } -func (o GetEdgecloudPlansPlanArrayOutput) ToGetEdgecloudPlansPlanArrayOutputWithContext(ctx context.Context) GetEdgecloudPlansPlanArrayOutput { +func (o GetCdnDistributionConfigRedirectsRuleOutput) ToGetCdnDistributionConfigRedirectsRuleOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleOutput { return o } -func (o GetEdgecloudPlansPlanArrayOutput) Index(i pulumi.IntInput) GetEdgecloudPlansPlanOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetEdgecloudPlansPlan { - return vs[0].([]GetEdgecloudPlansPlan)[vs[1].(int)] - }).(GetEdgecloudPlansPlanOutput) -} - -type GetImageChecksum struct { - // Algorithm for the checksum of the image data. - Algorithm string `pulumi:"algorithm"` - // Hexdigest of the checksum of the image data. - Digest string `pulumi:"digest"` +// An optional description for the redirect rule +func (o GetCdnDistributionConfigRedirectsRuleOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) string { return v.Description }).(pulumi.StringOutput) } -// GetImageChecksumInput is an input type that accepts GetImageChecksumArgs and GetImageChecksumOutput values. -// You can construct a concrete instance of `GetImageChecksumInput` via: -// -// GetImageChecksumArgs{...} -type GetImageChecksumInput interface { - pulumi.Input - - ToGetImageChecksumOutput() GetImageChecksumOutput - ToGetImageChecksumOutputWithContext(context.Context) GetImageChecksumOutput +// A toggle to enable or disable the redirect rule. Default to true +func (o GetCdnDistributionConfigRedirectsRuleOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) bool { return v.Enabled }).(pulumi.BoolOutput) } -type GetImageChecksumArgs struct { - // Algorithm for the checksum of the image data. - Algorithm pulumi.StringInput `pulumi:"algorithm"` - // Hexdigest of the checksum of the image data. - Digest pulumi.StringInput `pulumi:"digest"` +// A list of matchers that define when this rule should apply. At least one matcher is required +func (o GetCdnDistributionConfigRedirectsRuleOutput) Matchers() GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) []GetCdnDistributionConfigRedirectsRuleMatcher { + return v.Matchers + }).(GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) } -func (GetImageChecksumArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetImageChecksum)(nil)).Elem() +// Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. +func (o GetCdnDistributionConfigRedirectsRuleOutput) RuleMatchCondition() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) string { return v.RuleMatchCondition }).(pulumi.StringOutput) } -func (i GetImageChecksumArgs) ToGetImageChecksumOutput() GetImageChecksumOutput { - return i.ToGetImageChecksumOutputWithContext(context.Background()) +// The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308. +func (o GetCdnDistributionConfigRedirectsRuleOutput) StatusCode() pulumi.IntOutput { + return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) int { return v.StatusCode }).(pulumi.IntOutput) } -func (i GetImageChecksumArgs) ToGetImageChecksumOutputWithContext(ctx context.Context) GetImageChecksumOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetImageChecksumOutput) +// The target URL to redirect to. Must be a valid URI +func (o GetCdnDistributionConfigRedirectsRuleOutput) TargetUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRule) string { return v.TargetUrl }).(pulumi.StringOutput) } -type GetImageChecksumOutput struct{ *pulumi.OutputState } +type GetCdnDistributionConfigRedirectsRuleArrayOutput struct{ *pulumi.OutputState } -func (GetImageChecksumOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetImageChecksum)(nil)).Elem() +func (GetCdnDistributionConfigRedirectsRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCdnDistributionConfigRedirectsRule)(nil)).Elem() } -func (o GetImageChecksumOutput) ToGetImageChecksumOutput() GetImageChecksumOutput { +func (o GetCdnDistributionConfigRedirectsRuleArrayOutput) ToGetCdnDistributionConfigRedirectsRuleArrayOutput() GetCdnDistributionConfigRedirectsRuleArrayOutput { return o } -func (o GetImageChecksumOutput) ToGetImageChecksumOutputWithContext(ctx context.Context) GetImageChecksumOutput { +func (o GetCdnDistributionConfigRedirectsRuleArrayOutput) ToGetCdnDistributionConfigRedirectsRuleArrayOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleArrayOutput { return o } -// Algorithm for the checksum of the image data. -func (o GetImageChecksumOutput) Algorithm() pulumi.StringOutput { - return o.ApplyT(func(v GetImageChecksum) string { return v.Algorithm }).(pulumi.StringOutput) -} - -// Hexdigest of the checksum of the image data. -func (o GetImageChecksumOutput) Digest() pulumi.StringOutput { - return o.ApplyT(func(v GetImageChecksum) string { return v.Digest }).(pulumi.StringOutput) +func (o GetCdnDistributionConfigRedirectsRuleArrayOutput) Index(i pulumi.IntInput) GetCdnDistributionConfigRedirectsRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCdnDistributionConfigRedirectsRule { + return vs[0].([]GetCdnDistributionConfigRedirectsRule)[vs[1].(int)] + }).(GetCdnDistributionConfigRedirectsRuleOutput) } -type GetImageConfig struct { - // Enables the BIOS bootmenu. - BootMenu bool `pulumi:"bootMenu"` - // Sets CDROM bus controller type. - CdromBus string `pulumi:"cdromBus"` - // Sets Disk bus controller type. - DiskBus string `pulumi:"diskBus"` - // Sets virtual network interface model. - NicModel string `pulumi:"nicModel"` - // Enables operating system specific optimizations. - OperatingSystem string `pulumi:"operatingSystem"` - // Operating system distribution. - OperatingSystemDistro string `pulumi:"operatingSystemDistro"` - // Version of the operating system. - OperatingSystemVersion string `pulumi:"operatingSystemVersion"` - // Sets the device bus when the image is used as a rescue image. - RescueBus string `pulumi:"rescueBus"` - // Sets the device when the image is used as a rescue image. - RescueDevice string `pulumi:"rescueDevice"` - // Enables Secure Boot. - SecureBoot bool `pulumi:"secureBoot"` - // Enables UEFI boot. - Uefi bool `pulumi:"uefi"` - // Sets Graphic device model. - VideoModel string `pulumi:"videoModel"` - // Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. - VirtioScsi bool `pulumi:"virtioScsi"` +type GetCdnDistributionConfigRedirectsRuleMatcher struct { + // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. + ValueMatchCondition string `pulumi:"valueMatchCondition"` + // A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*" + Values []string `pulumi:"values"` } -// GetImageConfigInput is an input type that accepts GetImageConfigArgs and GetImageConfigOutput values. -// You can construct a concrete instance of `GetImageConfigInput` via: +// GetCdnDistributionConfigRedirectsRuleMatcherInput is an input type that accepts GetCdnDistributionConfigRedirectsRuleMatcherArgs and GetCdnDistributionConfigRedirectsRuleMatcherOutput values. +// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsRuleMatcherInput` via: // -// GetImageConfigArgs{...} -type GetImageConfigInput interface { +// GetCdnDistributionConfigRedirectsRuleMatcherArgs{...} +type GetCdnDistributionConfigRedirectsRuleMatcherInput interface { pulumi.Input - ToGetImageConfigOutput() GetImageConfigOutput - ToGetImageConfigOutputWithContext(context.Context) GetImageConfigOutput + ToGetCdnDistributionConfigRedirectsRuleMatcherOutput() GetCdnDistributionConfigRedirectsRuleMatcherOutput + ToGetCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsRuleMatcherOutput } -type GetImageConfigArgs struct { - // Enables the BIOS bootmenu. - BootMenu pulumi.BoolInput `pulumi:"bootMenu"` - // Sets CDROM bus controller type. - CdromBus pulumi.StringInput `pulumi:"cdromBus"` - // Sets Disk bus controller type. - DiskBus pulumi.StringInput `pulumi:"diskBus"` - // Sets virtual network interface model. - NicModel pulumi.StringInput `pulumi:"nicModel"` - // Enables operating system specific optimizations. - OperatingSystem pulumi.StringInput `pulumi:"operatingSystem"` - // Operating system distribution. - OperatingSystemDistro pulumi.StringInput `pulumi:"operatingSystemDistro"` - // Version of the operating system. - OperatingSystemVersion pulumi.StringInput `pulumi:"operatingSystemVersion"` - // Sets the device bus when the image is used as a rescue image. - RescueBus pulumi.StringInput `pulumi:"rescueBus"` - // Sets the device when the image is used as a rescue image. - RescueDevice pulumi.StringInput `pulumi:"rescueDevice"` - // Enables Secure Boot. - SecureBoot pulumi.BoolInput `pulumi:"secureBoot"` - // Enables UEFI boot. - Uefi pulumi.BoolInput `pulumi:"uefi"` - // Sets Graphic device model. - VideoModel pulumi.StringInput `pulumi:"videoModel"` - // Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. - VirtioScsi pulumi.BoolInput `pulumi:"virtioScsi"` +type GetCdnDistributionConfigRedirectsRuleMatcherArgs struct { + // Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. + ValueMatchCondition pulumi.StringInput `pulumi:"valueMatchCondition"` + // A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*" + Values pulumi.StringArrayInput `pulumi:"values"` } -func (GetImageConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetImageConfig)(nil)).Elem() +func (GetCdnDistributionConfigRedirectsRuleMatcherArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem() } -func (i GetImageConfigArgs) ToGetImageConfigOutput() GetImageConfigOutput { - return i.ToGetImageConfigOutputWithContext(context.Background()) +func (i GetCdnDistributionConfigRedirectsRuleMatcherArgs) ToGetCdnDistributionConfigRedirectsRuleMatcherOutput() GetCdnDistributionConfigRedirectsRuleMatcherOutput { + return i.ToGetCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(context.Background()) } -func (i GetImageConfigArgs) ToGetImageConfigOutputWithContext(ctx context.Context) GetImageConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetImageConfigOutput) +func (i GetCdnDistributionConfigRedirectsRuleMatcherArgs) ToGetCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleMatcherOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsRuleMatcherOutput) } -type GetImageConfigOutput struct{ *pulumi.OutputState } +// GetCdnDistributionConfigRedirectsRuleMatcherArrayInput is an input type that accepts GetCdnDistributionConfigRedirectsRuleMatcherArray and GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput values. +// You can construct a concrete instance of `GetCdnDistributionConfigRedirectsRuleMatcherArrayInput` via: +// +// GetCdnDistributionConfigRedirectsRuleMatcherArray{ GetCdnDistributionConfigRedirectsRuleMatcherArgs{...} } +type GetCdnDistributionConfigRedirectsRuleMatcherArrayInput interface { + pulumi.Input -func (GetImageConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetImageConfig)(nil)).Elem() + ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutput() GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput + ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(context.Context) GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput } -func (o GetImageConfigOutput) ToGetImageConfigOutput() GetImageConfigOutput { - return o -} +type GetCdnDistributionConfigRedirectsRuleMatcherArray []GetCdnDistributionConfigRedirectsRuleMatcherInput -func (o GetImageConfigOutput) ToGetImageConfigOutputWithContext(ctx context.Context) GetImageConfigOutput { - return o +func (GetCdnDistributionConfigRedirectsRuleMatcherArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem() } -// Enables the BIOS bootmenu. -func (o GetImageConfigOutput) BootMenu() pulumi.BoolOutput { - return o.ApplyT(func(v GetImageConfig) bool { return v.BootMenu }).(pulumi.BoolOutput) +func (i GetCdnDistributionConfigRedirectsRuleMatcherArray) ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutput() GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput { + return i.ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(context.Background()) } -// Sets CDROM bus controller type. -func (o GetImageConfigOutput) CdromBus() pulumi.StringOutput { - return o.ApplyT(func(v GetImageConfig) string { return v.CdromBus }).(pulumi.StringOutput) +func (i GetCdnDistributionConfigRedirectsRuleMatcherArray) ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) } -// Sets Disk bus controller type. -func (o GetImageConfigOutput) DiskBus() pulumi.StringOutput { - return o.ApplyT(func(v GetImageConfig) string { return v.DiskBus }).(pulumi.StringOutput) -} +type GetCdnDistributionConfigRedirectsRuleMatcherOutput struct{ *pulumi.OutputState } -// Sets virtual network interface model. -func (o GetImageConfigOutput) NicModel() pulumi.StringOutput { - return o.ApplyT(func(v GetImageConfig) string { return v.NicModel }).(pulumi.StringOutput) +func (GetCdnDistributionConfigRedirectsRuleMatcherOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem() } -// Enables operating system specific optimizations. -func (o GetImageConfigOutput) OperatingSystem() pulumi.StringOutput { - return o.ApplyT(func(v GetImageConfig) string { return v.OperatingSystem }).(pulumi.StringOutput) +func (o GetCdnDistributionConfigRedirectsRuleMatcherOutput) ToGetCdnDistributionConfigRedirectsRuleMatcherOutput() GetCdnDistributionConfigRedirectsRuleMatcherOutput { + return o } -// Operating system distribution. -func (o GetImageConfigOutput) OperatingSystemDistro() pulumi.StringOutput { - return o.ApplyT(func(v GetImageConfig) string { return v.OperatingSystemDistro }).(pulumi.StringOutput) +func (o GetCdnDistributionConfigRedirectsRuleMatcherOutput) ToGetCdnDistributionConfigRedirectsRuleMatcherOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleMatcherOutput { + return o } -// Version of the operating system. -func (o GetImageConfigOutput) OperatingSystemVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetImageConfig) string { return v.OperatingSystemVersion }).(pulumi.StringOutput) +// Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. +func (o GetCdnDistributionConfigRedirectsRuleMatcherOutput) ValueMatchCondition() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRuleMatcher) string { return v.ValueMatchCondition }).(pulumi.StringOutput) } -// Sets the device bus when the image is used as a rescue image. -func (o GetImageConfigOutput) RescueBus() pulumi.StringOutput { - return o.ApplyT(func(v GetImageConfig) string { return v.RescueBus }).(pulumi.StringOutput) +// A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*" +func (o GetCdnDistributionConfigRedirectsRuleMatcherOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigRedirectsRuleMatcher) []string { return v.Values }).(pulumi.StringArrayOutput) } -// Sets the device when the image is used as a rescue image. -func (o GetImageConfigOutput) RescueDevice() pulumi.StringOutput { - return o.ApplyT(func(v GetImageConfig) string { return v.RescueDevice }).(pulumi.StringOutput) -} +type GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput struct{ *pulumi.OutputState } -// Enables Secure Boot. -func (o GetImageConfigOutput) SecureBoot() pulumi.BoolOutput { - return o.ApplyT(func(v GetImageConfig) bool { return v.SecureBoot }).(pulumi.BoolOutput) +func (GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCdnDistributionConfigRedirectsRuleMatcher)(nil)).Elem() } -// Enables UEFI boot. -func (o GetImageConfigOutput) Uefi() pulumi.BoolOutput { - return o.ApplyT(func(v GetImageConfig) bool { return v.Uefi }).(pulumi.BoolOutput) +func (o GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutput() GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput { + return o } -// Sets Graphic device model. -func (o GetImageConfigOutput) VideoModel() pulumi.StringOutput { - return o.ApplyT(func(v GetImageConfig) string { return v.VideoModel }).(pulumi.StringOutput) +func (o GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) ToGetCdnDistributionConfigRedirectsRuleMatcherArrayOutputWithContext(ctx context.Context) GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput { + return o } -// Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. -func (o GetImageConfigOutput) VirtioScsi() pulumi.BoolOutput { - return o.ApplyT(func(v GetImageConfig) bool { return v.VirtioScsi }).(pulumi.BoolOutput) +func (o GetCdnDistributionConfigRedirectsRuleMatcherArrayOutput) Index(i pulumi.IntInput) GetCdnDistributionConfigRedirectsRuleMatcherOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCdnDistributionConfigRedirectsRuleMatcher { + return vs[0].([]GetCdnDistributionConfigRedirectsRuleMatcher)[vs[1].(int)] + }).(GetCdnDistributionConfigRedirectsRuleMatcherOutput) } -type GetImageV2Checksum struct { - // Algorithm for the checksum of the image data. - Algorithm string `pulumi:"algorithm"` - // Hexdigest of the checksum of the image data. - Digest string `pulumi:"digest"` -} +type GetCdnDistributionConfigWaf struct { + // Restricts which HTTP methods the distribution accepts. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. + AllowedHttpMethods []string `pulumi:"allowedHttpMethods"` + // Restricts which HTTP protocol versions are accepted. If provided, the set must contain at least one item. If omitted, the API applies the following defaults: `HTTP/1.0`, `HTTP/1.1`, `HTTP/2`, `HTTP/2.0`. + AllowedHttpVersions []string `pulumi:"allowedHttpVersions"` + // Restricts which Content-Type headers are accepted in request bodies. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `application/x-www-form-urlencoded`, `multipart/form-data`, `multipart/related`, `text/xml`, `application/xml`, `application/soap+xml`, `application/x-amf`, `application/json`, `application/octet-stream`, `application/csp-report`, `application/xss-auditor-report`, `text/plain`. + AllowedRequestContentTypes []string `pulumi:"allowedRequestContentTypes"` + // Set of WAF Collection IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + DisabledRuleCollectionIds []string `pulumi:"disabledRuleCollectionIds"` + // Set of WAF Rule Group IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + DisabledRuleGroupIds []string `pulumi:"disabledRuleGroupIds"` + // Set of WAF rule IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly disabled Rule ID takes precedence over an enabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + DisabledRuleIds []string `pulumi:"disabledRuleIds"` + // Set of WAF Collection IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + EnabledRuleCollectionIds []string `pulumi:"enabledRuleCollectionIds"` + // Set of WAF Rule Group IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + EnabledRuleGroupIds []string `pulumi:"enabledRuleGroupIds"` + // Set of WAF rule IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly enabled Rule ID takes precedence over a disabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + EnabledRuleIds []string `pulumi:"enabledRuleIds"` + // Set of WAF Collection IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + LogOnlyRuleCollectionIds []string `pulumi:"logOnlyRuleCollectionIds"` + // Set of WAF Rule Group IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + LogOnlyRuleGroupIds []string `pulumi:"logOnlyRuleGroupIds"` + // Set of WAF rule IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + LogOnlyRuleIds []string `pulumi:"logOnlyRuleIds"` + // The operating mode of the WAF. 'ENABLED' actively blocks threats, 'LOG_ONLY' logs matches without blocking, and 'DISABLED' completely turns off inspection. Defaults to 'DISABLED'. + Mode string `pulumi:"mode"` + // Defines how aggressively the WAF should act on requests. Valid values are 'L1' to 'L4'. Case you removed waf will retain the last known state and if omitted, The API applies the following default 'L1'. + ParanoiaLevel string `pulumi:"paranoiaLevel"` + // The tier of the WAF. Valid values are 'FREE' or 'PREMIUM'. Defaults to 'FREE'. + Type string `pulumi:"type"` +} -// GetImageV2ChecksumInput is an input type that accepts GetImageV2ChecksumArgs and GetImageV2ChecksumOutput values. -// You can construct a concrete instance of `GetImageV2ChecksumInput` via: +// GetCdnDistributionConfigWafInput is an input type that accepts GetCdnDistributionConfigWafArgs and GetCdnDistributionConfigWafOutput values. +// You can construct a concrete instance of `GetCdnDistributionConfigWafInput` via: // -// GetImageV2ChecksumArgs{...} -type GetImageV2ChecksumInput interface { +// GetCdnDistributionConfigWafArgs{...} +type GetCdnDistributionConfigWafInput interface { pulumi.Input - ToGetImageV2ChecksumOutput() GetImageV2ChecksumOutput - ToGetImageV2ChecksumOutputWithContext(context.Context) GetImageV2ChecksumOutput + ToGetCdnDistributionConfigWafOutput() GetCdnDistributionConfigWafOutput + ToGetCdnDistributionConfigWafOutputWithContext(context.Context) GetCdnDistributionConfigWafOutput } -type GetImageV2ChecksumArgs struct { - // Algorithm for the checksum of the image data. - Algorithm pulumi.StringInput `pulumi:"algorithm"` - // Hexdigest of the checksum of the image data. - Digest pulumi.StringInput `pulumi:"digest"` +type GetCdnDistributionConfigWafArgs struct { + // Restricts which HTTP methods the distribution accepts. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. + AllowedHttpMethods pulumi.StringArrayInput `pulumi:"allowedHttpMethods"` + // Restricts which HTTP protocol versions are accepted. If provided, the set must contain at least one item. If omitted, the API applies the following defaults: `HTTP/1.0`, `HTTP/1.1`, `HTTP/2`, `HTTP/2.0`. + AllowedHttpVersions pulumi.StringArrayInput `pulumi:"allowedHttpVersions"` + // Restricts which Content-Type headers are accepted in request bodies. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `application/x-www-form-urlencoded`, `multipart/form-data`, `multipart/related`, `text/xml`, `application/xml`, `application/soap+xml`, `application/x-amf`, `application/json`, `application/octet-stream`, `application/csp-report`, `application/xss-auditor-report`, `text/plain`. + AllowedRequestContentTypes pulumi.StringArrayInput `pulumi:"allowedRequestContentTypes"` + // Set of WAF Collection IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + DisabledRuleCollectionIds pulumi.StringArrayInput `pulumi:"disabledRuleCollectionIds"` + // Set of WAF Rule Group IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + DisabledRuleGroupIds pulumi.StringArrayInput `pulumi:"disabledRuleGroupIds"` + // Set of WAF rule IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly disabled Rule ID takes precedence over an enabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + DisabledRuleIds pulumi.StringArrayInput `pulumi:"disabledRuleIds"` + // Set of WAF Collection IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + EnabledRuleCollectionIds pulumi.StringArrayInput `pulumi:"enabledRuleCollectionIds"` + // Set of WAF Rule Group IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + EnabledRuleGroupIds pulumi.StringArrayInput `pulumi:"enabledRuleGroupIds"` + // Set of WAF rule IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly enabled Rule ID takes precedence over a disabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + EnabledRuleIds pulumi.StringArrayInput `pulumi:"enabledRuleIds"` + // Set of WAF Collection IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + LogOnlyRuleCollectionIds pulumi.StringArrayInput `pulumi:"logOnlyRuleCollectionIds"` + // Set of WAF Rule Group IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + LogOnlyRuleGroupIds pulumi.StringArrayInput `pulumi:"logOnlyRuleGroupIds"` + // Set of WAF rule IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + LogOnlyRuleIds pulumi.StringArrayInput `pulumi:"logOnlyRuleIds"` + // The operating mode of the WAF. 'ENABLED' actively blocks threats, 'LOG_ONLY' logs matches without blocking, and 'DISABLED' completely turns off inspection. Defaults to 'DISABLED'. + Mode pulumi.StringInput `pulumi:"mode"` + // Defines how aggressively the WAF should act on requests. Valid values are 'L1' to 'L4'. Case you removed waf will retain the last known state and if omitted, The API applies the following default 'L1'. + ParanoiaLevel pulumi.StringInput `pulumi:"paranoiaLevel"` + // The tier of the WAF. Valid values are 'FREE' or 'PREMIUM'. Defaults to 'FREE'. + Type pulumi.StringInput `pulumi:"type"` } -func (GetImageV2ChecksumArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetImageV2Checksum)(nil)).Elem() +func (GetCdnDistributionConfigWafArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigWaf)(nil)).Elem() } -func (i GetImageV2ChecksumArgs) ToGetImageV2ChecksumOutput() GetImageV2ChecksumOutput { - return i.ToGetImageV2ChecksumOutputWithContext(context.Background()) +func (i GetCdnDistributionConfigWafArgs) ToGetCdnDistributionConfigWafOutput() GetCdnDistributionConfigWafOutput { + return i.ToGetCdnDistributionConfigWafOutputWithContext(context.Background()) } -func (i GetImageV2ChecksumArgs) ToGetImageV2ChecksumOutputWithContext(ctx context.Context) GetImageV2ChecksumOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetImageV2ChecksumOutput) +func (i GetCdnDistributionConfigWafArgs) ToGetCdnDistributionConfigWafOutputWithContext(ctx context.Context) GetCdnDistributionConfigWafOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionConfigWafOutput) } -type GetImageV2ChecksumOutput struct{ *pulumi.OutputState } +type GetCdnDistributionConfigWafOutput struct{ *pulumi.OutputState } -func (GetImageV2ChecksumOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetImageV2Checksum)(nil)).Elem() +func (GetCdnDistributionConfigWafOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionConfigWaf)(nil)).Elem() } -func (o GetImageV2ChecksumOutput) ToGetImageV2ChecksumOutput() GetImageV2ChecksumOutput { +func (o GetCdnDistributionConfigWafOutput) ToGetCdnDistributionConfigWafOutput() GetCdnDistributionConfigWafOutput { return o } -func (o GetImageV2ChecksumOutput) ToGetImageV2ChecksumOutputWithContext(ctx context.Context) GetImageV2ChecksumOutput { +func (o GetCdnDistributionConfigWafOutput) ToGetCdnDistributionConfigWafOutputWithContext(ctx context.Context) GetCdnDistributionConfigWafOutput { return o } -// Algorithm for the checksum of the image data. -func (o GetImageV2ChecksumOutput) Algorithm() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Checksum) string { return v.Algorithm }).(pulumi.StringOutput) +// Restricts which HTTP methods the distribution accepts. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. +func (o GetCdnDistributionConfigWafOutput) AllowedHttpMethods() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.AllowedHttpMethods }).(pulumi.StringArrayOutput) } -// Hexdigest of the checksum of the image data. -func (o GetImageV2ChecksumOutput) Digest() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Checksum) string { return v.Digest }).(pulumi.StringOutput) +// Restricts which HTTP protocol versions are accepted. If provided, the set must contain at least one item. If omitted, the API applies the following defaults: `HTTP/1.0`, `HTTP/1.1`, `HTTP/2`, `HTTP/2.0`. +func (o GetCdnDistributionConfigWafOutput) AllowedHttpVersions() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.AllowedHttpVersions }).(pulumi.StringArrayOutput) } -type GetImageV2Config struct { - // Enables the BIOS bootmenu. - BootMenu bool `pulumi:"bootMenu"` - // Sets CDROM bus controller type. - CdromBus string `pulumi:"cdromBus"` - // Sets Disk bus controller type. - DiskBus string `pulumi:"diskBus"` - // Sets virtual network interface model. - NicModel string `pulumi:"nicModel"` - // Enables operating system specific optimizations. - OperatingSystem string `pulumi:"operatingSystem"` - // Operating system distribution. - OperatingSystemDistro string `pulumi:"operatingSystemDistro"` - // Version of the operating system. - OperatingSystemVersion string `pulumi:"operatingSystemVersion"` - // Sets the device bus when the image is used as a rescue image. - RescueBus string `pulumi:"rescueBus"` - // Sets the device when the image is used as a rescue image. - RescueDevice string `pulumi:"rescueDevice"` - // Enables Secure Boot. - SecureBoot bool `pulumi:"secureBoot"` - // Enables UEFI boot. - Uefi bool `pulumi:"uefi"` - // Sets Graphic device model. - VideoModel string `pulumi:"videoModel"` - // Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. - VirtioScsi bool `pulumi:"virtioScsi"` +// Restricts which Content-Type headers are accepted in request bodies. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `application/x-www-form-urlencoded`, `multipart/form-data`, `multipart/related`, `text/xml`, `application/xml`, `application/soap+xml`, `application/x-amf`, `application/json`, `application/octet-stream`, `application/csp-report`, `application/xss-auditor-report`, `text/plain`. +func (o GetCdnDistributionConfigWafOutput) AllowedRequestContentTypes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.AllowedRequestContentTypes }).(pulumi.StringArrayOutput) } -// GetImageV2ConfigInput is an input type that accepts GetImageV2ConfigArgs and GetImageV2ConfigOutput values. -// You can construct a concrete instance of `GetImageV2ConfigInput` via: -// -// GetImageV2ConfigArgs{...} -type GetImageV2ConfigInput interface { - pulumi.Input - - ToGetImageV2ConfigOutput() GetImageV2ConfigOutput - ToGetImageV2ConfigOutputWithContext(context.Context) GetImageV2ConfigOutput +// Set of WAF Collection IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections +func (o GetCdnDistributionConfigWafOutput) DisabledRuleCollectionIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.DisabledRuleCollectionIds }).(pulumi.StringArrayOutput) } -type GetImageV2ConfigArgs struct { - // Enables the BIOS bootmenu. - BootMenu pulumi.BoolInput `pulumi:"bootMenu"` - // Sets CDROM bus controller type. - CdromBus pulumi.StringInput `pulumi:"cdromBus"` - // Sets Disk bus controller type. - DiskBus pulumi.StringInput `pulumi:"diskBus"` - // Sets virtual network interface model. - NicModel pulumi.StringInput `pulumi:"nicModel"` - // Enables operating system specific optimizations. - OperatingSystem pulumi.StringInput `pulumi:"operatingSystem"` - // Operating system distribution. - OperatingSystemDistro pulumi.StringInput `pulumi:"operatingSystemDistro"` - // Version of the operating system. - OperatingSystemVersion pulumi.StringInput `pulumi:"operatingSystemVersion"` - // Sets the device bus when the image is used as a rescue image. - RescueBus pulumi.StringInput `pulumi:"rescueBus"` - // Sets the device when the image is used as a rescue image. - RescueDevice pulumi.StringInput `pulumi:"rescueDevice"` - // Enables Secure Boot. - SecureBoot pulumi.BoolInput `pulumi:"secureBoot"` - // Enables UEFI boot. - Uefi pulumi.BoolInput `pulumi:"uefi"` - // Sets Graphic device model. - VideoModel pulumi.StringInput `pulumi:"videoModel"` - // Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. - VirtioScsi pulumi.BoolInput `pulumi:"virtioScsi"` +// Set of WAF Rule Group IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections +func (o GetCdnDistributionConfigWafOutput) DisabledRuleGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.DisabledRuleGroupIds }).(pulumi.StringArrayOutput) } -func (GetImageV2ConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetImageV2Config)(nil)).Elem() +// Set of WAF rule IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly disabled Rule ID takes precedence over an enabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections +func (o GetCdnDistributionConfigWafOutput) DisabledRuleIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.DisabledRuleIds }).(pulumi.StringArrayOutput) } -func (i GetImageV2ConfigArgs) ToGetImageV2ConfigOutput() GetImageV2ConfigOutput { - return i.ToGetImageV2ConfigOutputWithContext(context.Background()) +// Set of WAF Collection IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections +func (o GetCdnDistributionConfigWafOutput) EnabledRuleCollectionIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.EnabledRuleCollectionIds }).(pulumi.StringArrayOutput) } -func (i GetImageV2ConfigArgs) ToGetImageV2ConfigOutputWithContext(ctx context.Context) GetImageV2ConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetImageV2ConfigOutput) +// Set of WAF Rule Group IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections +func (o GetCdnDistributionConfigWafOutput) EnabledRuleGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.EnabledRuleGroupIds }).(pulumi.StringArrayOutput) } -type GetImageV2ConfigOutput struct{ *pulumi.OutputState } - -func (GetImageV2ConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetImageV2Config)(nil)).Elem() +// Set of WAF rule IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly enabled Rule ID takes precedence over a disabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections +func (o GetCdnDistributionConfigWafOutput) EnabledRuleIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.EnabledRuleIds }).(pulumi.StringArrayOutput) } -func (o GetImageV2ConfigOutput) ToGetImageV2ConfigOutput() GetImageV2ConfigOutput { - return o +// Set of WAF Collection IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections +func (o GetCdnDistributionConfigWafOutput) LogOnlyRuleCollectionIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.LogOnlyRuleCollectionIds }).(pulumi.StringArrayOutput) } -func (o GetImageV2ConfigOutput) ToGetImageV2ConfigOutputWithContext(ctx context.Context) GetImageV2ConfigOutput { - return o +// Set of WAF Rule Group IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections +func (o GetCdnDistributionConfigWafOutput) LogOnlyRuleGroupIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.LogOnlyRuleGroupIds }).(pulumi.StringArrayOutput) } -// Enables the BIOS bootmenu. -func (o GetImageV2ConfigOutput) BootMenu() pulumi.BoolOutput { - return o.ApplyT(func(v GetImageV2Config) bool { return v.BootMenu }).(pulumi.BoolOutput) +// Set of WAF rule IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections +func (o GetCdnDistributionConfigWafOutput) LogOnlyRuleIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) []string { return v.LogOnlyRuleIds }).(pulumi.StringArrayOutput) } -// Sets CDROM bus controller type. -func (o GetImageV2ConfigOutput) CdromBus() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Config) string { return v.CdromBus }).(pulumi.StringOutput) +// The operating mode of the WAF. 'ENABLED' actively blocks threats, 'LOG_ONLY' logs matches without blocking, and 'DISABLED' completely turns off inspection. Defaults to 'DISABLED'. +func (o GetCdnDistributionConfigWafOutput) Mode() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) string { return v.Mode }).(pulumi.StringOutput) } -// Sets Disk bus controller type. -func (o GetImageV2ConfigOutput) DiskBus() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Config) string { return v.DiskBus }).(pulumi.StringOutput) +// Defines how aggressively the WAF should act on requests. Valid values are 'L1' to 'L4'. Case you removed waf will retain the last known state and if omitted, The API applies the following default 'L1'. +func (o GetCdnDistributionConfigWafOutput) ParanoiaLevel() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) string { return v.ParanoiaLevel }).(pulumi.StringOutput) } -// Sets virtual network interface model. -func (o GetImageV2ConfigOutput) NicModel() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Config) string { return v.NicModel }).(pulumi.StringOutput) +// The tier of the WAF. Valid values are 'FREE' or 'PREMIUM'. Defaults to 'FREE'. +func (o GetCdnDistributionConfigWafOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionConfigWaf) string { return v.Type }).(pulumi.StringOutput) } -// Enables operating system specific optimizations. -func (o GetImageV2ConfigOutput) OperatingSystem() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Config) string { return v.OperatingSystem }).(pulumi.StringOutput) +type GetCdnDistributionDomain struct { + // List of domain errors + Errors []string `pulumi:"errors"` + // The name of the domain + Name string `pulumi:"name"` + // The status of the domain + Status string `pulumi:"status"` + // The type of the domain. Each distribution has one domain of type "managed", and domains of type "custom" may be additionally created by the user + Type string `pulumi:"type"` } -// Operating system distribution. -func (o GetImageV2ConfigOutput) OperatingSystemDistro() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Config) string { return v.OperatingSystemDistro }).(pulumi.StringOutput) +// GetCdnDistributionDomainInput is an input type that accepts GetCdnDistributionDomainArgs and GetCdnDistributionDomainOutput values. +// You can construct a concrete instance of `GetCdnDistributionDomainInput` via: +// +// GetCdnDistributionDomainArgs{...} +type GetCdnDistributionDomainInput interface { + pulumi.Input + + ToGetCdnDistributionDomainOutput() GetCdnDistributionDomainOutput + ToGetCdnDistributionDomainOutputWithContext(context.Context) GetCdnDistributionDomainOutput } -// Version of the operating system. -func (o GetImageV2ConfigOutput) OperatingSystemVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Config) string { return v.OperatingSystemVersion }).(pulumi.StringOutput) +type GetCdnDistributionDomainArgs struct { + // List of domain errors + Errors pulumi.StringArrayInput `pulumi:"errors"` + // The name of the domain + Name pulumi.StringInput `pulumi:"name"` + // The status of the domain + Status pulumi.StringInput `pulumi:"status"` + // The type of the domain. Each distribution has one domain of type "managed", and domains of type "custom" may be additionally created by the user + Type pulumi.StringInput `pulumi:"type"` } -// Sets the device bus when the image is used as a rescue image. -func (o GetImageV2ConfigOutput) RescueBus() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Config) string { return v.RescueBus }).(pulumi.StringOutput) +func (GetCdnDistributionDomainArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionDomain)(nil)).Elem() } -// Sets the device when the image is used as a rescue image. -func (o GetImageV2ConfigOutput) RescueDevice() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Config) string { return v.RescueDevice }).(pulumi.StringOutput) +func (i GetCdnDistributionDomainArgs) ToGetCdnDistributionDomainOutput() GetCdnDistributionDomainOutput { + return i.ToGetCdnDistributionDomainOutputWithContext(context.Background()) } -// Enables Secure Boot. -func (o GetImageV2ConfigOutput) SecureBoot() pulumi.BoolOutput { - return o.ApplyT(func(v GetImageV2Config) bool { return v.SecureBoot }).(pulumi.BoolOutput) +func (i GetCdnDistributionDomainArgs) ToGetCdnDistributionDomainOutputWithContext(ctx context.Context) GetCdnDistributionDomainOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionDomainOutput) } -// Enables UEFI boot. -func (o GetImageV2ConfigOutput) Uefi() pulumi.BoolOutput { - return o.ApplyT(func(v GetImageV2Config) bool { return v.Uefi }).(pulumi.BoolOutput) +// GetCdnDistributionDomainArrayInput is an input type that accepts GetCdnDistributionDomainArray and GetCdnDistributionDomainArrayOutput values. +// You can construct a concrete instance of `GetCdnDistributionDomainArrayInput` via: +// +// GetCdnDistributionDomainArray{ GetCdnDistributionDomainArgs{...} } +type GetCdnDistributionDomainArrayInput interface { + pulumi.Input + + ToGetCdnDistributionDomainArrayOutput() GetCdnDistributionDomainArrayOutput + ToGetCdnDistributionDomainArrayOutputWithContext(context.Context) GetCdnDistributionDomainArrayOutput } -// Sets Graphic device model. -func (o GetImageV2ConfigOutput) VideoModel() pulumi.StringOutput { - return o.ApplyT(func(v GetImageV2Config) string { return v.VideoModel }).(pulumi.StringOutput) +type GetCdnDistributionDomainArray []GetCdnDistributionDomainInput + +func (GetCdnDistributionDomainArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCdnDistributionDomain)(nil)).Elem() } -// Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. -func (o GetImageV2ConfigOutput) VirtioScsi() pulumi.BoolOutput { - return o.ApplyT(func(v GetImageV2Config) bool { return v.VirtioScsi }).(pulumi.BoolOutput) +func (i GetCdnDistributionDomainArray) ToGetCdnDistributionDomainArrayOutput() GetCdnDistributionDomainArrayOutput { + return i.ToGetCdnDistributionDomainArrayOutputWithContext(context.Background()) } -type GetImageV2Filter struct { - // Filter images by operating system distribution. For example: `ubuntu`, `ubuntu-arm64`, `debian`, `rhel`, etc. - Distro *string `pulumi:"distro"` - // Filter images by operating system type, such as `linux` or `windows`. - Os *string `pulumi:"os"` - // Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot. - SecureBoot *bool `pulumi:"secureBoot"` - // Filter images based on UEFI support. Set to `true` to match images that support UEFI. - Uefi *bool `pulumi:"uefi"` - // Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`. - Version *string `pulumi:"version"` +func (i GetCdnDistributionDomainArray) ToGetCdnDistributionDomainArrayOutputWithContext(ctx context.Context) GetCdnDistributionDomainArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetCdnDistributionDomainArrayOutput) } -// GetImageV2FilterInput is an input type that accepts GetImageV2FilterArgs and GetImageV2FilterOutput values. -// You can construct a concrete instance of `GetImageV2FilterInput` via: -// -// GetImageV2FilterArgs{...} -type GetImageV2FilterInput interface { - pulumi.Input +type GetCdnDistributionDomainOutput struct{ *pulumi.OutputState } - ToGetImageV2FilterOutput() GetImageV2FilterOutput - ToGetImageV2FilterOutputWithContext(context.Context) GetImageV2FilterOutput +func (GetCdnDistributionDomainOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetCdnDistributionDomain)(nil)).Elem() } -type GetImageV2FilterArgs struct { - // Filter images by operating system distribution. For example: `ubuntu`, `ubuntu-arm64`, `debian`, `rhel`, etc. - Distro pulumi.StringPtrInput `pulumi:"distro"` - // Filter images by operating system type, such as `linux` or `windows`. - Os pulumi.StringPtrInput `pulumi:"os"` - // Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot. - SecureBoot pulumi.BoolPtrInput `pulumi:"secureBoot"` - // Filter images based on UEFI support. Set to `true` to match images that support UEFI. - Uefi pulumi.BoolPtrInput `pulumi:"uefi"` - // Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`. - Version pulumi.StringPtrInput `pulumi:"version"` +func (o GetCdnDistributionDomainOutput) ToGetCdnDistributionDomainOutput() GetCdnDistributionDomainOutput { + return o } -func (GetImageV2FilterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetImageV2Filter)(nil)).Elem() +func (o GetCdnDistributionDomainOutput) ToGetCdnDistributionDomainOutputWithContext(ctx context.Context) GetCdnDistributionDomainOutput { + return o } -func (i GetImageV2FilterArgs) ToGetImageV2FilterOutput() GetImageV2FilterOutput { - return i.ToGetImageV2FilterOutputWithContext(context.Background()) +// List of domain errors +func (o GetCdnDistributionDomainOutput) Errors() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetCdnDistributionDomain) []string { return v.Errors }).(pulumi.StringArrayOutput) } -func (i GetImageV2FilterArgs) ToGetImageV2FilterOutputWithContext(ctx context.Context) GetImageV2FilterOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetImageV2FilterOutput) +// The name of the domain +func (o GetCdnDistributionDomainOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionDomain) string { return v.Name }).(pulumi.StringOutput) } -func (i GetImageV2FilterArgs) ToGetImageV2FilterPtrOutput() GetImageV2FilterPtrOutput { - return i.ToGetImageV2FilterPtrOutputWithContext(context.Background()) +// The status of the domain +func (o GetCdnDistributionDomainOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionDomain) string { return v.Status }).(pulumi.StringOutput) } -func (i GetImageV2FilterArgs) ToGetImageV2FilterPtrOutputWithContext(ctx context.Context) GetImageV2FilterPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetImageV2FilterOutput).ToGetImageV2FilterPtrOutputWithContext(ctx) +// The type of the domain. Each distribution has one domain of type "managed", and domains of type "custom" may be additionally created by the user +func (o GetCdnDistributionDomainOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetCdnDistributionDomain) string { return v.Type }).(pulumi.StringOutput) } -// GetImageV2FilterPtrInput is an input type that accepts GetImageV2FilterArgs, GetImageV2FilterPtr and GetImageV2FilterPtrOutput values. -// You can construct a concrete instance of `GetImageV2FilterPtrInput` via: -// -// GetImageV2FilterArgs{...} -// -// or: -// -// nil -type GetImageV2FilterPtrInput interface { - pulumi.Input +type GetCdnDistributionDomainArrayOutput struct{ *pulumi.OutputState } - ToGetImageV2FilterPtrOutput() GetImageV2FilterPtrOutput - ToGetImageV2FilterPtrOutputWithContext(context.Context) GetImageV2FilterPtrOutput +func (GetCdnDistributionDomainArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetCdnDistributionDomain)(nil)).Elem() } -type getImageV2FilterPtrType GetImageV2FilterArgs +func (o GetCdnDistributionDomainArrayOutput) ToGetCdnDistributionDomainArrayOutput() GetCdnDistributionDomainArrayOutput { + return o +} -func GetImageV2FilterPtr(v *GetImageV2FilterArgs) GetImageV2FilterPtrInput { - return (*getImageV2FilterPtrType)(v) +func (o GetCdnDistributionDomainArrayOutput) ToGetCdnDistributionDomainArrayOutputWithContext(ctx context.Context) GetCdnDistributionDomainArrayOutput { + return o } -func (*getImageV2FilterPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**GetImageV2Filter)(nil)).Elem() +func (o GetCdnDistributionDomainArrayOutput) Index(i pulumi.IntInput) GetCdnDistributionDomainOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetCdnDistributionDomain { + return vs[0].([]GetCdnDistributionDomain)[vs[1].(int)] + }).(GetCdnDistributionDomainOutput) } -func (i *getImageV2FilterPtrType) ToGetImageV2FilterPtrOutput() GetImageV2FilterPtrOutput { - return i.ToGetImageV2FilterPtrOutputWithContext(context.Background()) +type GetDnsRecordSetTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read *string `pulumi:"read"` } -func (i *getImageV2FilterPtrType) ToGetImageV2FilterPtrOutputWithContext(ctx context.Context) GetImageV2FilterPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetImageV2FilterPtrOutput) +// GetDnsRecordSetTimeoutsInput is an input type that accepts GetDnsRecordSetTimeoutsArgs and GetDnsRecordSetTimeoutsOutput values. +// You can construct a concrete instance of `GetDnsRecordSetTimeoutsInput` via: +// +// GetDnsRecordSetTimeoutsArgs{...} +type GetDnsRecordSetTimeoutsInput interface { + pulumi.Input + + ToGetDnsRecordSetTimeoutsOutput() GetDnsRecordSetTimeoutsOutput + ToGetDnsRecordSetTimeoutsOutputWithContext(context.Context) GetDnsRecordSetTimeoutsOutput } -type GetImageV2FilterOutput struct{ *pulumi.OutputState } +type GetDnsRecordSetTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read pulumi.StringPtrInput `pulumi:"read"` +} -func (GetImageV2FilterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetImageV2Filter)(nil)).Elem() +func (GetDnsRecordSetTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDnsRecordSetTimeouts)(nil)).Elem() } -func (o GetImageV2FilterOutput) ToGetImageV2FilterOutput() GetImageV2FilterOutput { - return o +func (i GetDnsRecordSetTimeoutsArgs) ToGetDnsRecordSetTimeoutsOutput() GetDnsRecordSetTimeoutsOutput { + return i.ToGetDnsRecordSetTimeoutsOutputWithContext(context.Background()) } -func (o GetImageV2FilterOutput) ToGetImageV2FilterOutputWithContext(ctx context.Context) GetImageV2FilterOutput { - return o +func (i GetDnsRecordSetTimeoutsArgs) ToGetDnsRecordSetTimeoutsOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDnsRecordSetTimeoutsOutput) } -func (o GetImageV2FilterOutput) ToGetImageV2FilterPtrOutput() GetImageV2FilterPtrOutput { - return o.ToGetImageV2FilterPtrOutputWithContext(context.Background()) +func (i GetDnsRecordSetTimeoutsArgs) ToGetDnsRecordSetTimeoutsPtrOutput() GetDnsRecordSetTimeoutsPtrOutput { + return i.ToGetDnsRecordSetTimeoutsPtrOutputWithContext(context.Background()) } -func (o GetImageV2FilterOutput) ToGetImageV2FilterPtrOutputWithContext(ctx context.Context) GetImageV2FilterPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v GetImageV2Filter) *GetImageV2Filter { - return &v - }).(GetImageV2FilterPtrOutput) +func (i GetDnsRecordSetTimeoutsArgs) ToGetDnsRecordSetTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDnsRecordSetTimeoutsOutput).ToGetDnsRecordSetTimeoutsPtrOutputWithContext(ctx) } -// Filter images by operating system distribution. For example: `ubuntu`, `ubuntu-arm64`, `debian`, `rhel`, etc. -func (o GetImageV2FilterOutput) Distro() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetImageV2Filter) *string { return v.Distro }).(pulumi.StringPtrOutput) +// GetDnsRecordSetTimeoutsPtrInput is an input type that accepts GetDnsRecordSetTimeoutsArgs, GetDnsRecordSetTimeoutsPtr and GetDnsRecordSetTimeoutsPtrOutput values. +// You can construct a concrete instance of `GetDnsRecordSetTimeoutsPtrInput` via: +// +// GetDnsRecordSetTimeoutsArgs{...} +// +// or: +// +// nil +type GetDnsRecordSetTimeoutsPtrInput interface { + pulumi.Input + + ToGetDnsRecordSetTimeoutsPtrOutput() GetDnsRecordSetTimeoutsPtrOutput + ToGetDnsRecordSetTimeoutsPtrOutputWithContext(context.Context) GetDnsRecordSetTimeoutsPtrOutput } -// Filter images by operating system type, such as `linux` or `windows`. -func (o GetImageV2FilterOutput) Os() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetImageV2Filter) *string { return v.Os }).(pulumi.StringPtrOutput) +type getDnsRecordSetTimeoutsPtrType GetDnsRecordSetTimeoutsArgs + +func GetDnsRecordSetTimeoutsPtr(v *GetDnsRecordSetTimeoutsArgs) GetDnsRecordSetTimeoutsPtrInput { + return (*getDnsRecordSetTimeoutsPtrType)(v) } -// Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot. -func (o GetImageV2FilterOutput) SecureBoot() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GetImageV2Filter) *bool { return v.SecureBoot }).(pulumi.BoolPtrOutput) +func (*getDnsRecordSetTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetDnsRecordSetTimeouts)(nil)).Elem() } -// Filter images based on UEFI support. Set to `true` to match images that support UEFI. -func (o GetImageV2FilterOutput) Uefi() pulumi.BoolPtrOutput { - return o.ApplyT(func(v GetImageV2Filter) *bool { return v.Uefi }).(pulumi.BoolPtrOutput) +func (i *getDnsRecordSetTimeoutsPtrType) ToGetDnsRecordSetTimeoutsPtrOutput() GetDnsRecordSetTimeoutsPtrOutput { + return i.ToGetDnsRecordSetTimeoutsPtrOutputWithContext(context.Background()) } -// Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`. -func (o GetImageV2FilterOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetImageV2Filter) *string { return v.Version }).(pulumi.StringPtrOutput) +func (i *getDnsRecordSetTimeoutsPtrType) ToGetDnsRecordSetTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDnsRecordSetTimeoutsPtrOutput) } -type GetImageV2FilterPtrOutput struct{ *pulumi.OutputState } +type GetDnsRecordSetTimeoutsOutput struct{ *pulumi.OutputState } -func (GetImageV2FilterPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**GetImageV2Filter)(nil)).Elem() +func (GetDnsRecordSetTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDnsRecordSetTimeouts)(nil)).Elem() } -func (o GetImageV2FilterPtrOutput) ToGetImageV2FilterPtrOutput() GetImageV2FilterPtrOutput { +func (o GetDnsRecordSetTimeoutsOutput) ToGetDnsRecordSetTimeoutsOutput() GetDnsRecordSetTimeoutsOutput { return o } -func (o GetImageV2FilterPtrOutput) ToGetImageV2FilterPtrOutputWithContext(ctx context.Context) GetImageV2FilterPtrOutput { +func (o GetDnsRecordSetTimeoutsOutput) ToGetDnsRecordSetTimeoutsOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsOutput { return o } -func (o GetImageV2FilterPtrOutput) Elem() GetImageV2FilterOutput { - return o.ApplyT(func(v *GetImageV2Filter) GetImageV2Filter { - if v != nil { - return *v - } - var ret GetImageV2Filter - return ret - }).(GetImageV2FilterOutput) +func (o GetDnsRecordSetTimeoutsOutput) ToGetDnsRecordSetTimeoutsPtrOutput() GetDnsRecordSetTimeoutsPtrOutput { + return o.ToGetDnsRecordSetTimeoutsPtrOutputWithContext(context.Background()) } -// Filter images by operating system distribution. For example: `ubuntu`, `ubuntu-arm64`, `debian`, `rhel`, etc. -func (o GetImageV2FilterPtrOutput) Distro() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetImageV2Filter) *string { - if v == nil { - return nil - } - return v.Distro - }).(pulumi.StringPtrOutput) +func (o GetDnsRecordSetTimeoutsOutput) ToGetDnsRecordSetTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetDnsRecordSetTimeouts) *GetDnsRecordSetTimeouts { + return &v + }).(GetDnsRecordSetTimeoutsPtrOutput) } -// Filter images by operating system type, such as `linux` or `windows`. -func (o GetImageV2FilterPtrOutput) Os() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetImageV2Filter) *string { - if v == nil { - return nil - } - return v.Os - }).(pulumi.StringPtrOutput) +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o GetDnsRecordSetTimeoutsOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetDnsRecordSetTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) } -// Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot. -func (o GetImageV2FilterPtrOutput) SecureBoot() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *GetImageV2Filter) *bool { - if v == nil { - return nil - } - return v.SecureBoot - }).(pulumi.BoolPtrOutput) +type GetDnsRecordSetTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (GetDnsRecordSetTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetDnsRecordSetTimeouts)(nil)).Elem() } -// Filter images based on UEFI support. Set to `true` to match images that support UEFI. -func (o GetImageV2FilterPtrOutput) Uefi() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *GetImageV2Filter) *bool { - if v == nil { - return nil +func (o GetDnsRecordSetTimeoutsPtrOutput) ToGetDnsRecordSetTimeoutsPtrOutput() GetDnsRecordSetTimeoutsPtrOutput { + return o +} + +func (o GetDnsRecordSetTimeoutsPtrOutput) ToGetDnsRecordSetTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsRecordSetTimeoutsPtrOutput { + return o +} + +func (o GetDnsRecordSetTimeoutsPtrOutput) Elem() GetDnsRecordSetTimeoutsOutput { + return o.ApplyT(func(v *GetDnsRecordSetTimeouts) GetDnsRecordSetTimeouts { + if v != nil { + return *v } - return v.Uefi - }).(pulumi.BoolPtrOutput) + var ret GetDnsRecordSetTimeouts + return ret + }).(GetDnsRecordSetTimeoutsOutput) } -// Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`. -func (o GetImageV2FilterPtrOutput) Version() pulumi.StringPtrOutput { - return o.ApplyT(func(v *GetImageV2Filter) *string { +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o GetDnsRecordSetTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetDnsRecordSetTimeouts) *string { if v == nil { return nil } - return v.Version + return v.Read }).(pulumi.StringPtrOutput) } -type GetLoadbalancerListener struct { - DisplayName string `pulumi:"displayName"` - // Port number where we listen for traffic. - Port int `pulumi:"port"` - // Protocol is the highest network protocol we understand to load balance. - Protocol string `pulumi:"protocol"` - // A list of domain names to match in order to pass TLS traffic to the target pool in the current listener - // - // Deprecated: `serverNameIndicators` is deprecated and will be removed after October 2026 - ServerNameIndicators []GetLoadbalancerListenerServerNameIndicator `pulumi:"serverNameIndicators"` - // Reference target pool by target pool name. - TargetPool string `pulumi:"targetPool"` - // Options that are specific to the TCP protocol. - Tcp GetLoadbalancerListenerTcp `pulumi:"tcp"` - // Options that are specific to the UDP protocol. - Udp GetLoadbalancerListenerUdp `pulumi:"udp"` +type GetDnsZoneTimeouts struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read *string `pulumi:"read"` } -// GetLoadbalancerListenerInput is an input type that accepts GetLoadbalancerListenerArgs and GetLoadbalancerListenerOutput values. -// You can construct a concrete instance of `GetLoadbalancerListenerInput` via: +// GetDnsZoneTimeoutsInput is an input type that accepts GetDnsZoneTimeoutsArgs and GetDnsZoneTimeoutsOutput values. +// You can construct a concrete instance of `GetDnsZoneTimeoutsInput` via: // -// GetLoadbalancerListenerArgs{...} -type GetLoadbalancerListenerInput interface { +// GetDnsZoneTimeoutsArgs{...} +type GetDnsZoneTimeoutsInput interface { pulumi.Input - ToGetLoadbalancerListenerOutput() GetLoadbalancerListenerOutput - ToGetLoadbalancerListenerOutputWithContext(context.Context) GetLoadbalancerListenerOutput + ToGetDnsZoneTimeoutsOutput() GetDnsZoneTimeoutsOutput + ToGetDnsZoneTimeoutsOutputWithContext(context.Context) GetDnsZoneTimeoutsOutput } -type GetLoadbalancerListenerArgs struct { - DisplayName pulumi.StringInput `pulumi:"displayName"` - // Port number where we listen for traffic. - Port pulumi.IntInput `pulumi:"port"` - // Protocol is the highest network protocol we understand to load balance. - Protocol pulumi.StringInput `pulumi:"protocol"` - // A list of domain names to match in order to pass TLS traffic to the target pool in the current listener - // - // Deprecated: `serverNameIndicators` is deprecated and will be removed after October 2026 - ServerNameIndicators GetLoadbalancerListenerServerNameIndicatorArrayInput `pulumi:"serverNameIndicators"` - // Reference target pool by target pool name. - TargetPool pulumi.StringInput `pulumi:"targetPool"` - // Options that are specific to the TCP protocol. - Tcp GetLoadbalancerListenerTcpInput `pulumi:"tcp"` - // Options that are specific to the UDP protocol. - Udp GetLoadbalancerListenerUdpInput `pulumi:"udp"` +type GetDnsZoneTimeoutsArgs struct { + // A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + Read pulumi.StringPtrInput `pulumi:"read"` } -func (GetLoadbalancerListenerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerListener)(nil)).Elem() +func (GetDnsZoneTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDnsZoneTimeouts)(nil)).Elem() } -func (i GetLoadbalancerListenerArgs) ToGetLoadbalancerListenerOutput() GetLoadbalancerListenerOutput { - return i.ToGetLoadbalancerListenerOutputWithContext(context.Background()) +func (i GetDnsZoneTimeoutsArgs) ToGetDnsZoneTimeoutsOutput() GetDnsZoneTimeoutsOutput { + return i.ToGetDnsZoneTimeoutsOutputWithContext(context.Background()) } -func (i GetLoadbalancerListenerArgs) ToGetLoadbalancerListenerOutputWithContext(ctx context.Context) GetLoadbalancerListenerOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerOutput) +func (i GetDnsZoneTimeoutsArgs) ToGetDnsZoneTimeoutsOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDnsZoneTimeoutsOutput) } -// GetLoadbalancerListenerArrayInput is an input type that accepts GetLoadbalancerListenerArray and GetLoadbalancerListenerArrayOutput values. -// You can construct a concrete instance of `GetLoadbalancerListenerArrayInput` via: -// -// GetLoadbalancerListenerArray{ GetLoadbalancerListenerArgs{...} } -type GetLoadbalancerListenerArrayInput interface { - pulumi.Input - - ToGetLoadbalancerListenerArrayOutput() GetLoadbalancerListenerArrayOutput - ToGetLoadbalancerListenerArrayOutputWithContext(context.Context) GetLoadbalancerListenerArrayOutput +func (i GetDnsZoneTimeoutsArgs) ToGetDnsZoneTimeoutsPtrOutput() GetDnsZoneTimeoutsPtrOutput { + return i.ToGetDnsZoneTimeoutsPtrOutputWithContext(context.Background()) } -type GetLoadbalancerListenerArray []GetLoadbalancerListenerInput - -func (GetLoadbalancerListenerArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLoadbalancerListener)(nil)).Elem() +func (i GetDnsZoneTimeoutsArgs) ToGetDnsZoneTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDnsZoneTimeoutsOutput).ToGetDnsZoneTimeoutsPtrOutputWithContext(ctx) } -func (i GetLoadbalancerListenerArray) ToGetLoadbalancerListenerArrayOutput() GetLoadbalancerListenerArrayOutput { - return i.ToGetLoadbalancerListenerArrayOutputWithContext(context.Background()) -} +// GetDnsZoneTimeoutsPtrInput is an input type that accepts GetDnsZoneTimeoutsArgs, GetDnsZoneTimeoutsPtr and GetDnsZoneTimeoutsPtrOutput values. +// You can construct a concrete instance of `GetDnsZoneTimeoutsPtrInput` via: +// +// GetDnsZoneTimeoutsArgs{...} +// +// or: +// +// nil +type GetDnsZoneTimeoutsPtrInput interface { + pulumi.Input -func (i GetLoadbalancerListenerArray) ToGetLoadbalancerListenerArrayOutputWithContext(ctx context.Context) GetLoadbalancerListenerArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerArrayOutput) + ToGetDnsZoneTimeoutsPtrOutput() GetDnsZoneTimeoutsPtrOutput + ToGetDnsZoneTimeoutsPtrOutputWithContext(context.Context) GetDnsZoneTimeoutsPtrOutput } -type GetLoadbalancerListenerOutput struct{ *pulumi.OutputState } +type getDnsZoneTimeoutsPtrType GetDnsZoneTimeoutsArgs -func (GetLoadbalancerListenerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerListener)(nil)).Elem() +func GetDnsZoneTimeoutsPtr(v *GetDnsZoneTimeoutsArgs) GetDnsZoneTimeoutsPtrInput { + return (*getDnsZoneTimeoutsPtrType)(v) } -func (o GetLoadbalancerListenerOutput) ToGetLoadbalancerListenerOutput() GetLoadbalancerListenerOutput { - return o +func (*getDnsZoneTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetDnsZoneTimeouts)(nil)).Elem() } -func (o GetLoadbalancerListenerOutput) ToGetLoadbalancerListenerOutputWithContext(ctx context.Context) GetLoadbalancerListenerOutput { - return o +func (i *getDnsZoneTimeoutsPtrType) ToGetDnsZoneTimeoutsPtrOutput() GetDnsZoneTimeoutsPtrOutput { + return i.ToGetDnsZoneTimeoutsPtrOutputWithContext(context.Background()) } -func (o GetLoadbalancerListenerOutput) DisplayName() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerListener) string { return v.DisplayName }).(pulumi.StringOutput) +func (i *getDnsZoneTimeoutsPtrType) ToGetDnsZoneTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDnsZoneTimeoutsPtrOutput) } -// Port number where we listen for traffic. -func (o GetLoadbalancerListenerOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v GetLoadbalancerListener) int { return v.Port }).(pulumi.IntOutput) +type GetDnsZoneTimeoutsOutput struct{ *pulumi.OutputState } + +func (GetDnsZoneTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDnsZoneTimeouts)(nil)).Elem() } -// Protocol is the highest network protocol we understand to load balance. -func (o GetLoadbalancerListenerOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerListener) string { return v.Protocol }).(pulumi.StringOutput) +func (o GetDnsZoneTimeoutsOutput) ToGetDnsZoneTimeoutsOutput() GetDnsZoneTimeoutsOutput { + return o } -// A list of domain names to match in order to pass TLS traffic to the target pool in the current listener -// -// Deprecated: `serverNameIndicators` is deprecated and will be removed after October 2026 -func (o GetLoadbalancerListenerOutput) ServerNameIndicators() GetLoadbalancerListenerServerNameIndicatorArrayOutput { - return o.ApplyT(func(v GetLoadbalancerListener) []GetLoadbalancerListenerServerNameIndicator { - return v.ServerNameIndicators - }).(GetLoadbalancerListenerServerNameIndicatorArrayOutput) +func (o GetDnsZoneTimeoutsOutput) ToGetDnsZoneTimeoutsOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsOutput { + return o } -// Reference target pool by target pool name. -func (o GetLoadbalancerListenerOutput) TargetPool() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerListener) string { return v.TargetPool }).(pulumi.StringOutput) +func (o GetDnsZoneTimeoutsOutput) ToGetDnsZoneTimeoutsPtrOutput() GetDnsZoneTimeoutsPtrOutput { + return o.ToGetDnsZoneTimeoutsPtrOutputWithContext(context.Background()) } -// Options that are specific to the TCP protocol. -func (o GetLoadbalancerListenerOutput) Tcp() GetLoadbalancerListenerTcpOutput { - return o.ApplyT(func(v GetLoadbalancerListener) GetLoadbalancerListenerTcp { return v.Tcp }).(GetLoadbalancerListenerTcpOutput) +func (o GetDnsZoneTimeoutsOutput) ToGetDnsZoneTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetDnsZoneTimeouts) *GetDnsZoneTimeouts { + return &v + }).(GetDnsZoneTimeoutsPtrOutput) } -// Options that are specific to the UDP protocol. -func (o GetLoadbalancerListenerOutput) Udp() GetLoadbalancerListenerUdpOutput { - return o.ApplyT(func(v GetLoadbalancerListener) GetLoadbalancerListenerUdp { return v.Udp }).(GetLoadbalancerListenerUdpOutput) +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o GetDnsZoneTimeoutsOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetDnsZoneTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) } -type GetLoadbalancerListenerArrayOutput struct{ *pulumi.OutputState } +type GetDnsZoneTimeoutsPtrOutput struct{ *pulumi.OutputState } -func (GetLoadbalancerListenerArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLoadbalancerListener)(nil)).Elem() +func (GetDnsZoneTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetDnsZoneTimeouts)(nil)).Elem() } -func (o GetLoadbalancerListenerArrayOutput) ToGetLoadbalancerListenerArrayOutput() GetLoadbalancerListenerArrayOutput { +func (o GetDnsZoneTimeoutsPtrOutput) ToGetDnsZoneTimeoutsPtrOutput() GetDnsZoneTimeoutsPtrOutput { return o } -func (o GetLoadbalancerListenerArrayOutput) ToGetLoadbalancerListenerArrayOutputWithContext(ctx context.Context) GetLoadbalancerListenerArrayOutput { +func (o GetDnsZoneTimeoutsPtrOutput) ToGetDnsZoneTimeoutsPtrOutputWithContext(ctx context.Context) GetDnsZoneTimeoutsPtrOutput { return o } -func (o GetLoadbalancerListenerArrayOutput) Index(i pulumi.IntInput) GetLoadbalancerListenerOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLoadbalancerListener { - return vs[0].([]GetLoadbalancerListener)[vs[1].(int)] - }).(GetLoadbalancerListenerOutput) +func (o GetDnsZoneTimeoutsPtrOutput) Elem() GetDnsZoneTimeoutsOutput { + return o.ApplyT(func(v *GetDnsZoneTimeouts) GetDnsZoneTimeouts { + if v != nil { + return *v + } + var ret GetDnsZoneTimeouts + return ret + }).(GetDnsZoneTimeoutsOutput) } -type GetLoadbalancerListenerServerNameIndicator struct { - // A domain name to match in order to pass TLS traffic to the target pool in the current listener - Name *string `pulumi:"name"` +// A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). +func (o GetDnsZoneTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetDnsZoneTimeouts) *string { + if v == nil { + return nil + } + return v.Read + }).(pulumi.StringPtrOutput) } -// GetLoadbalancerListenerServerNameIndicatorInput is an input type that accepts GetLoadbalancerListenerServerNameIndicatorArgs and GetLoadbalancerListenerServerNameIndicatorOutput values. -// You can construct a concrete instance of `GetLoadbalancerListenerServerNameIndicatorInput` via: -// -// GetLoadbalancerListenerServerNameIndicatorArgs{...} -type GetLoadbalancerListenerServerNameIndicatorInput interface { - pulumi.Input - - ToGetLoadbalancerListenerServerNameIndicatorOutput() GetLoadbalancerListenerServerNameIndicatorOutput - ToGetLoadbalancerListenerServerNameIndicatorOutputWithContext(context.Context) GetLoadbalancerListenerServerNameIndicatorOutput -} - -type GetLoadbalancerListenerServerNameIndicatorArgs struct { - // A domain name to match in order to pass TLS traffic to the target pool in the current listener - Name pulumi.StringPtrInput `pulumi:"name"` -} - -func (GetLoadbalancerListenerServerNameIndicatorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerListenerServerNameIndicator)(nil)).Elem() -} - -func (i GetLoadbalancerListenerServerNameIndicatorArgs) ToGetLoadbalancerListenerServerNameIndicatorOutput() GetLoadbalancerListenerServerNameIndicatorOutput { - return i.ToGetLoadbalancerListenerServerNameIndicatorOutputWithContext(context.Background()) -} - -func (i GetLoadbalancerListenerServerNameIndicatorArgs) ToGetLoadbalancerListenerServerNameIndicatorOutputWithContext(ctx context.Context) GetLoadbalancerListenerServerNameIndicatorOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerServerNameIndicatorOutput) +type GetDremioInstanceAuthentication struct { + // Azure Active Directory authentication configuration. + Azuread GetDremioInstanceAuthenticationAzuread `pulumi:"azuread"` + // OIDC authentication configuration. + Oauth GetDremioInstanceAuthenticationOauth `pulumi:"oauth"` + // Type of authentication (local-only, azuread, oauth). + Type string `pulumi:"type"` } -// GetLoadbalancerListenerServerNameIndicatorArrayInput is an input type that accepts GetLoadbalancerListenerServerNameIndicatorArray and GetLoadbalancerListenerServerNameIndicatorArrayOutput values. -// You can construct a concrete instance of `GetLoadbalancerListenerServerNameIndicatorArrayInput` via: +// GetDremioInstanceAuthenticationInput is an input type that accepts GetDremioInstanceAuthenticationArgs and GetDremioInstanceAuthenticationOutput values. +// You can construct a concrete instance of `GetDremioInstanceAuthenticationInput` via: // -// GetLoadbalancerListenerServerNameIndicatorArray{ GetLoadbalancerListenerServerNameIndicatorArgs{...} } -type GetLoadbalancerListenerServerNameIndicatorArrayInput interface { +// GetDremioInstanceAuthenticationArgs{...} +type GetDremioInstanceAuthenticationInput interface { pulumi.Input - ToGetLoadbalancerListenerServerNameIndicatorArrayOutput() GetLoadbalancerListenerServerNameIndicatorArrayOutput - ToGetLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(context.Context) GetLoadbalancerListenerServerNameIndicatorArrayOutput + ToGetDremioInstanceAuthenticationOutput() GetDremioInstanceAuthenticationOutput + ToGetDremioInstanceAuthenticationOutputWithContext(context.Context) GetDremioInstanceAuthenticationOutput } -type GetLoadbalancerListenerServerNameIndicatorArray []GetLoadbalancerListenerServerNameIndicatorInput +type GetDremioInstanceAuthenticationArgs struct { + // Azure Active Directory authentication configuration. + Azuread GetDremioInstanceAuthenticationAzureadInput `pulumi:"azuread"` + // OIDC authentication configuration. + Oauth GetDremioInstanceAuthenticationOauthInput `pulumi:"oauth"` + // Type of authentication (local-only, azuread, oauth). + Type pulumi.StringInput `pulumi:"type"` +} -func (GetLoadbalancerListenerServerNameIndicatorArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLoadbalancerListenerServerNameIndicator)(nil)).Elem() +func (GetDremioInstanceAuthenticationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthentication)(nil)).Elem() } -func (i GetLoadbalancerListenerServerNameIndicatorArray) ToGetLoadbalancerListenerServerNameIndicatorArrayOutput() GetLoadbalancerListenerServerNameIndicatorArrayOutput { - return i.ToGetLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(context.Background()) +func (i GetDremioInstanceAuthenticationArgs) ToGetDremioInstanceAuthenticationOutput() GetDremioInstanceAuthenticationOutput { + return i.ToGetDremioInstanceAuthenticationOutputWithContext(context.Background()) } -func (i GetLoadbalancerListenerServerNameIndicatorArray) ToGetLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(ctx context.Context) GetLoadbalancerListenerServerNameIndicatorArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerServerNameIndicatorArrayOutput) +func (i GetDremioInstanceAuthenticationArgs) ToGetDremioInstanceAuthenticationOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOutput) } -type GetLoadbalancerListenerServerNameIndicatorOutput struct{ *pulumi.OutputState } +type GetDremioInstanceAuthenticationOutput struct{ *pulumi.OutputState } -func (GetLoadbalancerListenerServerNameIndicatorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerListenerServerNameIndicator)(nil)).Elem() +func (GetDremioInstanceAuthenticationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthentication)(nil)).Elem() } -func (o GetLoadbalancerListenerServerNameIndicatorOutput) ToGetLoadbalancerListenerServerNameIndicatorOutput() GetLoadbalancerListenerServerNameIndicatorOutput { +func (o GetDremioInstanceAuthenticationOutput) ToGetDremioInstanceAuthenticationOutput() GetDremioInstanceAuthenticationOutput { return o } -func (o GetLoadbalancerListenerServerNameIndicatorOutput) ToGetLoadbalancerListenerServerNameIndicatorOutputWithContext(ctx context.Context) GetLoadbalancerListenerServerNameIndicatorOutput { +func (o GetDremioInstanceAuthenticationOutput) ToGetDremioInstanceAuthenticationOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOutput { return o } -// A domain name to match in order to pass TLS traffic to the target pool in the current listener -func (o GetLoadbalancerListenerServerNameIndicatorOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetLoadbalancerListenerServerNameIndicator) *string { return v.Name }).(pulumi.StringPtrOutput) -} - -type GetLoadbalancerListenerServerNameIndicatorArrayOutput struct{ *pulumi.OutputState } - -func (GetLoadbalancerListenerServerNameIndicatorArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLoadbalancerListenerServerNameIndicator)(nil)).Elem() -} - -func (o GetLoadbalancerListenerServerNameIndicatorArrayOutput) ToGetLoadbalancerListenerServerNameIndicatorArrayOutput() GetLoadbalancerListenerServerNameIndicatorArrayOutput { - return o +// Azure Active Directory authentication configuration. +func (o GetDremioInstanceAuthenticationOutput) Azuread() GetDremioInstanceAuthenticationAzureadOutput { + return o.ApplyT(func(v GetDremioInstanceAuthentication) GetDremioInstanceAuthenticationAzuread { return v.Azuread }).(GetDremioInstanceAuthenticationAzureadOutput) } -func (o GetLoadbalancerListenerServerNameIndicatorArrayOutput) ToGetLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(ctx context.Context) GetLoadbalancerListenerServerNameIndicatorArrayOutput { - return o +// OIDC authentication configuration. +func (o GetDremioInstanceAuthenticationOutput) Oauth() GetDremioInstanceAuthenticationOauthOutput { + return o.ApplyT(func(v GetDremioInstanceAuthentication) GetDremioInstanceAuthenticationOauth { return v.Oauth }).(GetDremioInstanceAuthenticationOauthOutput) } -func (o GetLoadbalancerListenerServerNameIndicatorArrayOutput) Index(i pulumi.IntInput) GetLoadbalancerListenerServerNameIndicatorOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLoadbalancerListenerServerNameIndicator { - return vs[0].([]GetLoadbalancerListenerServerNameIndicator)[vs[1].(int)] - }).(GetLoadbalancerListenerServerNameIndicatorOutput) +// Type of authentication (local-only, azuread, oauth). +func (o GetDremioInstanceAuthenticationOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceAuthentication) string { return v.Type }).(pulumi.StringOutput) } -type GetLoadbalancerListenerTcp struct { - // Time after which an idle connection is closed. The default value is set to 5 minutes, and the maximum value is one hour. - IdleTimeout string `pulumi:"idleTimeout"` +type GetDremioInstanceAuthenticationAzuread struct { + // The Azure AD authority URL. + AuthorityUrl string `pulumi:"authorityUrl"` + // The Azure AD client ID. + ClientId string `pulumi:"clientId"` + // The Azure AD client secret. + ClientSecret string `pulumi:"clientSecret"` + // The Azure AD redirect URL. + RedirectUrl string `pulumi:"redirectUrl"` } -// GetLoadbalancerListenerTcpInput is an input type that accepts GetLoadbalancerListenerTcpArgs and GetLoadbalancerListenerTcpOutput values. -// You can construct a concrete instance of `GetLoadbalancerListenerTcpInput` via: +// GetDremioInstanceAuthenticationAzureadInput is an input type that accepts GetDremioInstanceAuthenticationAzureadArgs and GetDremioInstanceAuthenticationAzureadOutput values. +// You can construct a concrete instance of `GetDremioInstanceAuthenticationAzureadInput` via: // -// GetLoadbalancerListenerTcpArgs{...} -type GetLoadbalancerListenerTcpInput interface { +// GetDremioInstanceAuthenticationAzureadArgs{...} +type GetDremioInstanceAuthenticationAzureadInput interface { pulumi.Input - ToGetLoadbalancerListenerTcpOutput() GetLoadbalancerListenerTcpOutput - ToGetLoadbalancerListenerTcpOutputWithContext(context.Context) GetLoadbalancerListenerTcpOutput + ToGetDremioInstanceAuthenticationAzureadOutput() GetDremioInstanceAuthenticationAzureadOutput + ToGetDremioInstanceAuthenticationAzureadOutputWithContext(context.Context) GetDremioInstanceAuthenticationAzureadOutput } -type GetLoadbalancerListenerTcpArgs struct { - // Time after which an idle connection is closed. The default value is set to 5 minutes, and the maximum value is one hour. - IdleTimeout pulumi.StringInput `pulumi:"idleTimeout"` +type GetDremioInstanceAuthenticationAzureadArgs struct { + // The Azure AD authority URL. + AuthorityUrl pulumi.StringInput `pulumi:"authorityUrl"` + // The Azure AD client ID. + ClientId pulumi.StringInput `pulumi:"clientId"` + // The Azure AD client secret. + ClientSecret pulumi.StringInput `pulumi:"clientSecret"` + // The Azure AD redirect URL. + RedirectUrl pulumi.StringInput `pulumi:"redirectUrl"` } -func (GetLoadbalancerListenerTcpArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerListenerTcp)(nil)).Elem() +func (GetDremioInstanceAuthenticationAzureadArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationAzuread)(nil)).Elem() } -func (i GetLoadbalancerListenerTcpArgs) ToGetLoadbalancerListenerTcpOutput() GetLoadbalancerListenerTcpOutput { - return i.ToGetLoadbalancerListenerTcpOutputWithContext(context.Background()) +func (i GetDremioInstanceAuthenticationAzureadArgs) ToGetDremioInstanceAuthenticationAzureadOutput() GetDremioInstanceAuthenticationAzureadOutput { + return i.ToGetDremioInstanceAuthenticationAzureadOutputWithContext(context.Background()) } -func (i GetLoadbalancerListenerTcpArgs) ToGetLoadbalancerListenerTcpOutputWithContext(ctx context.Context) GetLoadbalancerListenerTcpOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerTcpOutput) +func (i GetDremioInstanceAuthenticationAzureadArgs) ToGetDremioInstanceAuthenticationAzureadOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationAzureadOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationAzureadOutput) } -type GetLoadbalancerListenerTcpOutput struct{ *pulumi.OutputState } +type GetDremioInstanceAuthenticationAzureadOutput struct{ *pulumi.OutputState } -func (GetLoadbalancerListenerTcpOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerListenerTcp)(nil)).Elem() +func (GetDremioInstanceAuthenticationAzureadOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationAzuread)(nil)).Elem() } -func (o GetLoadbalancerListenerTcpOutput) ToGetLoadbalancerListenerTcpOutput() GetLoadbalancerListenerTcpOutput { +func (o GetDremioInstanceAuthenticationAzureadOutput) ToGetDremioInstanceAuthenticationAzureadOutput() GetDremioInstanceAuthenticationAzureadOutput { return o } -func (o GetLoadbalancerListenerTcpOutput) ToGetLoadbalancerListenerTcpOutputWithContext(ctx context.Context) GetLoadbalancerListenerTcpOutput { +func (o GetDremioInstanceAuthenticationAzureadOutput) ToGetDremioInstanceAuthenticationAzureadOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationAzureadOutput { return o } -// Time after which an idle connection is closed. The default value is set to 5 minutes, and the maximum value is one hour. -func (o GetLoadbalancerListenerTcpOutput) IdleTimeout() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerListenerTcp) string { return v.IdleTimeout }).(pulumi.StringOutput) +// The Azure AD authority URL. +func (o GetDremioInstanceAuthenticationAzureadOutput) AuthorityUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationAzuread) string { return v.AuthorityUrl }).(pulumi.StringOutput) } -type GetLoadbalancerListenerUdp struct { - // Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. - IdleTimeout string `pulumi:"idleTimeout"` +// The Azure AD client ID. +func (o GetDremioInstanceAuthenticationAzureadOutput) ClientId() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationAzuread) string { return v.ClientId }).(pulumi.StringOutput) } -// GetLoadbalancerListenerUdpInput is an input type that accepts GetLoadbalancerListenerUdpArgs and GetLoadbalancerListenerUdpOutput values. -// You can construct a concrete instance of `GetLoadbalancerListenerUdpInput` via: +// The Azure AD client secret. +func (o GetDremioInstanceAuthenticationAzureadOutput) ClientSecret() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationAzuread) string { return v.ClientSecret }).(pulumi.StringOutput) +} + +// The Azure AD redirect URL. +func (o GetDremioInstanceAuthenticationAzureadOutput) RedirectUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationAzuread) string { return v.RedirectUrl }).(pulumi.StringOutput) +} + +type GetDremioInstanceAuthenticationOauth struct { + // The Issuer location URI, where the OIDC provider configuration can be found. + AuthorityUrl string `pulumi:"authorityUrl"` + // The client ID assigned by the Identity Provider. + ClientId string `pulumi:"clientId"` + // The client secret generated by the Identity Provider. + ClientSecret string `pulumi:"clientSecret"` + // Maps fields from the JWT token to fields Dremio requires. + JwtClaims GetDremioInstanceAuthenticationOauthJwtClaims `pulumi:"jwtClaims"` + // Any additional parameters the Identity Provider requires. + Parameters []GetDremioInstanceAuthenticationOauthParameter `pulumi:"parameters"` + // The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. + RedirectUrl string `pulumi:"redirectUrl"` + // A list of space-separated scopes. The `openid` scope is always required; other scopes can vary by provider. + Scope string `pulumi:"scope"` +} + +// GetDremioInstanceAuthenticationOauthInput is an input type that accepts GetDremioInstanceAuthenticationOauthArgs and GetDremioInstanceAuthenticationOauthOutput values. +// You can construct a concrete instance of `GetDremioInstanceAuthenticationOauthInput` via: // -// GetLoadbalancerListenerUdpArgs{...} -type GetLoadbalancerListenerUdpInput interface { +// GetDremioInstanceAuthenticationOauthArgs{...} +type GetDremioInstanceAuthenticationOauthInput interface { pulumi.Input - ToGetLoadbalancerListenerUdpOutput() GetLoadbalancerListenerUdpOutput - ToGetLoadbalancerListenerUdpOutputWithContext(context.Context) GetLoadbalancerListenerUdpOutput + ToGetDremioInstanceAuthenticationOauthOutput() GetDremioInstanceAuthenticationOauthOutput + ToGetDremioInstanceAuthenticationOauthOutputWithContext(context.Context) GetDremioInstanceAuthenticationOauthOutput } -type GetLoadbalancerListenerUdpArgs struct { - // Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. - IdleTimeout pulumi.StringInput `pulumi:"idleTimeout"` +type GetDremioInstanceAuthenticationOauthArgs struct { + // The Issuer location URI, where the OIDC provider configuration can be found. + AuthorityUrl pulumi.StringInput `pulumi:"authorityUrl"` + // The client ID assigned by the Identity Provider. + ClientId pulumi.StringInput `pulumi:"clientId"` + // The client secret generated by the Identity Provider. + ClientSecret pulumi.StringInput `pulumi:"clientSecret"` + // Maps fields from the JWT token to fields Dremio requires. + JwtClaims GetDremioInstanceAuthenticationOauthJwtClaimsInput `pulumi:"jwtClaims"` + // Any additional parameters the Identity Provider requires. + Parameters GetDremioInstanceAuthenticationOauthParameterArrayInput `pulumi:"parameters"` + // The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. + RedirectUrl pulumi.StringInput `pulumi:"redirectUrl"` + // A list of space-separated scopes. The `openid` scope is always required; other scopes can vary by provider. + Scope pulumi.StringInput `pulumi:"scope"` } -func (GetLoadbalancerListenerUdpArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerListenerUdp)(nil)).Elem() +func (GetDremioInstanceAuthenticationOauthArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationOauth)(nil)).Elem() } -func (i GetLoadbalancerListenerUdpArgs) ToGetLoadbalancerListenerUdpOutput() GetLoadbalancerListenerUdpOutput { - return i.ToGetLoadbalancerListenerUdpOutputWithContext(context.Background()) +func (i GetDremioInstanceAuthenticationOauthArgs) ToGetDremioInstanceAuthenticationOauthOutput() GetDremioInstanceAuthenticationOauthOutput { + return i.ToGetDremioInstanceAuthenticationOauthOutputWithContext(context.Background()) } -func (i GetLoadbalancerListenerUdpArgs) ToGetLoadbalancerListenerUdpOutputWithContext(ctx context.Context) GetLoadbalancerListenerUdpOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerUdpOutput) +func (i GetDremioInstanceAuthenticationOauthArgs) ToGetDremioInstanceAuthenticationOauthOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOauthOutput) } -type GetLoadbalancerListenerUdpOutput struct{ *pulumi.OutputState } +type GetDremioInstanceAuthenticationOauthOutput struct{ *pulumi.OutputState } -func (GetLoadbalancerListenerUdpOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerListenerUdp)(nil)).Elem() +func (GetDremioInstanceAuthenticationOauthOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationOauth)(nil)).Elem() } -func (o GetLoadbalancerListenerUdpOutput) ToGetLoadbalancerListenerUdpOutput() GetLoadbalancerListenerUdpOutput { +func (o GetDremioInstanceAuthenticationOauthOutput) ToGetDremioInstanceAuthenticationOauthOutput() GetDremioInstanceAuthenticationOauthOutput { return o } -func (o GetLoadbalancerListenerUdpOutput) ToGetLoadbalancerListenerUdpOutputWithContext(ctx context.Context) GetLoadbalancerListenerUdpOutput { +func (o GetDremioInstanceAuthenticationOauthOutput) ToGetDremioInstanceAuthenticationOauthOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthOutput { return o } -// Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. -func (o GetLoadbalancerListenerUdpOutput) IdleTimeout() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerListenerUdp) string { return v.IdleTimeout }).(pulumi.StringOutput) +// The Issuer location URI, where the OIDC provider configuration can be found. +func (o GetDremioInstanceAuthenticationOauthOutput) AuthorityUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationOauth) string { return v.AuthorityUrl }).(pulumi.StringOutput) } -type GetLoadbalancerNetwork struct { - // Openstack network ID. - NetworkId string `pulumi:"networkId"` - // The role defines how the load balancer is using the network. - Role string `pulumi:"role"` -} +// The client ID assigned by the Identity Provider. +func (o GetDremioInstanceAuthenticationOauthOutput) ClientId() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationOauth) string { return v.ClientId }).(pulumi.StringOutput) +} -// GetLoadbalancerNetworkInput is an input type that accepts GetLoadbalancerNetworkArgs and GetLoadbalancerNetworkOutput values. -// You can construct a concrete instance of `GetLoadbalancerNetworkInput` via: -// -// GetLoadbalancerNetworkArgs{...} -type GetLoadbalancerNetworkInput interface { - pulumi.Input +// The client secret generated by the Identity Provider. +func (o GetDremioInstanceAuthenticationOauthOutput) ClientSecret() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationOauth) string { return v.ClientSecret }).(pulumi.StringOutput) +} - ToGetLoadbalancerNetworkOutput() GetLoadbalancerNetworkOutput - ToGetLoadbalancerNetworkOutputWithContext(context.Context) GetLoadbalancerNetworkOutput +// Maps fields from the JWT token to fields Dremio requires. +func (o GetDremioInstanceAuthenticationOauthOutput) JwtClaims() GetDremioInstanceAuthenticationOauthJwtClaimsOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationOauth) GetDremioInstanceAuthenticationOauthJwtClaims { + return v.JwtClaims + }).(GetDremioInstanceAuthenticationOauthJwtClaimsOutput) } -type GetLoadbalancerNetworkArgs struct { - // Openstack network ID. - NetworkId pulumi.StringInput `pulumi:"networkId"` - // The role defines how the load balancer is using the network. - Role pulumi.StringInput `pulumi:"role"` +// Any additional parameters the Identity Provider requires. +func (o GetDremioInstanceAuthenticationOauthOutput) Parameters() GetDremioInstanceAuthenticationOauthParameterArrayOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationOauth) []GetDremioInstanceAuthenticationOauthParameter { + return v.Parameters + }).(GetDremioInstanceAuthenticationOauthParameterArrayOutput) } -func (GetLoadbalancerNetworkArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerNetwork)(nil)).Elem() +// The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. +func (o GetDremioInstanceAuthenticationOauthOutput) RedirectUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationOauth) string { return v.RedirectUrl }).(pulumi.StringOutput) } -func (i GetLoadbalancerNetworkArgs) ToGetLoadbalancerNetworkOutput() GetLoadbalancerNetworkOutput { - return i.ToGetLoadbalancerNetworkOutputWithContext(context.Background()) +// A list of space-separated scopes. The `openid` scope is always required; other scopes can vary by provider. +func (o GetDremioInstanceAuthenticationOauthOutput) Scope() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationOauth) string { return v.Scope }).(pulumi.StringOutput) } -func (i GetLoadbalancerNetworkArgs) ToGetLoadbalancerNetworkOutputWithContext(ctx context.Context) GetLoadbalancerNetworkOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerNetworkOutput) +type GetDremioInstanceAuthenticationOauthJwtClaims struct { + // Mapped user name claim (e.g. email). + UserName string `pulumi:"userName"` } -// GetLoadbalancerNetworkArrayInput is an input type that accepts GetLoadbalancerNetworkArray and GetLoadbalancerNetworkArrayOutput values. -// You can construct a concrete instance of `GetLoadbalancerNetworkArrayInput` via: +// GetDremioInstanceAuthenticationOauthJwtClaimsInput is an input type that accepts GetDremioInstanceAuthenticationOauthJwtClaimsArgs and GetDremioInstanceAuthenticationOauthJwtClaimsOutput values. +// You can construct a concrete instance of `GetDremioInstanceAuthenticationOauthJwtClaimsInput` via: // -// GetLoadbalancerNetworkArray{ GetLoadbalancerNetworkArgs{...} } -type GetLoadbalancerNetworkArrayInput interface { +// GetDremioInstanceAuthenticationOauthJwtClaimsArgs{...} +type GetDremioInstanceAuthenticationOauthJwtClaimsInput interface { pulumi.Input - ToGetLoadbalancerNetworkArrayOutput() GetLoadbalancerNetworkArrayOutput - ToGetLoadbalancerNetworkArrayOutputWithContext(context.Context) GetLoadbalancerNetworkArrayOutput + ToGetDremioInstanceAuthenticationOauthJwtClaimsOutput() GetDremioInstanceAuthenticationOauthJwtClaimsOutput + ToGetDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(context.Context) GetDremioInstanceAuthenticationOauthJwtClaimsOutput } -type GetLoadbalancerNetworkArray []GetLoadbalancerNetworkInput +type GetDremioInstanceAuthenticationOauthJwtClaimsArgs struct { + // Mapped user name claim (e.g. email). + UserName pulumi.StringInput `pulumi:"userName"` +} -func (GetLoadbalancerNetworkArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLoadbalancerNetwork)(nil)).Elem() +func (GetDremioInstanceAuthenticationOauthJwtClaimsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationOauthJwtClaims)(nil)).Elem() } -func (i GetLoadbalancerNetworkArray) ToGetLoadbalancerNetworkArrayOutput() GetLoadbalancerNetworkArrayOutput { - return i.ToGetLoadbalancerNetworkArrayOutputWithContext(context.Background()) +func (i GetDremioInstanceAuthenticationOauthJwtClaimsArgs) ToGetDremioInstanceAuthenticationOauthJwtClaimsOutput() GetDremioInstanceAuthenticationOauthJwtClaimsOutput { + return i.ToGetDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(context.Background()) } -func (i GetLoadbalancerNetworkArray) ToGetLoadbalancerNetworkArrayOutputWithContext(ctx context.Context) GetLoadbalancerNetworkArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerNetworkArrayOutput) +func (i GetDremioInstanceAuthenticationOauthJwtClaimsArgs) ToGetDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthJwtClaimsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOauthJwtClaimsOutput) } -type GetLoadbalancerNetworkOutput struct{ *pulumi.OutputState } +type GetDremioInstanceAuthenticationOauthJwtClaimsOutput struct{ *pulumi.OutputState } -func (GetLoadbalancerNetworkOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerNetwork)(nil)).Elem() +func (GetDremioInstanceAuthenticationOauthJwtClaimsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationOauthJwtClaims)(nil)).Elem() } -func (o GetLoadbalancerNetworkOutput) ToGetLoadbalancerNetworkOutput() GetLoadbalancerNetworkOutput { +func (o GetDremioInstanceAuthenticationOauthJwtClaimsOutput) ToGetDremioInstanceAuthenticationOauthJwtClaimsOutput() GetDremioInstanceAuthenticationOauthJwtClaimsOutput { return o } -func (o GetLoadbalancerNetworkOutput) ToGetLoadbalancerNetworkOutputWithContext(ctx context.Context) GetLoadbalancerNetworkOutput { +func (o GetDremioInstanceAuthenticationOauthJwtClaimsOutput) ToGetDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthJwtClaimsOutput { return o } -// Openstack network ID. -func (o GetLoadbalancerNetworkOutput) NetworkId() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerNetwork) string { return v.NetworkId }).(pulumi.StringOutput) +// Mapped user name claim (e.g. email). +func (o GetDremioInstanceAuthenticationOauthJwtClaimsOutput) UserName() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationOauthJwtClaims) string { return v.UserName }).(pulumi.StringOutput) } -// The role defines how the load balancer is using the network. -func (o GetLoadbalancerNetworkOutput) Role() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerNetwork) string { return v.Role }).(pulumi.StringOutput) +type GetDremioInstanceAuthenticationOauthParameter struct { + // Parameter name. + Name string `pulumi:"name"` + // Parameter value. + Value string `pulumi:"value"` } -type GetLoadbalancerNetworkArrayOutput struct{ *pulumi.OutputState } +// GetDremioInstanceAuthenticationOauthParameterInput is an input type that accepts GetDremioInstanceAuthenticationOauthParameterArgs and GetDremioInstanceAuthenticationOauthParameterOutput values. +// You can construct a concrete instance of `GetDremioInstanceAuthenticationOauthParameterInput` via: +// +// GetDremioInstanceAuthenticationOauthParameterArgs{...} +type GetDremioInstanceAuthenticationOauthParameterInput interface { + pulumi.Input -func (GetLoadbalancerNetworkArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLoadbalancerNetwork)(nil)).Elem() + ToGetDremioInstanceAuthenticationOauthParameterOutput() GetDremioInstanceAuthenticationOauthParameterOutput + ToGetDremioInstanceAuthenticationOauthParameterOutputWithContext(context.Context) GetDremioInstanceAuthenticationOauthParameterOutput } -func (o GetLoadbalancerNetworkArrayOutput) ToGetLoadbalancerNetworkArrayOutput() GetLoadbalancerNetworkArrayOutput { - return o +type GetDremioInstanceAuthenticationOauthParameterArgs struct { + // Parameter name. + Name pulumi.StringInput `pulumi:"name"` + // Parameter value. + Value pulumi.StringInput `pulumi:"value"` } -func (o GetLoadbalancerNetworkArrayOutput) ToGetLoadbalancerNetworkArrayOutputWithContext(ctx context.Context) GetLoadbalancerNetworkArrayOutput { - return o +func (GetDremioInstanceAuthenticationOauthParameterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationOauthParameter)(nil)).Elem() } -func (o GetLoadbalancerNetworkArrayOutput) Index(i pulumi.IntInput) GetLoadbalancerNetworkOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLoadbalancerNetwork { - return vs[0].([]GetLoadbalancerNetwork)[vs[1].(int)] - }).(GetLoadbalancerNetworkOutput) +func (i GetDremioInstanceAuthenticationOauthParameterArgs) ToGetDremioInstanceAuthenticationOauthParameterOutput() GetDremioInstanceAuthenticationOauthParameterOutput { + return i.ToGetDremioInstanceAuthenticationOauthParameterOutputWithContext(context.Background()) } -type GetLoadbalancerOptions struct { - // Load Balancer is accessible only from an IP address in this range. - Acls []string `pulumi:"acls"` - // We offer Load Balancer metrics observability via ARGUS or external solutions. - Observability GetLoadbalancerOptionsObservability `pulumi:"observability"` - // If true, Load Balancer is accessible only via a private network IP address. - PrivateNetworkOnly bool `pulumi:"privateNetworkOnly"` +func (i GetDremioInstanceAuthenticationOauthParameterArgs) ToGetDremioInstanceAuthenticationOauthParameterOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthParameterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOauthParameterOutput) } -// GetLoadbalancerOptionsInput is an input type that accepts GetLoadbalancerOptionsArgs and GetLoadbalancerOptionsOutput values. -// You can construct a concrete instance of `GetLoadbalancerOptionsInput` via: +// GetDremioInstanceAuthenticationOauthParameterArrayInput is an input type that accepts GetDremioInstanceAuthenticationOauthParameterArray and GetDremioInstanceAuthenticationOauthParameterArrayOutput values. +// You can construct a concrete instance of `GetDremioInstanceAuthenticationOauthParameterArrayInput` via: // -// GetLoadbalancerOptionsArgs{...} -type GetLoadbalancerOptionsInput interface { +// GetDremioInstanceAuthenticationOauthParameterArray{ GetDremioInstanceAuthenticationOauthParameterArgs{...} } +type GetDremioInstanceAuthenticationOauthParameterArrayInput interface { pulumi.Input - ToGetLoadbalancerOptionsOutput() GetLoadbalancerOptionsOutput - ToGetLoadbalancerOptionsOutputWithContext(context.Context) GetLoadbalancerOptionsOutput + ToGetDremioInstanceAuthenticationOauthParameterArrayOutput() GetDremioInstanceAuthenticationOauthParameterArrayOutput + ToGetDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(context.Context) GetDremioInstanceAuthenticationOauthParameterArrayOutput } -type GetLoadbalancerOptionsArgs struct { - // Load Balancer is accessible only from an IP address in this range. - Acls pulumi.StringArrayInput `pulumi:"acls"` - // We offer Load Balancer metrics observability via ARGUS or external solutions. - Observability GetLoadbalancerOptionsObservabilityInput `pulumi:"observability"` - // If true, Load Balancer is accessible only via a private network IP address. - PrivateNetworkOnly pulumi.BoolInput `pulumi:"privateNetworkOnly"` -} +type GetDremioInstanceAuthenticationOauthParameterArray []GetDremioInstanceAuthenticationOauthParameterInput -func (GetLoadbalancerOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerOptions)(nil)).Elem() +func (GetDremioInstanceAuthenticationOauthParameterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetDremioInstanceAuthenticationOauthParameter)(nil)).Elem() } -func (i GetLoadbalancerOptionsArgs) ToGetLoadbalancerOptionsOutput() GetLoadbalancerOptionsOutput { - return i.ToGetLoadbalancerOptionsOutputWithContext(context.Background()) +func (i GetDremioInstanceAuthenticationOauthParameterArray) ToGetDremioInstanceAuthenticationOauthParameterArrayOutput() GetDremioInstanceAuthenticationOauthParameterArrayOutput { + return i.ToGetDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(context.Background()) } -func (i GetLoadbalancerOptionsArgs) ToGetLoadbalancerOptionsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerOptionsOutput) +func (i GetDremioInstanceAuthenticationOauthParameterArray) ToGetDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthParameterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOauthParameterArrayOutput) } -type GetLoadbalancerOptionsOutput struct{ *pulumi.OutputState } +type GetDremioInstanceAuthenticationOauthParameterOutput struct{ *pulumi.OutputState } -func (GetLoadbalancerOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerOptions)(nil)).Elem() +func (GetDremioInstanceAuthenticationOauthParameterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationOauthParameter)(nil)).Elem() } -func (o GetLoadbalancerOptionsOutput) ToGetLoadbalancerOptionsOutput() GetLoadbalancerOptionsOutput { +func (o GetDremioInstanceAuthenticationOauthParameterOutput) ToGetDremioInstanceAuthenticationOauthParameterOutput() GetDremioInstanceAuthenticationOauthParameterOutput { return o } -func (o GetLoadbalancerOptionsOutput) ToGetLoadbalancerOptionsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsOutput { +func (o GetDremioInstanceAuthenticationOauthParameterOutput) ToGetDremioInstanceAuthenticationOauthParameterOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthParameterOutput { return o } -// Load Balancer is accessible only from an IP address in this range. -func (o GetLoadbalancerOptionsOutput) Acls() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetLoadbalancerOptions) []string { return v.Acls }).(pulumi.StringArrayOutput) +// Parameter name. +func (o GetDremioInstanceAuthenticationOauthParameterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationOauthParameter) string { return v.Name }).(pulumi.StringOutput) } -// We offer Load Balancer metrics observability via ARGUS or external solutions. -func (o GetLoadbalancerOptionsOutput) Observability() GetLoadbalancerOptionsObservabilityOutput { - return o.ApplyT(func(v GetLoadbalancerOptions) GetLoadbalancerOptionsObservability { return v.Observability }).(GetLoadbalancerOptionsObservabilityOutput) +// Parameter value. +func (o GetDremioInstanceAuthenticationOauthParameterOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationOauthParameter) string { return v.Value }).(pulumi.StringOutput) } -// If true, Load Balancer is accessible only via a private network IP address. -func (o GetLoadbalancerOptionsOutput) PrivateNetworkOnly() pulumi.BoolOutput { - return o.ApplyT(func(v GetLoadbalancerOptions) bool { return v.PrivateNetworkOnly }).(pulumi.BoolOutput) +type GetDremioInstanceAuthenticationOauthParameterArrayOutput struct{ *pulumi.OutputState } + +func (GetDremioInstanceAuthenticationOauthParameterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetDremioInstanceAuthenticationOauthParameter)(nil)).Elem() } -type GetLoadbalancerOptionsObservability struct { - // Observability logs configuration. - Logs GetLoadbalancerOptionsObservabilityLogs `pulumi:"logs"` - // Observability metrics configuration. - Metrics GetLoadbalancerOptionsObservabilityMetrics `pulumi:"metrics"` +func (o GetDremioInstanceAuthenticationOauthParameterArrayOutput) ToGetDremioInstanceAuthenticationOauthParameterArrayOutput() GetDremioInstanceAuthenticationOauthParameterArrayOutput { + return o } -// GetLoadbalancerOptionsObservabilityInput is an input type that accepts GetLoadbalancerOptionsObservabilityArgs and GetLoadbalancerOptionsObservabilityOutput values. -// You can construct a concrete instance of `GetLoadbalancerOptionsObservabilityInput` via: -// -// GetLoadbalancerOptionsObservabilityArgs{...} -type GetLoadbalancerOptionsObservabilityInput interface { - pulumi.Input +func (o GetDremioInstanceAuthenticationOauthParameterArrayOutput) ToGetDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthParameterArrayOutput { + return o +} - ToGetLoadbalancerOptionsObservabilityOutput() GetLoadbalancerOptionsObservabilityOutput - ToGetLoadbalancerOptionsObservabilityOutputWithContext(context.Context) GetLoadbalancerOptionsObservabilityOutput +func (o GetDremioInstanceAuthenticationOauthParameterArrayOutput) Index(i pulumi.IntInput) GetDremioInstanceAuthenticationOauthParameterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetDremioInstanceAuthenticationOauthParameter { + return vs[0].([]GetDremioInstanceAuthenticationOauthParameter)[vs[1].(int)] + }).(GetDremioInstanceAuthenticationOauthParameterOutput) } -type GetLoadbalancerOptionsObservabilityArgs struct { - // Observability logs configuration. - Logs GetLoadbalancerOptionsObservabilityLogsInput `pulumi:"logs"` - // Observability metrics configuration. - Metrics GetLoadbalancerOptionsObservabilityMetricsInput `pulumi:"metrics"` +type GetDremioInstanceEndpoints struct { + // The arrow flight endpoint of the Dremio instance. + ArrowFlight string `pulumi:"arrowFlight"` + // The Apache Iceberg endpoint of the Dremio instance. + Catalog string `pulumi:"catalog"` + // The UI endpoint of the Dremio instance. + Ui string `pulumi:"ui"` } -func (GetLoadbalancerOptionsObservabilityArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerOptionsObservability)(nil)).Elem() +// GetDremioInstanceEndpointsInput is an input type that accepts GetDremioInstanceEndpointsArgs and GetDremioInstanceEndpointsOutput values. +// You can construct a concrete instance of `GetDremioInstanceEndpointsInput` via: +// +// GetDremioInstanceEndpointsArgs{...} +type GetDremioInstanceEndpointsInput interface { + pulumi.Input + + ToGetDremioInstanceEndpointsOutput() GetDremioInstanceEndpointsOutput + ToGetDremioInstanceEndpointsOutputWithContext(context.Context) GetDremioInstanceEndpointsOutput } -func (i GetLoadbalancerOptionsObservabilityArgs) ToGetLoadbalancerOptionsObservabilityOutput() GetLoadbalancerOptionsObservabilityOutput { - return i.ToGetLoadbalancerOptionsObservabilityOutputWithContext(context.Background()) +type GetDremioInstanceEndpointsArgs struct { + // The arrow flight endpoint of the Dremio instance. + ArrowFlight pulumi.StringInput `pulumi:"arrowFlight"` + // The Apache Iceberg endpoint of the Dremio instance. + Catalog pulumi.StringInput `pulumi:"catalog"` + // The UI endpoint of the Dremio instance. + Ui pulumi.StringInput `pulumi:"ui"` } -func (i GetLoadbalancerOptionsObservabilityArgs) ToGetLoadbalancerOptionsObservabilityOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerOptionsObservabilityOutput) +func (GetDremioInstanceEndpointsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceEndpoints)(nil)).Elem() } -type GetLoadbalancerOptionsObservabilityOutput struct{ *pulumi.OutputState } - -func (GetLoadbalancerOptionsObservabilityOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerOptionsObservability)(nil)).Elem() -} - -func (o GetLoadbalancerOptionsObservabilityOutput) ToGetLoadbalancerOptionsObservabilityOutput() GetLoadbalancerOptionsObservabilityOutput { - return o +func (i GetDremioInstanceEndpointsArgs) ToGetDremioInstanceEndpointsOutput() GetDremioInstanceEndpointsOutput { + return i.ToGetDremioInstanceEndpointsOutputWithContext(context.Background()) } -func (o GetLoadbalancerOptionsObservabilityOutput) ToGetLoadbalancerOptionsObservabilityOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityOutput { - return o +func (i GetDremioInstanceEndpointsArgs) ToGetDremioInstanceEndpointsOutputWithContext(ctx context.Context) GetDremioInstanceEndpointsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceEndpointsOutput) } -// Observability logs configuration. -func (o GetLoadbalancerOptionsObservabilityOutput) Logs() GetLoadbalancerOptionsObservabilityLogsOutput { - return o.ApplyT(func(v GetLoadbalancerOptionsObservability) GetLoadbalancerOptionsObservabilityLogs { return v.Logs }).(GetLoadbalancerOptionsObservabilityLogsOutput) -} +type GetDremioInstanceEndpointsOutput struct{ *pulumi.OutputState } -// Observability metrics configuration. -func (o GetLoadbalancerOptionsObservabilityOutput) Metrics() GetLoadbalancerOptionsObservabilityMetricsOutput { - return o.ApplyT(func(v GetLoadbalancerOptionsObservability) GetLoadbalancerOptionsObservabilityMetrics { - return v.Metrics - }).(GetLoadbalancerOptionsObservabilityMetricsOutput) +func (GetDremioInstanceEndpointsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceEndpoints)(nil)).Elem() } -type GetLoadbalancerOptionsObservabilityLogs struct { - // Credentials reference for logs. - CredentialsRef string `pulumi:"credentialsRef"` - // Credentials reference for logs. - PushUrl string `pulumi:"pushUrl"` +func (o GetDremioInstanceEndpointsOutput) ToGetDremioInstanceEndpointsOutput() GetDremioInstanceEndpointsOutput { + return o } -// GetLoadbalancerOptionsObservabilityLogsInput is an input type that accepts GetLoadbalancerOptionsObservabilityLogsArgs and GetLoadbalancerOptionsObservabilityLogsOutput values. -// You can construct a concrete instance of `GetLoadbalancerOptionsObservabilityLogsInput` via: -// -// GetLoadbalancerOptionsObservabilityLogsArgs{...} -type GetLoadbalancerOptionsObservabilityLogsInput interface { - pulumi.Input - - ToGetLoadbalancerOptionsObservabilityLogsOutput() GetLoadbalancerOptionsObservabilityLogsOutput - ToGetLoadbalancerOptionsObservabilityLogsOutputWithContext(context.Context) GetLoadbalancerOptionsObservabilityLogsOutput +func (o GetDremioInstanceEndpointsOutput) ToGetDremioInstanceEndpointsOutputWithContext(ctx context.Context) GetDremioInstanceEndpointsOutput { + return o } -type GetLoadbalancerOptionsObservabilityLogsArgs struct { - // Credentials reference for logs. - CredentialsRef pulumi.StringInput `pulumi:"credentialsRef"` - // Credentials reference for logs. - PushUrl pulumi.StringInput `pulumi:"pushUrl"` +// The arrow flight endpoint of the Dremio instance. +func (o GetDremioInstanceEndpointsOutput) ArrowFlight() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceEndpoints) string { return v.ArrowFlight }).(pulumi.StringOutput) } -func (GetLoadbalancerOptionsObservabilityLogsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerOptionsObservabilityLogs)(nil)).Elem() +// The Apache Iceberg endpoint of the Dremio instance. +func (o GetDremioInstanceEndpointsOutput) Catalog() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceEndpoints) string { return v.Catalog }).(pulumi.StringOutput) } -func (i GetLoadbalancerOptionsObservabilityLogsArgs) ToGetLoadbalancerOptionsObservabilityLogsOutput() GetLoadbalancerOptionsObservabilityLogsOutput { - return i.ToGetLoadbalancerOptionsObservabilityLogsOutputWithContext(context.Background()) +// The UI endpoint of the Dremio instance. +func (o GetDremioInstanceEndpointsOutput) Ui() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceEndpoints) string { return v.Ui }).(pulumi.StringOutput) } -func (i GetLoadbalancerOptionsObservabilityLogsArgs) ToGetLoadbalancerOptionsObservabilityLogsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityLogsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerOptionsObservabilityLogsOutput) +type GetEdgecloudInstancesInstance struct { + // The date and time the instance was created. + Created string `pulumi:"created"` + // Description of the instance. + Description string `pulumi:"description"` + // The display name of the instance. + DisplayName string `pulumi:"displayName"` + // Frontend URL for the Edge Cloud instance. + FrontendUrl string `pulumi:"frontendUrl"` + // The ID of the instance. + InstanceId string `pulumi:"instanceId"` + // The plan ID for the instance. + PlanId string `pulumi:"planId"` + // The region where the instance is located. + Region string `pulumi:"region"` + // The status of the instance. + Status string `pulumi:"status"` } -type GetLoadbalancerOptionsObservabilityLogsOutput struct{ *pulumi.OutputState } - -func (GetLoadbalancerOptionsObservabilityLogsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerOptionsObservabilityLogs)(nil)).Elem() -} +// GetEdgecloudInstancesInstanceInput is an input type that accepts GetEdgecloudInstancesInstanceArgs and GetEdgecloudInstancesInstanceOutput values. +// You can construct a concrete instance of `GetEdgecloudInstancesInstanceInput` via: +// +// GetEdgecloudInstancesInstanceArgs{...} +type GetEdgecloudInstancesInstanceInput interface { + pulumi.Input -func (o GetLoadbalancerOptionsObservabilityLogsOutput) ToGetLoadbalancerOptionsObservabilityLogsOutput() GetLoadbalancerOptionsObservabilityLogsOutput { - return o + ToGetEdgecloudInstancesInstanceOutput() GetEdgecloudInstancesInstanceOutput + ToGetEdgecloudInstancesInstanceOutputWithContext(context.Context) GetEdgecloudInstancesInstanceOutput } -func (o GetLoadbalancerOptionsObservabilityLogsOutput) ToGetLoadbalancerOptionsObservabilityLogsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityLogsOutput { - return o +type GetEdgecloudInstancesInstanceArgs struct { + // The date and time the instance was created. + Created pulumi.StringInput `pulumi:"created"` + // Description of the instance. + Description pulumi.StringInput `pulumi:"description"` + // The display name of the instance. + DisplayName pulumi.StringInput `pulumi:"displayName"` + // Frontend URL for the Edge Cloud instance. + FrontendUrl pulumi.StringInput `pulumi:"frontendUrl"` + // The ID of the instance. + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // The plan ID for the instance. + PlanId pulumi.StringInput `pulumi:"planId"` + // The region where the instance is located. + Region pulumi.StringInput `pulumi:"region"` + // The status of the instance. + Status pulumi.StringInput `pulumi:"status"` } -// Credentials reference for logs. -func (o GetLoadbalancerOptionsObservabilityLogsOutput) CredentialsRef() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerOptionsObservabilityLogs) string { return v.CredentialsRef }).(pulumi.StringOutput) +func (GetEdgecloudInstancesInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetEdgecloudInstancesInstance)(nil)).Elem() } -// Credentials reference for logs. -func (o GetLoadbalancerOptionsObservabilityLogsOutput) PushUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerOptionsObservabilityLogs) string { return v.PushUrl }).(pulumi.StringOutput) +func (i GetEdgecloudInstancesInstanceArgs) ToGetEdgecloudInstancesInstanceOutput() GetEdgecloudInstancesInstanceOutput { + return i.ToGetEdgecloudInstancesInstanceOutputWithContext(context.Background()) } -type GetLoadbalancerOptionsObservabilityMetrics struct { - // Credentials reference for metrics. - CredentialsRef string `pulumi:"credentialsRef"` - // Credentials reference for metrics. - PushUrl string `pulumi:"pushUrl"` +func (i GetEdgecloudInstancesInstanceArgs) ToGetEdgecloudInstancesInstanceOutputWithContext(ctx context.Context) GetEdgecloudInstancesInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEdgecloudInstancesInstanceOutput) } -// GetLoadbalancerOptionsObservabilityMetricsInput is an input type that accepts GetLoadbalancerOptionsObservabilityMetricsArgs and GetLoadbalancerOptionsObservabilityMetricsOutput values. -// You can construct a concrete instance of `GetLoadbalancerOptionsObservabilityMetricsInput` via: +// GetEdgecloudInstancesInstanceArrayInput is an input type that accepts GetEdgecloudInstancesInstanceArray and GetEdgecloudInstancesInstanceArrayOutput values. +// You can construct a concrete instance of `GetEdgecloudInstancesInstanceArrayInput` via: // -// GetLoadbalancerOptionsObservabilityMetricsArgs{...} -type GetLoadbalancerOptionsObservabilityMetricsInput interface { +// GetEdgecloudInstancesInstanceArray{ GetEdgecloudInstancesInstanceArgs{...} } +type GetEdgecloudInstancesInstanceArrayInput interface { pulumi.Input - ToGetLoadbalancerOptionsObservabilityMetricsOutput() GetLoadbalancerOptionsObservabilityMetricsOutput - ToGetLoadbalancerOptionsObservabilityMetricsOutputWithContext(context.Context) GetLoadbalancerOptionsObservabilityMetricsOutput + ToGetEdgecloudInstancesInstanceArrayOutput() GetEdgecloudInstancesInstanceArrayOutput + ToGetEdgecloudInstancesInstanceArrayOutputWithContext(context.Context) GetEdgecloudInstancesInstanceArrayOutput } -type GetLoadbalancerOptionsObservabilityMetricsArgs struct { - // Credentials reference for metrics. - CredentialsRef pulumi.StringInput `pulumi:"credentialsRef"` - // Credentials reference for metrics. - PushUrl pulumi.StringInput `pulumi:"pushUrl"` -} +type GetEdgecloudInstancesInstanceArray []GetEdgecloudInstancesInstanceInput -func (GetLoadbalancerOptionsObservabilityMetricsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerOptionsObservabilityMetrics)(nil)).Elem() +func (GetEdgecloudInstancesInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEdgecloudInstancesInstance)(nil)).Elem() } -func (i GetLoadbalancerOptionsObservabilityMetricsArgs) ToGetLoadbalancerOptionsObservabilityMetricsOutput() GetLoadbalancerOptionsObservabilityMetricsOutput { - return i.ToGetLoadbalancerOptionsObservabilityMetricsOutputWithContext(context.Background()) +func (i GetEdgecloudInstancesInstanceArray) ToGetEdgecloudInstancesInstanceArrayOutput() GetEdgecloudInstancesInstanceArrayOutput { + return i.ToGetEdgecloudInstancesInstanceArrayOutputWithContext(context.Background()) } -func (i GetLoadbalancerOptionsObservabilityMetricsArgs) ToGetLoadbalancerOptionsObservabilityMetricsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityMetricsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerOptionsObservabilityMetricsOutput) +func (i GetEdgecloudInstancesInstanceArray) ToGetEdgecloudInstancesInstanceArrayOutputWithContext(ctx context.Context) GetEdgecloudInstancesInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEdgecloudInstancesInstanceArrayOutput) } -type GetLoadbalancerOptionsObservabilityMetricsOutput struct{ *pulumi.OutputState } +type GetEdgecloudInstancesInstanceOutput struct{ *pulumi.OutputState } -func (GetLoadbalancerOptionsObservabilityMetricsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerOptionsObservabilityMetrics)(nil)).Elem() +func (GetEdgecloudInstancesInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetEdgecloudInstancesInstance)(nil)).Elem() } -func (o GetLoadbalancerOptionsObservabilityMetricsOutput) ToGetLoadbalancerOptionsObservabilityMetricsOutput() GetLoadbalancerOptionsObservabilityMetricsOutput { +func (o GetEdgecloudInstancesInstanceOutput) ToGetEdgecloudInstancesInstanceOutput() GetEdgecloudInstancesInstanceOutput { return o } -func (o GetLoadbalancerOptionsObservabilityMetricsOutput) ToGetLoadbalancerOptionsObservabilityMetricsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityMetricsOutput { +func (o GetEdgecloudInstancesInstanceOutput) ToGetEdgecloudInstancesInstanceOutputWithContext(ctx context.Context) GetEdgecloudInstancesInstanceOutput { return o } -// Credentials reference for metrics. -func (o GetLoadbalancerOptionsObservabilityMetricsOutput) CredentialsRef() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerOptionsObservabilityMetrics) string { return v.CredentialsRef }).(pulumi.StringOutput) +// The date and time the instance was created. +func (o GetEdgecloudInstancesInstanceOutput) Created() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.Created }).(pulumi.StringOutput) } -// Credentials reference for metrics. -func (o GetLoadbalancerOptionsObservabilityMetricsOutput) PushUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerOptionsObservabilityMetrics) string { return v.PushUrl }).(pulumi.StringOutput) +// Description of the instance. +func (o GetEdgecloudInstancesInstanceOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.Description }).(pulumi.StringOutput) } -type GetLoadbalancerTargetPool struct { - ActiveHealthCheck GetLoadbalancerTargetPoolActiveHealthCheck `pulumi:"activeHealthCheck"` - // Target pool name. - Name string `pulumi:"name"` - // Here you can setup various session persistence options, so far only "`useSourceIpAddress`" is supported. - SessionPersistence GetLoadbalancerTargetPoolSessionPersistence `pulumi:"sessionPersistence"` - // Identical port number where each target listens for traffic. - TargetPort int `pulumi:"targetPort"` - // List of all targets which will be used in the pool. Limited to 1000. - Targets []GetLoadbalancerTargetPoolTarget `pulumi:"targets"` +// The display name of the instance. +func (o GetEdgecloudInstancesInstanceOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.DisplayName }).(pulumi.StringOutput) } -// GetLoadbalancerTargetPoolInput is an input type that accepts GetLoadbalancerTargetPoolArgs and GetLoadbalancerTargetPoolOutput values. -// You can construct a concrete instance of `GetLoadbalancerTargetPoolInput` via: -// -// GetLoadbalancerTargetPoolArgs{...} -type GetLoadbalancerTargetPoolInput interface { - pulumi.Input - - ToGetLoadbalancerTargetPoolOutput() GetLoadbalancerTargetPoolOutput - ToGetLoadbalancerTargetPoolOutputWithContext(context.Context) GetLoadbalancerTargetPoolOutput +// Frontend URL for the Edge Cloud instance. +func (o GetEdgecloudInstancesInstanceOutput) FrontendUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.FrontendUrl }).(pulumi.StringOutput) } -type GetLoadbalancerTargetPoolArgs struct { - ActiveHealthCheck GetLoadbalancerTargetPoolActiveHealthCheckInput `pulumi:"activeHealthCheck"` - // Target pool name. - Name pulumi.StringInput `pulumi:"name"` - // Here you can setup various session persistence options, so far only "`useSourceIpAddress`" is supported. - SessionPersistence GetLoadbalancerTargetPoolSessionPersistenceInput `pulumi:"sessionPersistence"` - // Identical port number where each target listens for traffic. - TargetPort pulumi.IntInput `pulumi:"targetPort"` - // List of all targets which will be used in the pool. Limited to 1000. - Targets GetLoadbalancerTargetPoolTargetArrayInput `pulumi:"targets"` +// The ID of the instance. +func (o GetEdgecloudInstancesInstanceOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.InstanceId }).(pulumi.StringOutput) } -func (GetLoadbalancerTargetPoolArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerTargetPool)(nil)).Elem() +// The plan ID for the instance. +func (o GetEdgecloudInstancesInstanceOutput) PlanId() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.PlanId }).(pulumi.StringOutput) } -func (i GetLoadbalancerTargetPoolArgs) ToGetLoadbalancerTargetPoolOutput() GetLoadbalancerTargetPoolOutput { - return i.ToGetLoadbalancerTargetPoolOutputWithContext(context.Background()) +// The region where the instance is located. +func (o GetEdgecloudInstancesInstanceOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.Region }).(pulumi.StringOutput) } -func (i GetLoadbalancerTargetPoolArgs) ToGetLoadbalancerTargetPoolOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolOutput) +// The status of the instance. +func (o GetEdgecloudInstancesInstanceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudInstancesInstance) string { return v.Status }).(pulumi.StringOutput) } -// GetLoadbalancerTargetPoolArrayInput is an input type that accepts GetLoadbalancerTargetPoolArray and GetLoadbalancerTargetPoolArrayOutput values. -// You can construct a concrete instance of `GetLoadbalancerTargetPoolArrayInput` via: -// -// GetLoadbalancerTargetPoolArray{ GetLoadbalancerTargetPoolArgs{...} } -type GetLoadbalancerTargetPoolArrayInput interface { - pulumi.Input +type GetEdgecloudInstancesInstanceArrayOutput struct{ *pulumi.OutputState } - ToGetLoadbalancerTargetPoolArrayOutput() GetLoadbalancerTargetPoolArrayOutput - ToGetLoadbalancerTargetPoolArrayOutputWithContext(context.Context) GetLoadbalancerTargetPoolArrayOutput +func (GetEdgecloudInstancesInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEdgecloudInstancesInstance)(nil)).Elem() } -type GetLoadbalancerTargetPoolArray []GetLoadbalancerTargetPoolInput - -func (GetLoadbalancerTargetPoolArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLoadbalancerTargetPool)(nil)).Elem() +func (o GetEdgecloudInstancesInstanceArrayOutput) ToGetEdgecloudInstancesInstanceArrayOutput() GetEdgecloudInstancesInstanceArrayOutput { + return o } -func (i GetLoadbalancerTargetPoolArray) ToGetLoadbalancerTargetPoolArrayOutput() GetLoadbalancerTargetPoolArrayOutput { - return i.ToGetLoadbalancerTargetPoolArrayOutputWithContext(context.Background()) -} - -func (i GetLoadbalancerTargetPoolArray) ToGetLoadbalancerTargetPoolArrayOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolArrayOutput) +func (o GetEdgecloudInstancesInstanceArrayOutput) ToGetEdgecloudInstancesInstanceArrayOutputWithContext(ctx context.Context) GetEdgecloudInstancesInstanceArrayOutput { + return o } -type GetLoadbalancerTargetPoolOutput struct{ *pulumi.OutputState } - -func (GetLoadbalancerTargetPoolOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerTargetPool)(nil)).Elem() +func (o GetEdgecloudInstancesInstanceArrayOutput) Index(i pulumi.IntInput) GetEdgecloudInstancesInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetEdgecloudInstancesInstance { + return vs[0].([]GetEdgecloudInstancesInstance)[vs[1].(int)] + }).(GetEdgecloudInstancesInstanceOutput) } -func (o GetLoadbalancerTargetPoolOutput) ToGetLoadbalancerTargetPoolOutput() GetLoadbalancerTargetPoolOutput { - return o +type GetEdgecloudPlansPlan struct { + // Description of the plan. + Description string `pulumi:"description"` + // The ID of the plan. + Id string `pulumi:"id"` + // Maximum number of Edge Cloud hosts that can be used. + MaxEdgeHosts int `pulumi:"maxEdgeHosts"` + // Minimum number of Edge Cloud hosts charged. + MinEdgeHosts int `pulumi:"minEdgeHosts"` + // The name of the plan. + Name string `pulumi:"name"` } -func (o GetLoadbalancerTargetPoolOutput) ToGetLoadbalancerTargetPoolOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolOutput { - return o -} +// GetEdgecloudPlansPlanInput is an input type that accepts GetEdgecloudPlansPlanArgs and GetEdgecloudPlansPlanOutput values. +// You can construct a concrete instance of `GetEdgecloudPlansPlanInput` via: +// +// GetEdgecloudPlansPlanArgs{...} +type GetEdgecloudPlansPlanInput interface { + pulumi.Input -func (o GetLoadbalancerTargetPoolOutput) ActiveHealthCheck() GetLoadbalancerTargetPoolActiveHealthCheckOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPool) GetLoadbalancerTargetPoolActiveHealthCheck { - return v.ActiveHealthCheck - }).(GetLoadbalancerTargetPoolActiveHealthCheckOutput) + ToGetEdgecloudPlansPlanOutput() GetEdgecloudPlansPlanOutput + ToGetEdgecloudPlansPlanOutputWithContext(context.Context) GetEdgecloudPlansPlanOutput } -// Target pool name. -func (o GetLoadbalancerTargetPoolOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPool) string { return v.Name }).(pulumi.StringOutput) +type GetEdgecloudPlansPlanArgs struct { + // Description of the plan. + Description pulumi.StringInput `pulumi:"description"` + // The ID of the plan. + Id pulumi.StringInput `pulumi:"id"` + // Maximum number of Edge Cloud hosts that can be used. + MaxEdgeHosts pulumi.IntInput `pulumi:"maxEdgeHosts"` + // Minimum number of Edge Cloud hosts charged. + MinEdgeHosts pulumi.IntInput `pulumi:"minEdgeHosts"` + // The name of the plan. + Name pulumi.StringInput `pulumi:"name"` } -// Here you can setup various session persistence options, so far only "`useSourceIpAddress`" is supported. -func (o GetLoadbalancerTargetPoolOutput) SessionPersistence() GetLoadbalancerTargetPoolSessionPersistenceOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPool) GetLoadbalancerTargetPoolSessionPersistence { - return v.SessionPersistence - }).(GetLoadbalancerTargetPoolSessionPersistenceOutput) +func (GetEdgecloudPlansPlanArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetEdgecloudPlansPlan)(nil)).Elem() } -// Identical port number where each target listens for traffic. -func (o GetLoadbalancerTargetPoolOutput) TargetPort() pulumi.IntOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPool) int { return v.TargetPort }).(pulumi.IntOutput) +func (i GetEdgecloudPlansPlanArgs) ToGetEdgecloudPlansPlanOutput() GetEdgecloudPlansPlanOutput { + return i.ToGetEdgecloudPlansPlanOutputWithContext(context.Background()) } -// List of all targets which will be used in the pool. Limited to 1000. -func (o GetLoadbalancerTargetPoolOutput) Targets() GetLoadbalancerTargetPoolTargetArrayOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPool) []GetLoadbalancerTargetPoolTarget { return v.Targets }).(GetLoadbalancerTargetPoolTargetArrayOutput) +func (i GetEdgecloudPlansPlanArgs) ToGetEdgecloudPlansPlanOutputWithContext(ctx context.Context) GetEdgecloudPlansPlanOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEdgecloudPlansPlanOutput) } -type GetLoadbalancerTargetPoolArrayOutput struct{ *pulumi.OutputState } +// GetEdgecloudPlansPlanArrayInput is an input type that accepts GetEdgecloudPlansPlanArray and GetEdgecloudPlansPlanArrayOutput values. +// You can construct a concrete instance of `GetEdgecloudPlansPlanArrayInput` via: +// +// GetEdgecloudPlansPlanArray{ GetEdgecloudPlansPlanArgs{...} } +type GetEdgecloudPlansPlanArrayInput interface { + pulumi.Input -func (GetLoadbalancerTargetPoolArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLoadbalancerTargetPool)(nil)).Elem() + ToGetEdgecloudPlansPlanArrayOutput() GetEdgecloudPlansPlanArrayOutput + ToGetEdgecloudPlansPlanArrayOutputWithContext(context.Context) GetEdgecloudPlansPlanArrayOutput } -func (o GetLoadbalancerTargetPoolArrayOutput) ToGetLoadbalancerTargetPoolArrayOutput() GetLoadbalancerTargetPoolArrayOutput { - return o -} +type GetEdgecloudPlansPlanArray []GetEdgecloudPlansPlanInput -func (o GetLoadbalancerTargetPoolArrayOutput) ToGetLoadbalancerTargetPoolArrayOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolArrayOutput { - return o +func (GetEdgecloudPlansPlanArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEdgecloudPlansPlan)(nil)).Elem() } -func (o GetLoadbalancerTargetPoolArrayOutput) Index(i pulumi.IntInput) GetLoadbalancerTargetPoolOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLoadbalancerTargetPool { - return vs[0].([]GetLoadbalancerTargetPool)[vs[1].(int)] - }).(GetLoadbalancerTargetPoolOutput) +func (i GetEdgecloudPlansPlanArray) ToGetEdgecloudPlansPlanArrayOutput() GetEdgecloudPlansPlanArrayOutput { + return i.ToGetEdgecloudPlansPlanArrayOutputWithContext(context.Background()) } -type GetLoadbalancerTargetPoolActiveHealthCheck struct { - // Healthy threshold of the health checking. - HealthyThreshold int `pulumi:"healthyThreshold"` - // Interval duration of health checking in seconds. - Interval string `pulumi:"interval"` - // Interval duration threshold of the health checking in seconds. - IntervalJitter string `pulumi:"intervalJitter"` - // Active health checking timeout duration in seconds. - Timeout string `pulumi:"timeout"` - // Unhealthy threshold of the health checking. - UnhealthyThreshold int `pulumi:"unhealthyThreshold"` +func (i GetEdgecloudPlansPlanArray) ToGetEdgecloudPlansPlanArrayOutputWithContext(ctx context.Context) GetEdgecloudPlansPlanArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetEdgecloudPlansPlanArrayOutput) } -// GetLoadbalancerTargetPoolActiveHealthCheckInput is an input type that accepts GetLoadbalancerTargetPoolActiveHealthCheckArgs and GetLoadbalancerTargetPoolActiveHealthCheckOutput values. -// You can construct a concrete instance of `GetLoadbalancerTargetPoolActiveHealthCheckInput` via: -// -// GetLoadbalancerTargetPoolActiveHealthCheckArgs{...} -type GetLoadbalancerTargetPoolActiveHealthCheckInput interface { - pulumi.Input +type GetEdgecloudPlansPlanOutput struct{ *pulumi.OutputState } - ToGetLoadbalancerTargetPoolActiveHealthCheckOutput() GetLoadbalancerTargetPoolActiveHealthCheckOutput - ToGetLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(context.Context) GetLoadbalancerTargetPoolActiveHealthCheckOutput +func (GetEdgecloudPlansPlanOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetEdgecloudPlansPlan)(nil)).Elem() } -type GetLoadbalancerTargetPoolActiveHealthCheckArgs struct { - // Healthy threshold of the health checking. - HealthyThreshold pulumi.IntInput `pulumi:"healthyThreshold"` - // Interval duration of health checking in seconds. - Interval pulumi.StringInput `pulumi:"interval"` - // Interval duration threshold of the health checking in seconds. - IntervalJitter pulumi.StringInput `pulumi:"intervalJitter"` - // Active health checking timeout duration in seconds. - Timeout pulumi.StringInput `pulumi:"timeout"` - // Unhealthy threshold of the health checking. - UnhealthyThreshold pulumi.IntInput `pulumi:"unhealthyThreshold"` +func (o GetEdgecloudPlansPlanOutput) ToGetEdgecloudPlansPlanOutput() GetEdgecloudPlansPlanOutput { + return o } -func (GetLoadbalancerTargetPoolActiveHealthCheckArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerTargetPoolActiveHealthCheck)(nil)).Elem() +func (o GetEdgecloudPlansPlanOutput) ToGetEdgecloudPlansPlanOutputWithContext(ctx context.Context) GetEdgecloudPlansPlanOutput { + return o } -func (i GetLoadbalancerTargetPoolActiveHealthCheckArgs) ToGetLoadbalancerTargetPoolActiveHealthCheckOutput() GetLoadbalancerTargetPoolActiveHealthCheckOutput { - return i.ToGetLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(context.Background()) +// Description of the plan. +func (o GetEdgecloudPlansPlanOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudPlansPlan) string { return v.Description }).(pulumi.StringOutput) } -func (i GetLoadbalancerTargetPoolActiveHealthCheckArgs) ToGetLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolActiveHealthCheckOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolActiveHealthCheckOutput) +// The ID of the plan. +func (o GetEdgecloudPlansPlanOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudPlansPlan) string { return v.Id }).(pulumi.StringOutput) } -type GetLoadbalancerTargetPoolActiveHealthCheckOutput struct{ *pulumi.OutputState } - -func (GetLoadbalancerTargetPoolActiveHealthCheckOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerTargetPoolActiveHealthCheck)(nil)).Elem() +// Maximum number of Edge Cloud hosts that can be used. +func (o GetEdgecloudPlansPlanOutput) MaxEdgeHosts() pulumi.IntOutput { + return o.ApplyT(func(v GetEdgecloudPlansPlan) int { return v.MaxEdgeHosts }).(pulumi.IntOutput) } -func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) ToGetLoadbalancerTargetPoolActiveHealthCheckOutput() GetLoadbalancerTargetPoolActiveHealthCheckOutput { - return o +// Minimum number of Edge Cloud hosts charged. +func (o GetEdgecloudPlansPlanOutput) MinEdgeHosts() pulumi.IntOutput { + return o.ApplyT(func(v GetEdgecloudPlansPlan) int { return v.MinEdgeHosts }).(pulumi.IntOutput) } -func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) ToGetLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolActiveHealthCheckOutput { - return o +// The name of the plan. +func (o GetEdgecloudPlansPlanOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetEdgecloudPlansPlan) string { return v.Name }).(pulumi.StringOutput) } -// Healthy threshold of the health checking. -func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) HealthyThreshold() pulumi.IntOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPoolActiveHealthCheck) int { return v.HealthyThreshold }).(pulumi.IntOutput) -} +type GetEdgecloudPlansPlanArrayOutput struct{ *pulumi.OutputState } -// Interval duration of health checking in seconds. -func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) Interval() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPoolActiveHealthCheck) string { return v.Interval }).(pulumi.StringOutput) +func (GetEdgecloudPlansPlanArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetEdgecloudPlansPlan)(nil)).Elem() } -// Interval duration threshold of the health checking in seconds. -func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) IntervalJitter() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPoolActiveHealthCheck) string { return v.IntervalJitter }).(pulumi.StringOutput) +func (o GetEdgecloudPlansPlanArrayOutput) ToGetEdgecloudPlansPlanArrayOutput() GetEdgecloudPlansPlanArrayOutput { + return o } -// Active health checking timeout duration in seconds. -func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) Timeout() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPoolActiveHealthCheck) string { return v.Timeout }).(pulumi.StringOutput) +func (o GetEdgecloudPlansPlanArrayOutput) ToGetEdgecloudPlansPlanArrayOutputWithContext(ctx context.Context) GetEdgecloudPlansPlanArrayOutput { + return o } -// Unhealthy threshold of the health checking. -func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) UnhealthyThreshold() pulumi.IntOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPoolActiveHealthCheck) int { return v.UnhealthyThreshold }).(pulumi.IntOutput) +func (o GetEdgecloudPlansPlanArrayOutput) Index(i pulumi.IntInput) GetEdgecloudPlansPlanOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetEdgecloudPlansPlan { + return vs[0].([]GetEdgecloudPlansPlan)[vs[1].(int)] + }).(GetEdgecloudPlansPlanOutput) } -type GetLoadbalancerTargetPoolSessionPersistence struct { - // If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev. - UseSourceIpAddress bool `pulumi:"useSourceIpAddress"` +type GetImageChecksum struct { + // Algorithm for the checksum of the image data. + Algorithm string `pulumi:"algorithm"` + // Hexdigest of the checksum of the image data. + Digest string `pulumi:"digest"` } -// GetLoadbalancerTargetPoolSessionPersistenceInput is an input type that accepts GetLoadbalancerTargetPoolSessionPersistenceArgs and GetLoadbalancerTargetPoolSessionPersistenceOutput values. -// You can construct a concrete instance of `GetLoadbalancerTargetPoolSessionPersistenceInput` via: +// GetImageChecksumInput is an input type that accepts GetImageChecksumArgs and GetImageChecksumOutput values. +// You can construct a concrete instance of `GetImageChecksumInput` via: // -// GetLoadbalancerTargetPoolSessionPersistenceArgs{...} -type GetLoadbalancerTargetPoolSessionPersistenceInput interface { +// GetImageChecksumArgs{...} +type GetImageChecksumInput interface { pulumi.Input - ToGetLoadbalancerTargetPoolSessionPersistenceOutput() GetLoadbalancerTargetPoolSessionPersistenceOutput - ToGetLoadbalancerTargetPoolSessionPersistenceOutputWithContext(context.Context) GetLoadbalancerTargetPoolSessionPersistenceOutput + ToGetImageChecksumOutput() GetImageChecksumOutput + ToGetImageChecksumOutputWithContext(context.Context) GetImageChecksumOutput } -type GetLoadbalancerTargetPoolSessionPersistenceArgs struct { - // If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev. - UseSourceIpAddress pulumi.BoolInput `pulumi:"useSourceIpAddress"` +type GetImageChecksumArgs struct { + // Algorithm for the checksum of the image data. + Algorithm pulumi.StringInput `pulumi:"algorithm"` + // Hexdigest of the checksum of the image data. + Digest pulumi.StringInput `pulumi:"digest"` } -func (GetLoadbalancerTargetPoolSessionPersistenceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerTargetPoolSessionPersistence)(nil)).Elem() +func (GetImageChecksumArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageChecksum)(nil)).Elem() } -func (i GetLoadbalancerTargetPoolSessionPersistenceArgs) ToGetLoadbalancerTargetPoolSessionPersistenceOutput() GetLoadbalancerTargetPoolSessionPersistenceOutput { - return i.ToGetLoadbalancerTargetPoolSessionPersistenceOutputWithContext(context.Background()) +func (i GetImageChecksumArgs) ToGetImageChecksumOutput() GetImageChecksumOutput { + return i.ToGetImageChecksumOutputWithContext(context.Background()) } -func (i GetLoadbalancerTargetPoolSessionPersistenceArgs) ToGetLoadbalancerTargetPoolSessionPersistenceOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolSessionPersistenceOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolSessionPersistenceOutput) +func (i GetImageChecksumArgs) ToGetImageChecksumOutputWithContext(ctx context.Context) GetImageChecksumOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetImageChecksumOutput) } -type GetLoadbalancerTargetPoolSessionPersistenceOutput struct{ *pulumi.OutputState } +type GetImageChecksumOutput struct{ *pulumi.OutputState } -func (GetLoadbalancerTargetPoolSessionPersistenceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerTargetPoolSessionPersistence)(nil)).Elem() +func (GetImageChecksumOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageChecksum)(nil)).Elem() } -func (o GetLoadbalancerTargetPoolSessionPersistenceOutput) ToGetLoadbalancerTargetPoolSessionPersistenceOutput() GetLoadbalancerTargetPoolSessionPersistenceOutput { +func (o GetImageChecksumOutput) ToGetImageChecksumOutput() GetImageChecksumOutput { return o } -func (o GetLoadbalancerTargetPoolSessionPersistenceOutput) ToGetLoadbalancerTargetPoolSessionPersistenceOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolSessionPersistenceOutput { +func (o GetImageChecksumOutput) ToGetImageChecksumOutputWithContext(ctx context.Context) GetImageChecksumOutput { return o } -// If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev. -func (o GetLoadbalancerTargetPoolSessionPersistenceOutput) UseSourceIpAddress() pulumi.BoolOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPoolSessionPersistence) bool { return v.UseSourceIpAddress }).(pulumi.BoolOutput) +// Algorithm for the checksum of the image data. +func (o GetImageChecksumOutput) Algorithm() pulumi.StringOutput { + return o.ApplyT(func(v GetImageChecksum) string { return v.Algorithm }).(pulumi.StringOutput) } -type GetLoadbalancerTargetPoolTarget struct { - // Target display name - DisplayName string `pulumi:"displayName"` - // Target IP - Ip string `pulumi:"ip"` -} +// Hexdigest of the checksum of the image data. +func (o GetImageChecksumOutput) Digest() pulumi.StringOutput { + return o.ApplyT(func(v GetImageChecksum) string { return v.Digest }).(pulumi.StringOutput) +} -// GetLoadbalancerTargetPoolTargetInput is an input type that accepts GetLoadbalancerTargetPoolTargetArgs and GetLoadbalancerTargetPoolTargetOutput values. -// You can construct a concrete instance of `GetLoadbalancerTargetPoolTargetInput` via: +type GetImageConfig struct { + // Enables the BIOS bootmenu. + BootMenu bool `pulumi:"bootMenu"` + // Sets CDROM bus controller type. + CdromBus string `pulumi:"cdromBus"` + // Sets Disk bus controller type. + DiskBus string `pulumi:"diskBus"` + // Sets virtual network interface model. + NicModel string `pulumi:"nicModel"` + // Enables operating system specific optimizations. + OperatingSystem string `pulumi:"operatingSystem"` + // Operating system distribution. + OperatingSystemDistro string `pulumi:"operatingSystemDistro"` + // Version of the operating system. + OperatingSystemVersion string `pulumi:"operatingSystemVersion"` + // Sets the device bus when the image is used as a rescue image. + RescueBus string `pulumi:"rescueBus"` + // Sets the device when the image is used as a rescue image. + RescueDevice string `pulumi:"rescueDevice"` + // Enables Secure Boot. + SecureBoot bool `pulumi:"secureBoot"` + // Enables UEFI boot. + Uefi bool `pulumi:"uefi"` + // Sets Graphic device model. + VideoModel string `pulumi:"videoModel"` + // Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. + VirtioScsi bool `pulumi:"virtioScsi"` +} + +// GetImageConfigInput is an input type that accepts GetImageConfigArgs and GetImageConfigOutput values. +// You can construct a concrete instance of `GetImageConfigInput` via: // -// GetLoadbalancerTargetPoolTargetArgs{...} -type GetLoadbalancerTargetPoolTargetInput interface { +// GetImageConfigArgs{...} +type GetImageConfigInput interface { pulumi.Input - ToGetLoadbalancerTargetPoolTargetOutput() GetLoadbalancerTargetPoolTargetOutput - ToGetLoadbalancerTargetPoolTargetOutputWithContext(context.Context) GetLoadbalancerTargetPoolTargetOutput + ToGetImageConfigOutput() GetImageConfigOutput + ToGetImageConfigOutputWithContext(context.Context) GetImageConfigOutput } -type GetLoadbalancerTargetPoolTargetArgs struct { - // Target display name - DisplayName pulumi.StringInput `pulumi:"displayName"` - // Target IP - Ip pulumi.StringInput `pulumi:"ip"` +type GetImageConfigArgs struct { + // Enables the BIOS bootmenu. + BootMenu pulumi.BoolInput `pulumi:"bootMenu"` + // Sets CDROM bus controller type. + CdromBus pulumi.StringInput `pulumi:"cdromBus"` + // Sets Disk bus controller type. + DiskBus pulumi.StringInput `pulumi:"diskBus"` + // Sets virtual network interface model. + NicModel pulumi.StringInput `pulumi:"nicModel"` + // Enables operating system specific optimizations. + OperatingSystem pulumi.StringInput `pulumi:"operatingSystem"` + // Operating system distribution. + OperatingSystemDistro pulumi.StringInput `pulumi:"operatingSystemDistro"` + // Version of the operating system. + OperatingSystemVersion pulumi.StringInput `pulumi:"operatingSystemVersion"` + // Sets the device bus when the image is used as a rescue image. + RescueBus pulumi.StringInput `pulumi:"rescueBus"` + // Sets the device when the image is used as a rescue image. + RescueDevice pulumi.StringInput `pulumi:"rescueDevice"` + // Enables Secure Boot. + SecureBoot pulumi.BoolInput `pulumi:"secureBoot"` + // Enables UEFI boot. + Uefi pulumi.BoolInput `pulumi:"uefi"` + // Sets Graphic device model. + VideoModel pulumi.StringInput `pulumi:"videoModel"` + // Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. + VirtioScsi pulumi.BoolInput `pulumi:"virtioScsi"` } -func (GetLoadbalancerTargetPoolTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerTargetPoolTarget)(nil)).Elem() +func (GetImageConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageConfig)(nil)).Elem() } -func (i GetLoadbalancerTargetPoolTargetArgs) ToGetLoadbalancerTargetPoolTargetOutput() GetLoadbalancerTargetPoolTargetOutput { - return i.ToGetLoadbalancerTargetPoolTargetOutputWithContext(context.Background()) +func (i GetImageConfigArgs) ToGetImageConfigOutput() GetImageConfigOutput { + return i.ToGetImageConfigOutputWithContext(context.Background()) } -func (i GetLoadbalancerTargetPoolTargetArgs) ToGetLoadbalancerTargetPoolTargetOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolTargetOutput) +func (i GetImageConfigArgs) ToGetImageConfigOutputWithContext(ctx context.Context) GetImageConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetImageConfigOutput) } -// GetLoadbalancerTargetPoolTargetArrayInput is an input type that accepts GetLoadbalancerTargetPoolTargetArray and GetLoadbalancerTargetPoolTargetArrayOutput values. -// You can construct a concrete instance of `GetLoadbalancerTargetPoolTargetArrayInput` via: -// -// GetLoadbalancerTargetPoolTargetArray{ GetLoadbalancerTargetPoolTargetArgs{...} } -type GetLoadbalancerTargetPoolTargetArrayInput interface { - pulumi.Input +type GetImageConfigOutput struct{ *pulumi.OutputState } - ToGetLoadbalancerTargetPoolTargetArrayOutput() GetLoadbalancerTargetPoolTargetArrayOutput - ToGetLoadbalancerTargetPoolTargetArrayOutputWithContext(context.Context) GetLoadbalancerTargetPoolTargetArrayOutput +func (GetImageConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageConfig)(nil)).Elem() } -type GetLoadbalancerTargetPoolTargetArray []GetLoadbalancerTargetPoolTargetInput +func (o GetImageConfigOutput) ToGetImageConfigOutput() GetImageConfigOutput { + return o +} -func (GetLoadbalancerTargetPoolTargetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLoadbalancerTargetPoolTarget)(nil)).Elem() +func (o GetImageConfigOutput) ToGetImageConfigOutputWithContext(ctx context.Context) GetImageConfigOutput { + return o } -func (i GetLoadbalancerTargetPoolTargetArray) ToGetLoadbalancerTargetPoolTargetArrayOutput() GetLoadbalancerTargetPoolTargetArrayOutput { - return i.ToGetLoadbalancerTargetPoolTargetArrayOutputWithContext(context.Background()) +// Enables the BIOS bootmenu. +func (o GetImageConfigOutput) BootMenu() pulumi.BoolOutput { + return o.ApplyT(func(v GetImageConfig) bool { return v.BootMenu }).(pulumi.BoolOutput) } -func (i GetLoadbalancerTargetPoolTargetArray) ToGetLoadbalancerTargetPoolTargetArrayOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolTargetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolTargetArrayOutput) +// Sets CDROM bus controller type. +func (o GetImageConfigOutput) CdromBus() pulumi.StringOutput { + return o.ApplyT(func(v GetImageConfig) string { return v.CdromBus }).(pulumi.StringOutput) } -type GetLoadbalancerTargetPoolTargetOutput struct{ *pulumi.OutputState } +// Sets Disk bus controller type. +func (o GetImageConfigOutput) DiskBus() pulumi.StringOutput { + return o.ApplyT(func(v GetImageConfig) string { return v.DiskBus }).(pulumi.StringOutput) +} -func (GetLoadbalancerTargetPoolTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLoadbalancerTargetPoolTarget)(nil)).Elem() +// Sets virtual network interface model. +func (o GetImageConfigOutput) NicModel() pulumi.StringOutput { + return o.ApplyT(func(v GetImageConfig) string { return v.NicModel }).(pulumi.StringOutput) } -func (o GetLoadbalancerTargetPoolTargetOutput) ToGetLoadbalancerTargetPoolTargetOutput() GetLoadbalancerTargetPoolTargetOutput { - return o +// Enables operating system specific optimizations. +func (o GetImageConfigOutput) OperatingSystem() pulumi.StringOutput { + return o.ApplyT(func(v GetImageConfig) string { return v.OperatingSystem }).(pulumi.StringOutput) } -func (o GetLoadbalancerTargetPoolTargetOutput) ToGetLoadbalancerTargetPoolTargetOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolTargetOutput { - return o +// Operating system distribution. +func (o GetImageConfigOutput) OperatingSystemDistro() pulumi.StringOutput { + return o.ApplyT(func(v GetImageConfig) string { return v.OperatingSystemDistro }).(pulumi.StringOutput) } -// Target display name -func (o GetLoadbalancerTargetPoolTargetOutput) DisplayName() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPoolTarget) string { return v.DisplayName }).(pulumi.StringOutput) +// Version of the operating system. +func (o GetImageConfigOutput) OperatingSystemVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetImageConfig) string { return v.OperatingSystemVersion }).(pulumi.StringOutput) } -// Target IP -func (o GetLoadbalancerTargetPoolTargetOutput) Ip() pulumi.StringOutput { - return o.ApplyT(func(v GetLoadbalancerTargetPoolTarget) string { return v.Ip }).(pulumi.StringOutput) +// Sets the device bus when the image is used as a rescue image. +func (o GetImageConfigOutput) RescueBus() pulumi.StringOutput { + return o.ApplyT(func(v GetImageConfig) string { return v.RescueBus }).(pulumi.StringOutput) } -type GetLoadbalancerTargetPoolTargetArrayOutput struct{ *pulumi.OutputState } +// Sets the device when the image is used as a rescue image. +func (o GetImageConfigOutput) RescueDevice() pulumi.StringOutput { + return o.ApplyT(func(v GetImageConfig) string { return v.RescueDevice }).(pulumi.StringOutput) +} -func (GetLoadbalancerTargetPoolTargetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetLoadbalancerTargetPoolTarget)(nil)).Elem() +// Enables Secure Boot. +func (o GetImageConfigOutput) SecureBoot() pulumi.BoolOutput { + return o.ApplyT(func(v GetImageConfig) bool { return v.SecureBoot }).(pulumi.BoolOutput) } -func (o GetLoadbalancerTargetPoolTargetArrayOutput) ToGetLoadbalancerTargetPoolTargetArrayOutput() GetLoadbalancerTargetPoolTargetArrayOutput { - return o +// Enables UEFI boot. +func (o GetImageConfigOutput) Uefi() pulumi.BoolOutput { + return o.ApplyT(func(v GetImageConfig) bool { return v.Uefi }).(pulumi.BoolOutput) } -func (o GetLoadbalancerTargetPoolTargetArrayOutput) ToGetLoadbalancerTargetPoolTargetArrayOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolTargetArrayOutput { - return o +// Sets Graphic device model. +func (o GetImageConfigOutput) VideoModel() pulumi.StringOutput { + return o.ApplyT(func(v GetImageConfig) string { return v.VideoModel }).(pulumi.StringOutput) } -func (o GetLoadbalancerTargetPoolTargetArrayOutput) Index(i pulumi.IntInput) GetLoadbalancerTargetPoolTargetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLoadbalancerTargetPoolTarget { - return vs[0].([]GetLoadbalancerTargetPoolTarget)[vs[1].(int)] - }).(GetLoadbalancerTargetPoolTargetOutput) +// Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. +func (o GetImageConfigOutput) VirtioScsi() pulumi.BoolOutput { + return o.ApplyT(func(v GetImageConfig) bool { return v.VirtioScsi }).(pulumi.BoolOutput) } -type GetLogmeInstanceParameters struct { - // Enable monitoring. - EnableMonitoring bool `pulumi:"enableMonitoring"` - FluentdTcp int `pulumi:"fluentdTcp"` - FluentdTls int `pulumi:"fluentdTls"` - FluentdTlsCiphers string `pulumi:"fluentdTlsCiphers"` - FluentdTlsMaxVersion string `pulumi:"fluentdTlsMaxVersion"` - FluentdTlsMinVersion string `pulumi:"fluentdTlsMinVersion"` - FluentdTlsVersion string `pulumi:"fluentdTlsVersion"` - FluentdUdp int `pulumi:"fluentdUdp"` - // If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). - Graphite string `pulumi:"graphite"` - // Combination of an integer and a timerange when an index will be considered "old" and can be deleted. Possible values for the timerange are `s`, `m`, `h` and `d`. - IsmDeletionAfter string `pulumi:"ismDeletionAfter"` - IsmJitter float64 `pulumi:"ismJitter"` - // Jitter of the execution time. - IsmJobInterval int `pulumi:"ismJobInterval"` - // The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. - JavaHeapspace int `pulumi:"javaHeapspace"` - // The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. - JavaMaxmetaspace int `pulumi:"javaMaxmetaspace"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold int `pulumi:"maxDiskThreshold"` - // The frequency in seconds at which metrics are emitted (in seconds). - MetricsFrequency int `pulumi:"metricsFrequency"` - // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. - MetricsPrefix string `pulumi:"metricsPrefix"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId string `pulumi:"monitoringInstanceId"` - OpensearchTlsCiphers []string `pulumi:"opensearchTlsCiphers"` - OpensearchTlsProtocols []string `pulumi:"opensearchTlsProtocols"` - // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - SgwAcl string `pulumi:"sgwAcl"` - // List of syslog servers to send logs to. - Syslogs []string `pulumi:"syslogs"` +type GetImageV2Checksum struct { + // Algorithm for the checksum of the image data. + Algorithm string `pulumi:"algorithm"` + // Hexdigest of the checksum of the image data. + Digest string `pulumi:"digest"` } -// GetLogmeInstanceParametersInput is an input type that accepts GetLogmeInstanceParametersArgs and GetLogmeInstanceParametersOutput values. -// You can construct a concrete instance of `GetLogmeInstanceParametersInput` via: +// GetImageV2ChecksumInput is an input type that accepts GetImageV2ChecksumArgs and GetImageV2ChecksumOutput values. +// You can construct a concrete instance of `GetImageV2ChecksumInput` via: // -// GetLogmeInstanceParametersArgs{...} -type GetLogmeInstanceParametersInput interface { +// GetImageV2ChecksumArgs{...} +type GetImageV2ChecksumInput interface { pulumi.Input - ToGetLogmeInstanceParametersOutput() GetLogmeInstanceParametersOutput - ToGetLogmeInstanceParametersOutputWithContext(context.Context) GetLogmeInstanceParametersOutput + ToGetImageV2ChecksumOutput() GetImageV2ChecksumOutput + ToGetImageV2ChecksumOutputWithContext(context.Context) GetImageV2ChecksumOutput } -type GetLogmeInstanceParametersArgs struct { - // Enable monitoring. - EnableMonitoring pulumi.BoolInput `pulumi:"enableMonitoring"` - FluentdTcp pulumi.IntInput `pulumi:"fluentdTcp"` - FluentdTls pulumi.IntInput `pulumi:"fluentdTls"` - FluentdTlsCiphers pulumi.StringInput `pulumi:"fluentdTlsCiphers"` - FluentdTlsMaxVersion pulumi.StringInput `pulumi:"fluentdTlsMaxVersion"` - FluentdTlsMinVersion pulumi.StringInput `pulumi:"fluentdTlsMinVersion"` - FluentdTlsVersion pulumi.StringInput `pulumi:"fluentdTlsVersion"` - FluentdUdp pulumi.IntInput `pulumi:"fluentdUdp"` - // If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). - Graphite pulumi.StringInput `pulumi:"graphite"` - // Combination of an integer and a timerange when an index will be considered "old" and can be deleted. Possible values for the timerange are `s`, `m`, `h` and `d`. - IsmDeletionAfter pulumi.StringInput `pulumi:"ismDeletionAfter"` - IsmJitter pulumi.Float64Input `pulumi:"ismJitter"` - // Jitter of the execution time. - IsmJobInterval pulumi.IntInput `pulumi:"ismJobInterval"` - // The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. - JavaHeapspace pulumi.IntInput `pulumi:"javaHeapspace"` - // The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. - JavaMaxmetaspace pulumi.IntInput `pulumi:"javaMaxmetaspace"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold pulumi.IntInput `pulumi:"maxDiskThreshold"` - // The frequency in seconds at which metrics are emitted (in seconds). - MetricsFrequency pulumi.IntInput `pulumi:"metricsFrequency"` - // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. - MetricsPrefix pulumi.StringInput `pulumi:"metricsPrefix"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId pulumi.StringInput `pulumi:"monitoringInstanceId"` - OpensearchTlsCiphers pulumi.StringArrayInput `pulumi:"opensearchTlsCiphers"` - OpensearchTlsProtocols pulumi.StringArrayInput `pulumi:"opensearchTlsProtocols"` - // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - SgwAcl pulumi.StringInput `pulumi:"sgwAcl"` - // List of syslog servers to send logs to. - Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` +type GetImageV2ChecksumArgs struct { + // Algorithm for the checksum of the image data. + Algorithm pulumi.StringInput `pulumi:"algorithm"` + // Hexdigest of the checksum of the image data. + Digest pulumi.StringInput `pulumi:"digest"` } -func (GetLogmeInstanceParametersArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetLogmeInstanceParameters)(nil)).Elem() +func (GetImageV2ChecksumArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageV2Checksum)(nil)).Elem() } -func (i GetLogmeInstanceParametersArgs) ToGetLogmeInstanceParametersOutput() GetLogmeInstanceParametersOutput { - return i.ToGetLogmeInstanceParametersOutputWithContext(context.Background()) +func (i GetImageV2ChecksumArgs) ToGetImageV2ChecksumOutput() GetImageV2ChecksumOutput { + return i.ToGetImageV2ChecksumOutputWithContext(context.Background()) } -func (i GetLogmeInstanceParametersArgs) ToGetLogmeInstanceParametersOutputWithContext(ctx context.Context) GetLogmeInstanceParametersOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetLogmeInstanceParametersOutput) +func (i GetImageV2ChecksumArgs) ToGetImageV2ChecksumOutputWithContext(ctx context.Context) GetImageV2ChecksumOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetImageV2ChecksumOutput) } -type GetLogmeInstanceParametersOutput struct{ *pulumi.OutputState } +type GetImageV2ChecksumOutput struct{ *pulumi.OutputState } -func (GetLogmeInstanceParametersOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetLogmeInstanceParameters)(nil)).Elem() +func (GetImageV2ChecksumOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageV2Checksum)(nil)).Elem() } -func (o GetLogmeInstanceParametersOutput) ToGetLogmeInstanceParametersOutput() GetLogmeInstanceParametersOutput { +func (o GetImageV2ChecksumOutput) ToGetImageV2ChecksumOutput() GetImageV2ChecksumOutput { return o } -func (o GetLogmeInstanceParametersOutput) ToGetLogmeInstanceParametersOutputWithContext(ctx context.Context) GetLogmeInstanceParametersOutput { +func (o GetImageV2ChecksumOutput) ToGetImageV2ChecksumOutputWithContext(ctx context.Context) GetImageV2ChecksumOutput { return o } -// Enable monitoring. -func (o GetLogmeInstanceParametersOutput) EnableMonitoring() pulumi.BoolOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) bool { return v.EnableMonitoring }).(pulumi.BoolOutput) +// Algorithm for the checksum of the image data. +func (o GetImageV2ChecksumOutput) Algorithm() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Checksum) string { return v.Algorithm }).(pulumi.StringOutput) } -func (o GetLogmeInstanceParametersOutput) FluentdTcp() pulumi.IntOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.FluentdTcp }).(pulumi.IntOutput) +// Hexdigest of the checksum of the image data. +func (o GetImageV2ChecksumOutput) Digest() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Checksum) string { return v.Digest }).(pulumi.StringOutput) } -func (o GetLogmeInstanceParametersOutput) FluentdTls() pulumi.IntOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.FluentdTls }).(pulumi.IntOutput) +type GetImageV2Config struct { + // Enables the BIOS bootmenu. + BootMenu bool `pulumi:"bootMenu"` + // Sets CDROM bus controller type. + CdromBus string `pulumi:"cdromBus"` + // Sets Disk bus controller type. + DiskBus string `pulumi:"diskBus"` + // Sets virtual network interface model. + NicModel string `pulumi:"nicModel"` + // Enables operating system specific optimizations. + OperatingSystem string `pulumi:"operatingSystem"` + // Operating system distribution. + OperatingSystemDistro string `pulumi:"operatingSystemDistro"` + // Version of the operating system. + OperatingSystemVersion string `pulumi:"operatingSystemVersion"` + // Sets the device bus when the image is used as a rescue image. + RescueBus string `pulumi:"rescueBus"` + // Sets the device when the image is used as a rescue image. + RescueDevice string `pulumi:"rescueDevice"` + // Enables Secure Boot. + SecureBoot bool `pulumi:"secureBoot"` + // Enables UEFI boot. + Uefi bool `pulumi:"uefi"` + // Sets Graphic device model. + VideoModel string `pulumi:"videoModel"` + // Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. + VirtioScsi bool `pulumi:"virtioScsi"` } -func (o GetLogmeInstanceParametersOutput) FluentdTlsCiphers() pulumi.StringOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.FluentdTlsCiphers }).(pulumi.StringOutput) +// GetImageV2ConfigInput is an input type that accepts GetImageV2ConfigArgs and GetImageV2ConfigOutput values. +// You can construct a concrete instance of `GetImageV2ConfigInput` via: +// +// GetImageV2ConfigArgs{...} +type GetImageV2ConfigInput interface { + pulumi.Input + + ToGetImageV2ConfigOutput() GetImageV2ConfigOutput + ToGetImageV2ConfigOutputWithContext(context.Context) GetImageV2ConfigOutput } -func (o GetLogmeInstanceParametersOutput) FluentdTlsMaxVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.FluentdTlsMaxVersion }).(pulumi.StringOutput) +type GetImageV2ConfigArgs struct { + // Enables the BIOS bootmenu. + BootMenu pulumi.BoolInput `pulumi:"bootMenu"` + // Sets CDROM bus controller type. + CdromBus pulumi.StringInput `pulumi:"cdromBus"` + // Sets Disk bus controller type. + DiskBus pulumi.StringInput `pulumi:"diskBus"` + // Sets virtual network interface model. + NicModel pulumi.StringInput `pulumi:"nicModel"` + // Enables operating system specific optimizations. + OperatingSystem pulumi.StringInput `pulumi:"operatingSystem"` + // Operating system distribution. + OperatingSystemDistro pulumi.StringInput `pulumi:"operatingSystemDistro"` + // Version of the operating system. + OperatingSystemVersion pulumi.StringInput `pulumi:"operatingSystemVersion"` + // Sets the device bus when the image is used as a rescue image. + RescueBus pulumi.StringInput `pulumi:"rescueBus"` + // Sets the device when the image is used as a rescue image. + RescueDevice pulumi.StringInput `pulumi:"rescueDevice"` + // Enables Secure Boot. + SecureBoot pulumi.BoolInput `pulumi:"secureBoot"` + // Enables UEFI boot. + Uefi pulumi.BoolInput `pulumi:"uefi"` + // Sets Graphic device model. + VideoModel pulumi.StringInput `pulumi:"videoModel"` + // Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. + VirtioScsi pulumi.BoolInput `pulumi:"virtioScsi"` } -func (o GetLogmeInstanceParametersOutput) FluentdTlsMinVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.FluentdTlsMinVersion }).(pulumi.StringOutput) +func (GetImageV2ConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageV2Config)(nil)).Elem() } -func (o GetLogmeInstanceParametersOutput) FluentdTlsVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.FluentdTlsVersion }).(pulumi.StringOutput) +func (i GetImageV2ConfigArgs) ToGetImageV2ConfigOutput() GetImageV2ConfigOutput { + return i.ToGetImageV2ConfigOutputWithContext(context.Background()) } -func (o GetLogmeInstanceParametersOutput) FluentdUdp() pulumi.IntOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.FluentdUdp }).(pulumi.IntOutput) +func (i GetImageV2ConfigArgs) ToGetImageV2ConfigOutputWithContext(ctx context.Context) GetImageV2ConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetImageV2ConfigOutput) } -// If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). -func (o GetLogmeInstanceParametersOutput) Graphite() pulumi.StringOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.Graphite }).(pulumi.StringOutput) +type GetImageV2ConfigOutput struct{ *pulumi.OutputState } + +func (GetImageV2ConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageV2Config)(nil)).Elem() } -// Combination of an integer and a timerange when an index will be considered "old" and can be deleted. Possible values for the timerange are `s`, `m`, `h` and `d`. -func (o GetLogmeInstanceParametersOutput) IsmDeletionAfter() pulumi.StringOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.IsmDeletionAfter }).(pulumi.StringOutput) +func (o GetImageV2ConfigOutput) ToGetImageV2ConfigOutput() GetImageV2ConfigOutput { + return o } -func (o GetLogmeInstanceParametersOutput) IsmJitter() pulumi.Float64Output { - return o.ApplyT(func(v GetLogmeInstanceParameters) float64 { return v.IsmJitter }).(pulumi.Float64Output) +func (o GetImageV2ConfigOutput) ToGetImageV2ConfigOutputWithContext(ctx context.Context) GetImageV2ConfigOutput { + return o } -// Jitter of the execution time. -func (o GetLogmeInstanceParametersOutput) IsmJobInterval() pulumi.IntOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.IsmJobInterval }).(pulumi.IntOutput) +// Enables the BIOS bootmenu. +func (o GetImageV2ConfigOutput) BootMenu() pulumi.BoolOutput { + return o.ApplyT(func(v GetImageV2Config) bool { return v.BootMenu }).(pulumi.BoolOutput) } -// The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. -func (o GetLogmeInstanceParametersOutput) JavaHeapspace() pulumi.IntOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.JavaHeapspace }).(pulumi.IntOutput) +// Sets CDROM bus controller type. +func (o GetImageV2ConfigOutput) CdromBus() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Config) string { return v.CdromBus }).(pulumi.StringOutput) } -// The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. -func (o GetLogmeInstanceParametersOutput) JavaMaxmetaspace() pulumi.IntOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.JavaMaxmetaspace }).(pulumi.IntOutput) +// Sets Disk bus controller type. +func (o GetImageV2ConfigOutput) DiskBus() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Config) string { return v.DiskBus }).(pulumi.StringOutput) } -// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. -func (o GetLogmeInstanceParametersOutput) MaxDiskThreshold() pulumi.IntOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.MaxDiskThreshold }).(pulumi.IntOutput) +// Sets virtual network interface model. +func (o GetImageV2ConfigOutput) NicModel() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Config) string { return v.NicModel }).(pulumi.StringOutput) } -// The frequency in seconds at which metrics are emitted (in seconds). -func (o GetLogmeInstanceParametersOutput) MetricsFrequency() pulumi.IntOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.MetricsFrequency }).(pulumi.IntOutput) +// Enables operating system specific optimizations. +func (o GetImageV2ConfigOutput) OperatingSystem() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Config) string { return v.OperatingSystem }).(pulumi.StringOutput) } -// The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. -func (o GetLogmeInstanceParametersOutput) MetricsPrefix() pulumi.StringOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.MetricsPrefix }).(pulumi.StringOutput) +// Operating system distribution. +func (o GetImageV2ConfigOutput) OperatingSystemDistro() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Config) string { return v.OperatingSystemDistro }).(pulumi.StringOutput) } -// The ID of the STACKIT monitoring instance. -func (o GetLogmeInstanceParametersOutput) MonitoringInstanceId() pulumi.StringOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.MonitoringInstanceId }).(pulumi.StringOutput) +// Version of the operating system. +func (o GetImageV2ConfigOutput) OperatingSystemVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Config) string { return v.OperatingSystemVersion }).(pulumi.StringOutput) } -func (o GetLogmeInstanceParametersOutput) OpensearchTlsCiphers() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) []string { return v.OpensearchTlsCiphers }).(pulumi.StringArrayOutput) +// Sets the device bus when the image is used as a rescue image. +func (o GetImageV2ConfigOutput) RescueBus() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Config) string { return v.RescueBus }).(pulumi.StringOutput) } -func (o GetLogmeInstanceParametersOutput) OpensearchTlsProtocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) []string { return v.OpensearchTlsProtocols }).(pulumi.StringArrayOutput) +// Sets the device when the image is used as a rescue image. +func (o GetImageV2ConfigOutput) RescueDevice() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Config) string { return v.RescueDevice }).(pulumi.StringOutput) } -// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. -func (o GetLogmeInstanceParametersOutput) SgwAcl() pulumi.StringOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.SgwAcl }).(pulumi.StringOutput) +// Enables Secure Boot. +func (o GetImageV2ConfigOutput) SecureBoot() pulumi.BoolOutput { + return o.ApplyT(func(v GetImageV2Config) bool { return v.SecureBoot }).(pulumi.BoolOutput) } -// List of syslog servers to send logs to. -func (o GetLogmeInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetLogmeInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +// Enables UEFI boot. +func (o GetImageV2ConfigOutput) Uefi() pulumi.BoolOutput { + return o.ApplyT(func(v GetImageV2Config) bool { return v.Uefi }).(pulumi.BoolOutput) } -type GetMariadbInstanceParameters struct { - // Enable monitoring. - EnableMonitoring bool `pulumi:"enableMonitoring"` - Graphite string `pulumi:"graphite"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold int `pulumi:"maxDiskThreshold"` - // The frequency in seconds at which metrics are emitted. - MetricsFrequency int `pulumi:"metricsFrequency"` - // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key - MetricsPrefix string `pulumi:"metricsPrefix"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId string `pulumi:"monitoringInstanceId"` - // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - SgwAcl string `pulumi:"sgwAcl"` - // List of syslog servers to send logs to. - Syslogs []string `pulumi:"syslogs"` +// Sets Graphic device model. +func (o GetImageV2ConfigOutput) VideoModel() pulumi.StringOutput { + return o.ApplyT(func(v GetImageV2Config) string { return v.VideoModel }).(pulumi.StringOutput) } -// GetMariadbInstanceParametersInput is an input type that accepts GetMariadbInstanceParametersArgs and GetMariadbInstanceParametersOutput values. -// You can construct a concrete instance of `GetMariadbInstanceParametersInput` via: +// Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. +func (o GetImageV2ConfigOutput) VirtioScsi() pulumi.BoolOutput { + return o.ApplyT(func(v GetImageV2Config) bool { return v.VirtioScsi }).(pulumi.BoolOutput) +} + +type GetImageV2Filter struct { + // Filter images by operating system distribution. For example: `ubuntu`, `ubuntu-arm64`, `debian`, `rhel`, etc. + Distro *string `pulumi:"distro"` + // Filter images by operating system type, such as `linux` or `windows`. + Os *string `pulumi:"os"` + // Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot. + SecureBoot *bool `pulumi:"secureBoot"` + // Filter images based on UEFI support. Set to `true` to match images that support UEFI. + Uefi *bool `pulumi:"uefi"` + // Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`. + Version *string `pulumi:"version"` +} + +// GetImageV2FilterInput is an input type that accepts GetImageV2FilterArgs and GetImageV2FilterOutput values. +// You can construct a concrete instance of `GetImageV2FilterInput` via: // -// GetMariadbInstanceParametersArgs{...} -type GetMariadbInstanceParametersInput interface { +// GetImageV2FilterArgs{...} +type GetImageV2FilterInput interface { pulumi.Input - ToGetMariadbInstanceParametersOutput() GetMariadbInstanceParametersOutput - ToGetMariadbInstanceParametersOutputWithContext(context.Context) GetMariadbInstanceParametersOutput + ToGetImageV2FilterOutput() GetImageV2FilterOutput + ToGetImageV2FilterOutputWithContext(context.Context) GetImageV2FilterOutput } -type GetMariadbInstanceParametersArgs struct { - // Enable monitoring. - EnableMonitoring pulumi.BoolInput `pulumi:"enableMonitoring"` - Graphite pulumi.StringInput `pulumi:"graphite"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold pulumi.IntInput `pulumi:"maxDiskThreshold"` - // The frequency in seconds at which metrics are emitted. - MetricsFrequency pulumi.IntInput `pulumi:"metricsFrequency"` - // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key - MetricsPrefix pulumi.StringInput `pulumi:"metricsPrefix"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId pulumi.StringInput `pulumi:"monitoringInstanceId"` - // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - SgwAcl pulumi.StringInput `pulumi:"sgwAcl"` - // List of syslog servers to send logs to. - Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` +type GetImageV2FilterArgs struct { + // Filter images by operating system distribution. For example: `ubuntu`, `ubuntu-arm64`, `debian`, `rhel`, etc. + Distro pulumi.StringPtrInput `pulumi:"distro"` + // Filter images by operating system type, such as `linux` or `windows`. + Os pulumi.StringPtrInput `pulumi:"os"` + // Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot. + SecureBoot pulumi.BoolPtrInput `pulumi:"secureBoot"` + // Filter images based on UEFI support. Set to `true` to match images that support UEFI. + Uefi pulumi.BoolPtrInput `pulumi:"uefi"` + // Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`. + Version pulumi.StringPtrInput `pulumi:"version"` } -func (GetMariadbInstanceParametersArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetMariadbInstanceParameters)(nil)).Elem() +func (GetImageV2FilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageV2Filter)(nil)).Elem() } -func (i GetMariadbInstanceParametersArgs) ToGetMariadbInstanceParametersOutput() GetMariadbInstanceParametersOutput { - return i.ToGetMariadbInstanceParametersOutputWithContext(context.Background()) +func (i GetImageV2FilterArgs) ToGetImageV2FilterOutput() GetImageV2FilterOutput { + return i.ToGetImageV2FilterOutputWithContext(context.Background()) } -func (i GetMariadbInstanceParametersArgs) ToGetMariadbInstanceParametersOutputWithContext(ctx context.Context) GetMariadbInstanceParametersOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetMariadbInstanceParametersOutput) +func (i GetImageV2FilterArgs) ToGetImageV2FilterOutputWithContext(ctx context.Context) GetImageV2FilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetImageV2FilterOutput) } -type GetMariadbInstanceParametersOutput struct{ *pulumi.OutputState } - -func (GetMariadbInstanceParametersOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetMariadbInstanceParameters)(nil)).Elem() +func (i GetImageV2FilterArgs) ToGetImageV2FilterPtrOutput() GetImageV2FilterPtrOutput { + return i.ToGetImageV2FilterPtrOutputWithContext(context.Background()) } -func (o GetMariadbInstanceParametersOutput) ToGetMariadbInstanceParametersOutput() GetMariadbInstanceParametersOutput { - return o +func (i GetImageV2FilterArgs) ToGetImageV2FilterPtrOutputWithContext(ctx context.Context) GetImageV2FilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetImageV2FilterOutput).ToGetImageV2FilterPtrOutputWithContext(ctx) } -func (o GetMariadbInstanceParametersOutput) ToGetMariadbInstanceParametersOutputWithContext(ctx context.Context) GetMariadbInstanceParametersOutput { - return o -} +// GetImageV2FilterPtrInput is an input type that accepts GetImageV2FilterArgs, GetImageV2FilterPtr and GetImageV2FilterPtrOutput values. +// You can construct a concrete instance of `GetImageV2FilterPtrInput` via: +// +// GetImageV2FilterArgs{...} +// +// or: +// +// nil +type GetImageV2FilterPtrInput interface { + pulumi.Input -// Enable monitoring. -func (o GetMariadbInstanceParametersOutput) EnableMonitoring() pulumi.BoolOutput { - return o.ApplyT(func(v GetMariadbInstanceParameters) bool { return v.EnableMonitoring }).(pulumi.BoolOutput) + ToGetImageV2FilterPtrOutput() GetImageV2FilterPtrOutput + ToGetImageV2FilterPtrOutputWithContext(context.Context) GetImageV2FilterPtrOutput } -func (o GetMariadbInstanceParametersOutput) Graphite() pulumi.StringOutput { - return o.ApplyT(func(v GetMariadbInstanceParameters) string { return v.Graphite }).(pulumi.StringOutput) +type getImageV2FilterPtrType GetImageV2FilterArgs + +func GetImageV2FilterPtr(v *GetImageV2FilterArgs) GetImageV2FilterPtrInput { + return (*getImageV2FilterPtrType)(v) } -// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. -func (o GetMariadbInstanceParametersOutput) MaxDiskThreshold() pulumi.IntOutput { - return o.ApplyT(func(v GetMariadbInstanceParameters) int { return v.MaxDiskThreshold }).(pulumi.IntOutput) +func (*getImageV2FilterPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**GetImageV2Filter)(nil)).Elem() } -// The frequency in seconds at which metrics are emitted. -func (o GetMariadbInstanceParametersOutput) MetricsFrequency() pulumi.IntOutput { - return o.ApplyT(func(v GetMariadbInstanceParameters) int { return v.MetricsFrequency }).(pulumi.IntOutput) +func (i *getImageV2FilterPtrType) ToGetImageV2FilterPtrOutput() GetImageV2FilterPtrOutput { + return i.ToGetImageV2FilterPtrOutputWithContext(context.Background()) } -// The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key -func (o GetMariadbInstanceParametersOutput) MetricsPrefix() pulumi.StringOutput { - return o.ApplyT(func(v GetMariadbInstanceParameters) string { return v.MetricsPrefix }).(pulumi.StringOutput) +func (i *getImageV2FilterPtrType) ToGetImageV2FilterPtrOutputWithContext(ctx context.Context) GetImageV2FilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetImageV2FilterPtrOutput) } -// The ID of the STACKIT monitoring instance. -func (o GetMariadbInstanceParametersOutput) MonitoringInstanceId() pulumi.StringOutput { - return o.ApplyT(func(v GetMariadbInstanceParameters) string { return v.MonitoringInstanceId }).(pulumi.StringOutput) +type GetImageV2FilterOutput struct{ *pulumi.OutputState } + +func (GetImageV2FilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetImageV2Filter)(nil)).Elem() } -// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. -func (o GetMariadbInstanceParametersOutput) SgwAcl() pulumi.StringOutput { - return o.ApplyT(func(v GetMariadbInstanceParameters) string { return v.SgwAcl }).(pulumi.StringOutput) +func (o GetImageV2FilterOutput) ToGetImageV2FilterOutput() GetImageV2FilterOutput { + return o } -// List of syslog servers to send logs to. -func (o GetMariadbInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetMariadbInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +func (o GetImageV2FilterOutput) ToGetImageV2FilterOutputWithContext(ctx context.Context) GetImageV2FilterOutput { + return o } -type GetMongodbflexInstanceFlavor struct { - Cpu int `pulumi:"cpu"` - Description string `pulumi:"description"` - Id string `pulumi:"id"` - Ram int `pulumi:"ram"` +func (o GetImageV2FilterOutput) ToGetImageV2FilterPtrOutput() GetImageV2FilterPtrOutput { + return o.ToGetImageV2FilterPtrOutputWithContext(context.Background()) } -// GetMongodbflexInstanceFlavorInput is an input type that accepts GetMongodbflexInstanceFlavorArgs and GetMongodbflexInstanceFlavorOutput values. -// You can construct a concrete instance of `GetMongodbflexInstanceFlavorInput` via: -// -// GetMongodbflexInstanceFlavorArgs{...} -type GetMongodbflexInstanceFlavorInput interface { - pulumi.Input +func (o GetImageV2FilterOutput) ToGetImageV2FilterPtrOutputWithContext(ctx context.Context) GetImageV2FilterPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v GetImageV2Filter) *GetImageV2Filter { + return &v + }).(GetImageV2FilterPtrOutput) +} - ToGetMongodbflexInstanceFlavorOutput() GetMongodbflexInstanceFlavorOutput - ToGetMongodbflexInstanceFlavorOutputWithContext(context.Context) GetMongodbflexInstanceFlavorOutput +// Filter images by operating system distribution. For example: `ubuntu`, `ubuntu-arm64`, `debian`, `rhel`, etc. +func (o GetImageV2FilterOutput) Distro() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetImageV2Filter) *string { return v.Distro }).(pulumi.StringPtrOutput) } -type GetMongodbflexInstanceFlavorArgs struct { - Cpu pulumi.IntInput `pulumi:"cpu"` - Description pulumi.StringInput `pulumi:"description"` - Id pulumi.StringInput `pulumi:"id"` - Ram pulumi.IntInput `pulumi:"ram"` +// Filter images by operating system type, such as `linux` or `windows`. +func (o GetImageV2FilterOutput) Os() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetImageV2Filter) *string { return v.Os }).(pulumi.StringPtrOutput) } -func (GetMongodbflexInstanceFlavorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetMongodbflexInstanceFlavor)(nil)).Elem() +// Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot. +func (o GetImageV2FilterOutput) SecureBoot() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetImageV2Filter) *bool { return v.SecureBoot }).(pulumi.BoolPtrOutput) } -func (i GetMongodbflexInstanceFlavorArgs) ToGetMongodbflexInstanceFlavorOutput() GetMongodbflexInstanceFlavorOutput { - return i.ToGetMongodbflexInstanceFlavorOutputWithContext(context.Background()) +// Filter images based on UEFI support. Set to `true` to match images that support UEFI. +func (o GetImageV2FilterOutput) Uefi() pulumi.BoolPtrOutput { + return o.ApplyT(func(v GetImageV2Filter) *bool { return v.Uefi }).(pulumi.BoolPtrOutput) } -func (i GetMongodbflexInstanceFlavorArgs) ToGetMongodbflexInstanceFlavorOutputWithContext(ctx context.Context) GetMongodbflexInstanceFlavorOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetMongodbflexInstanceFlavorOutput) +// Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`. +func (o GetImageV2FilterOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetImageV2Filter) *string { return v.Version }).(pulumi.StringPtrOutput) } -type GetMongodbflexInstanceFlavorOutput struct{ *pulumi.OutputState } +type GetImageV2FilterPtrOutput struct{ *pulumi.OutputState } -func (GetMongodbflexInstanceFlavorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetMongodbflexInstanceFlavor)(nil)).Elem() +func (GetImageV2FilterPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**GetImageV2Filter)(nil)).Elem() } -func (o GetMongodbflexInstanceFlavorOutput) ToGetMongodbflexInstanceFlavorOutput() GetMongodbflexInstanceFlavorOutput { +func (o GetImageV2FilterPtrOutput) ToGetImageV2FilterPtrOutput() GetImageV2FilterPtrOutput { return o } -func (o GetMongodbflexInstanceFlavorOutput) ToGetMongodbflexInstanceFlavorOutputWithContext(ctx context.Context) GetMongodbflexInstanceFlavorOutput { +func (o GetImageV2FilterPtrOutput) ToGetImageV2FilterPtrOutputWithContext(ctx context.Context) GetImageV2FilterPtrOutput { return o } -func (o GetMongodbflexInstanceFlavorOutput) Cpu() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceFlavor) int { return v.Cpu }).(pulumi.IntOutput) +func (o GetImageV2FilterPtrOutput) Elem() GetImageV2FilterOutput { + return o.ApplyT(func(v *GetImageV2Filter) GetImageV2Filter { + if v != nil { + return *v + } + var ret GetImageV2Filter + return ret + }).(GetImageV2FilterOutput) } -func (o GetMongodbflexInstanceFlavorOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetMongodbflexInstanceFlavor) string { return v.Description }).(pulumi.StringOutput) +// Filter images by operating system distribution. For example: `ubuntu`, `ubuntu-arm64`, `debian`, `rhel`, etc. +func (o GetImageV2FilterPtrOutput) Distro() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetImageV2Filter) *string { + if v == nil { + return nil + } + return v.Distro + }).(pulumi.StringPtrOutput) } -func (o GetMongodbflexInstanceFlavorOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetMongodbflexInstanceFlavor) string { return v.Id }).(pulumi.StringOutput) +// Filter images by operating system type, such as `linux` or `windows`. +func (o GetImageV2FilterPtrOutput) Os() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetImageV2Filter) *string { + if v == nil { + return nil + } + return v.Os + }).(pulumi.StringPtrOutput) } -func (o GetMongodbflexInstanceFlavorOutput) Ram() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceFlavor) int { return v.Ram }).(pulumi.IntOutput) +// Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot. +func (o GetImageV2FilterPtrOutput) SecureBoot() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GetImageV2Filter) *bool { + if v == nil { + return nil + } + return v.SecureBoot + }).(pulumi.BoolPtrOutput) } -type GetMongodbflexInstanceOptions struct { - // The number of days that daily backups will be retained. - DailySnapshotRetentionDays int `pulumi:"dailySnapshotRetentionDays"` - // The number of months that monthly backups will be retained. - MonthlySnapshotRetentionMonths int `pulumi:"monthlySnapshotRetentionMonths"` - // The number of hours back in time the point-in-time recovery feature will be able to recover. - PointInTimeWindowHours int `pulumi:"pointInTimeWindowHours"` - // The number of days that continuous backups (controlled via the `backupSchedule`) will be retained. - SnapshotRetentionDays int `pulumi:"snapshotRetentionDays"` - // Type of the MongoDB Flex instance. - Type string `pulumi:"type"` - // The number of weeks that weekly backups will be retained. - WeeklySnapshotRetentionWeeks int `pulumi:"weeklySnapshotRetentionWeeks"` +// Filter images based on UEFI support. Set to `true` to match images that support UEFI. +func (o GetImageV2FilterPtrOutput) Uefi() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *GetImageV2Filter) *bool { + if v == nil { + return nil + } + return v.Uefi + }).(pulumi.BoolPtrOutput) } -// GetMongodbflexInstanceOptionsInput is an input type that accepts GetMongodbflexInstanceOptionsArgs and GetMongodbflexInstanceOptionsOutput values. -// You can construct a concrete instance of `GetMongodbflexInstanceOptionsInput` via: -// -// GetMongodbflexInstanceOptionsArgs{...} -type GetMongodbflexInstanceOptionsInput interface { - pulumi.Input +// Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`. +func (o GetImageV2FilterPtrOutput) Version() pulumi.StringPtrOutput { + return o.ApplyT(func(v *GetImageV2Filter) *string { + if v == nil { + return nil + } + return v.Version + }).(pulumi.StringPtrOutput) +} - ToGetMongodbflexInstanceOptionsOutput() GetMongodbflexInstanceOptionsOutput - ToGetMongodbflexInstanceOptionsOutputWithContext(context.Context) GetMongodbflexInstanceOptionsOutput +type GetLoadbalancerListener struct { + DisplayName string `pulumi:"displayName"` + // Port number where we listen for traffic. + Port int `pulumi:"port"` + // Protocol is the highest network protocol we understand to load balance. + Protocol string `pulumi:"protocol"` + // A list of domain names to match in order to pass TLS traffic to the target pool in the current listener + // + // Deprecated: `serverNameIndicators` is deprecated and will be removed after October 2026 + ServerNameIndicators []GetLoadbalancerListenerServerNameIndicator `pulumi:"serverNameIndicators"` + // Reference target pool by target pool name. + TargetPool string `pulumi:"targetPool"` + // Options that are specific to the TCP protocol. + Tcp GetLoadbalancerListenerTcp `pulumi:"tcp"` + // Options that are specific to the UDP protocol. + Udp GetLoadbalancerListenerUdp `pulumi:"udp"` } -type GetMongodbflexInstanceOptionsArgs struct { - // The number of days that daily backups will be retained. - DailySnapshotRetentionDays pulumi.IntInput `pulumi:"dailySnapshotRetentionDays"` - // The number of months that monthly backups will be retained. - MonthlySnapshotRetentionMonths pulumi.IntInput `pulumi:"monthlySnapshotRetentionMonths"` - // The number of hours back in time the point-in-time recovery feature will be able to recover. - PointInTimeWindowHours pulumi.IntInput `pulumi:"pointInTimeWindowHours"` - // The number of days that continuous backups (controlled via the `backupSchedule`) will be retained. - SnapshotRetentionDays pulumi.IntInput `pulumi:"snapshotRetentionDays"` - // Type of the MongoDB Flex instance. - Type pulumi.StringInput `pulumi:"type"` - // The number of weeks that weekly backups will be retained. - WeeklySnapshotRetentionWeeks pulumi.IntInput `pulumi:"weeklySnapshotRetentionWeeks"` -} +// GetLoadbalancerListenerInput is an input type that accepts GetLoadbalancerListenerArgs and GetLoadbalancerListenerOutput values. +// You can construct a concrete instance of `GetLoadbalancerListenerInput` via: +// +// GetLoadbalancerListenerArgs{...} +type GetLoadbalancerListenerInput interface { + pulumi.Input -func (GetMongodbflexInstanceOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetMongodbflexInstanceOptions)(nil)).Elem() + ToGetLoadbalancerListenerOutput() GetLoadbalancerListenerOutput + ToGetLoadbalancerListenerOutputWithContext(context.Context) GetLoadbalancerListenerOutput } -func (i GetMongodbflexInstanceOptionsArgs) ToGetMongodbflexInstanceOptionsOutput() GetMongodbflexInstanceOptionsOutput { - return i.ToGetMongodbflexInstanceOptionsOutputWithContext(context.Background()) +type GetLoadbalancerListenerArgs struct { + DisplayName pulumi.StringInput `pulumi:"displayName"` + // Port number where we listen for traffic. + Port pulumi.IntInput `pulumi:"port"` + // Protocol is the highest network protocol we understand to load balance. + Protocol pulumi.StringInput `pulumi:"protocol"` + // A list of domain names to match in order to pass TLS traffic to the target pool in the current listener + // + // Deprecated: `serverNameIndicators` is deprecated and will be removed after October 2026 + ServerNameIndicators GetLoadbalancerListenerServerNameIndicatorArrayInput `pulumi:"serverNameIndicators"` + // Reference target pool by target pool name. + TargetPool pulumi.StringInput `pulumi:"targetPool"` + // Options that are specific to the TCP protocol. + Tcp GetLoadbalancerListenerTcpInput `pulumi:"tcp"` + // Options that are specific to the UDP protocol. + Udp GetLoadbalancerListenerUdpInput `pulumi:"udp"` } -func (i GetMongodbflexInstanceOptionsArgs) ToGetMongodbflexInstanceOptionsOutputWithContext(ctx context.Context) GetMongodbflexInstanceOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetMongodbflexInstanceOptionsOutput) +func (GetLoadbalancerListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerListener)(nil)).Elem() } -type GetMongodbflexInstanceOptionsOutput struct{ *pulumi.OutputState } - -func (GetMongodbflexInstanceOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetMongodbflexInstanceOptions)(nil)).Elem() +func (i GetLoadbalancerListenerArgs) ToGetLoadbalancerListenerOutput() GetLoadbalancerListenerOutput { + return i.ToGetLoadbalancerListenerOutputWithContext(context.Background()) } -func (o GetMongodbflexInstanceOptionsOutput) ToGetMongodbflexInstanceOptionsOutput() GetMongodbflexInstanceOptionsOutput { - return o +func (i GetLoadbalancerListenerArgs) ToGetLoadbalancerListenerOutputWithContext(ctx context.Context) GetLoadbalancerListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerOutput) } -func (o GetMongodbflexInstanceOptionsOutput) ToGetMongodbflexInstanceOptionsOutputWithContext(ctx context.Context) GetMongodbflexInstanceOptionsOutput { - return o +// GetLoadbalancerListenerArrayInput is an input type that accepts GetLoadbalancerListenerArray and GetLoadbalancerListenerArrayOutput values. +// You can construct a concrete instance of `GetLoadbalancerListenerArrayInput` via: +// +// GetLoadbalancerListenerArray{ GetLoadbalancerListenerArgs{...} } +type GetLoadbalancerListenerArrayInput interface { + pulumi.Input + + ToGetLoadbalancerListenerArrayOutput() GetLoadbalancerListenerArrayOutput + ToGetLoadbalancerListenerArrayOutputWithContext(context.Context) GetLoadbalancerListenerArrayOutput } -// The number of days that daily backups will be retained. -func (o GetMongodbflexInstanceOptionsOutput) DailySnapshotRetentionDays() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.DailySnapshotRetentionDays }).(pulumi.IntOutput) +type GetLoadbalancerListenerArray []GetLoadbalancerListenerInput + +func (GetLoadbalancerListenerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadbalancerListener)(nil)).Elem() } -// The number of months that monthly backups will be retained. -func (o GetMongodbflexInstanceOptionsOutput) MonthlySnapshotRetentionMonths() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.MonthlySnapshotRetentionMonths }).(pulumi.IntOutput) +func (i GetLoadbalancerListenerArray) ToGetLoadbalancerListenerArrayOutput() GetLoadbalancerListenerArrayOutput { + return i.ToGetLoadbalancerListenerArrayOutputWithContext(context.Background()) } -// The number of hours back in time the point-in-time recovery feature will be able to recover. -func (o GetMongodbflexInstanceOptionsOutput) PointInTimeWindowHours() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.PointInTimeWindowHours }).(pulumi.IntOutput) +func (i GetLoadbalancerListenerArray) ToGetLoadbalancerListenerArrayOutputWithContext(ctx context.Context) GetLoadbalancerListenerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerArrayOutput) } -// The number of days that continuous backups (controlled via the `backupSchedule`) will be retained. -func (o GetMongodbflexInstanceOptionsOutput) SnapshotRetentionDays() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.SnapshotRetentionDays }).(pulumi.IntOutput) +type GetLoadbalancerListenerOutput struct{ *pulumi.OutputState } + +func (GetLoadbalancerListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerListener)(nil)).Elem() } -// Type of the MongoDB Flex instance. -func (o GetMongodbflexInstanceOptionsOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetMongodbflexInstanceOptions) string { return v.Type }).(pulumi.StringOutput) +func (o GetLoadbalancerListenerOutput) ToGetLoadbalancerListenerOutput() GetLoadbalancerListenerOutput { + return o } -// The number of weeks that weekly backups will be retained. -func (o GetMongodbflexInstanceOptionsOutput) WeeklySnapshotRetentionWeeks() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.WeeklySnapshotRetentionWeeks }).(pulumi.IntOutput) +func (o GetLoadbalancerListenerOutput) ToGetLoadbalancerListenerOutputWithContext(ctx context.Context) GetLoadbalancerListenerOutput { + return o } -type GetMongodbflexInstanceStorage struct { - Class string `pulumi:"class"` - Size int `pulumi:"size"` +func (o GetLoadbalancerListenerOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerListener) string { return v.DisplayName }).(pulumi.StringOutput) } -// GetMongodbflexInstanceStorageInput is an input type that accepts GetMongodbflexInstanceStorageArgs and GetMongodbflexInstanceStorageOutput values. -// You can construct a concrete instance of `GetMongodbflexInstanceStorageInput` via: -// -// GetMongodbflexInstanceStorageArgs{...} -type GetMongodbflexInstanceStorageInput interface { - pulumi.Input +// Port number where we listen for traffic. +func (o GetLoadbalancerListenerOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v GetLoadbalancerListener) int { return v.Port }).(pulumi.IntOutput) +} - ToGetMongodbflexInstanceStorageOutput() GetMongodbflexInstanceStorageOutput - ToGetMongodbflexInstanceStorageOutputWithContext(context.Context) GetMongodbflexInstanceStorageOutput +// Protocol is the highest network protocol we understand to load balance. +func (o GetLoadbalancerListenerOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerListener) string { return v.Protocol }).(pulumi.StringOutput) } -type GetMongodbflexInstanceStorageArgs struct { - Class pulumi.StringInput `pulumi:"class"` - Size pulumi.IntInput `pulumi:"size"` +// A list of domain names to match in order to pass TLS traffic to the target pool in the current listener +// +// Deprecated: `serverNameIndicators` is deprecated and will be removed after October 2026 +func (o GetLoadbalancerListenerOutput) ServerNameIndicators() GetLoadbalancerListenerServerNameIndicatorArrayOutput { + return o.ApplyT(func(v GetLoadbalancerListener) []GetLoadbalancerListenerServerNameIndicator { + return v.ServerNameIndicators + }).(GetLoadbalancerListenerServerNameIndicatorArrayOutput) } -func (GetMongodbflexInstanceStorageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetMongodbflexInstanceStorage)(nil)).Elem() +// Reference target pool by target pool name. +func (o GetLoadbalancerListenerOutput) TargetPool() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerListener) string { return v.TargetPool }).(pulumi.StringOutput) } -func (i GetMongodbflexInstanceStorageArgs) ToGetMongodbflexInstanceStorageOutput() GetMongodbflexInstanceStorageOutput { - return i.ToGetMongodbflexInstanceStorageOutputWithContext(context.Background()) +// Options that are specific to the TCP protocol. +func (o GetLoadbalancerListenerOutput) Tcp() GetLoadbalancerListenerTcpOutput { + return o.ApplyT(func(v GetLoadbalancerListener) GetLoadbalancerListenerTcp { return v.Tcp }).(GetLoadbalancerListenerTcpOutput) } -func (i GetMongodbflexInstanceStorageArgs) ToGetMongodbflexInstanceStorageOutputWithContext(ctx context.Context) GetMongodbflexInstanceStorageOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetMongodbflexInstanceStorageOutput) +// Options that are specific to the UDP protocol. +func (o GetLoadbalancerListenerOutput) Udp() GetLoadbalancerListenerUdpOutput { + return o.ApplyT(func(v GetLoadbalancerListener) GetLoadbalancerListenerUdp { return v.Udp }).(GetLoadbalancerListenerUdpOutput) } -type GetMongodbflexInstanceStorageOutput struct{ *pulumi.OutputState } +type GetLoadbalancerListenerArrayOutput struct{ *pulumi.OutputState } -func (GetMongodbflexInstanceStorageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetMongodbflexInstanceStorage)(nil)).Elem() +func (GetLoadbalancerListenerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadbalancerListener)(nil)).Elem() } -func (o GetMongodbflexInstanceStorageOutput) ToGetMongodbflexInstanceStorageOutput() GetMongodbflexInstanceStorageOutput { +func (o GetLoadbalancerListenerArrayOutput) ToGetLoadbalancerListenerArrayOutput() GetLoadbalancerListenerArrayOutput { return o } -func (o GetMongodbflexInstanceStorageOutput) ToGetMongodbflexInstanceStorageOutputWithContext(ctx context.Context) GetMongodbflexInstanceStorageOutput { +func (o GetLoadbalancerListenerArrayOutput) ToGetLoadbalancerListenerArrayOutputWithContext(ctx context.Context) GetLoadbalancerListenerArrayOutput { return o } -func (o GetMongodbflexInstanceStorageOutput) Class() pulumi.StringOutput { - return o.ApplyT(func(v GetMongodbflexInstanceStorage) string { return v.Class }).(pulumi.StringOutput) -} - -func (o GetMongodbflexInstanceStorageOutput) Size() pulumi.IntOutput { - return o.ApplyT(func(v GetMongodbflexInstanceStorage) int { return v.Size }).(pulumi.IntOutput) +func (o GetLoadbalancerListenerArrayOutput) Index(i pulumi.IntInput) GetLoadbalancerListenerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLoadbalancerListener { + return vs[0].([]GetLoadbalancerListener)[vs[1].(int)] + }).(GetLoadbalancerListenerOutput) } -type GetNetworkAreaNetworkRange struct { - NetworkRangeId string `pulumi:"networkRangeId"` - Prefix string `pulumi:"prefix"` +type GetLoadbalancerListenerServerNameIndicator struct { + // A domain name to match in order to pass TLS traffic to the target pool in the current listener + Name *string `pulumi:"name"` } -// GetNetworkAreaNetworkRangeInput is an input type that accepts GetNetworkAreaNetworkRangeArgs and GetNetworkAreaNetworkRangeOutput values. -// You can construct a concrete instance of `GetNetworkAreaNetworkRangeInput` via: +// GetLoadbalancerListenerServerNameIndicatorInput is an input type that accepts GetLoadbalancerListenerServerNameIndicatorArgs and GetLoadbalancerListenerServerNameIndicatorOutput values. +// You can construct a concrete instance of `GetLoadbalancerListenerServerNameIndicatorInput` via: // -// GetNetworkAreaNetworkRangeArgs{...} -type GetNetworkAreaNetworkRangeInput interface { +// GetLoadbalancerListenerServerNameIndicatorArgs{...} +type GetLoadbalancerListenerServerNameIndicatorInput interface { pulumi.Input - ToGetNetworkAreaNetworkRangeOutput() GetNetworkAreaNetworkRangeOutput - ToGetNetworkAreaNetworkRangeOutputWithContext(context.Context) GetNetworkAreaNetworkRangeOutput + ToGetLoadbalancerListenerServerNameIndicatorOutput() GetLoadbalancerListenerServerNameIndicatorOutput + ToGetLoadbalancerListenerServerNameIndicatorOutputWithContext(context.Context) GetLoadbalancerListenerServerNameIndicatorOutput } -type GetNetworkAreaNetworkRangeArgs struct { - NetworkRangeId pulumi.StringInput `pulumi:"networkRangeId"` - Prefix pulumi.StringInput `pulumi:"prefix"` +type GetLoadbalancerListenerServerNameIndicatorArgs struct { + // A domain name to match in order to pass TLS traffic to the target pool in the current listener + Name pulumi.StringPtrInput `pulumi:"name"` } -func (GetNetworkAreaNetworkRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaNetworkRange)(nil)).Elem() +func (GetLoadbalancerListenerServerNameIndicatorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerListenerServerNameIndicator)(nil)).Elem() } -func (i GetNetworkAreaNetworkRangeArgs) ToGetNetworkAreaNetworkRangeOutput() GetNetworkAreaNetworkRangeOutput { - return i.ToGetNetworkAreaNetworkRangeOutputWithContext(context.Background()) +func (i GetLoadbalancerListenerServerNameIndicatorArgs) ToGetLoadbalancerListenerServerNameIndicatorOutput() GetLoadbalancerListenerServerNameIndicatorOutput { + return i.ToGetLoadbalancerListenerServerNameIndicatorOutputWithContext(context.Background()) } -func (i GetNetworkAreaNetworkRangeArgs) ToGetNetworkAreaNetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaNetworkRangeOutput) +func (i GetLoadbalancerListenerServerNameIndicatorArgs) ToGetLoadbalancerListenerServerNameIndicatorOutputWithContext(ctx context.Context) GetLoadbalancerListenerServerNameIndicatorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerServerNameIndicatorOutput) } -// GetNetworkAreaNetworkRangeArrayInput is an input type that accepts GetNetworkAreaNetworkRangeArray and GetNetworkAreaNetworkRangeArrayOutput values. -// You can construct a concrete instance of `GetNetworkAreaNetworkRangeArrayInput` via: +// GetLoadbalancerListenerServerNameIndicatorArrayInput is an input type that accepts GetLoadbalancerListenerServerNameIndicatorArray and GetLoadbalancerListenerServerNameIndicatorArrayOutput values. +// You can construct a concrete instance of `GetLoadbalancerListenerServerNameIndicatorArrayInput` via: // -// GetNetworkAreaNetworkRangeArray{ GetNetworkAreaNetworkRangeArgs{...} } -type GetNetworkAreaNetworkRangeArrayInput interface { +// GetLoadbalancerListenerServerNameIndicatorArray{ GetLoadbalancerListenerServerNameIndicatorArgs{...} } +type GetLoadbalancerListenerServerNameIndicatorArrayInput interface { pulumi.Input - ToGetNetworkAreaNetworkRangeArrayOutput() GetNetworkAreaNetworkRangeArrayOutput - ToGetNetworkAreaNetworkRangeArrayOutputWithContext(context.Context) GetNetworkAreaNetworkRangeArrayOutput + ToGetLoadbalancerListenerServerNameIndicatorArrayOutput() GetLoadbalancerListenerServerNameIndicatorArrayOutput + ToGetLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(context.Context) GetLoadbalancerListenerServerNameIndicatorArrayOutput } -type GetNetworkAreaNetworkRangeArray []GetNetworkAreaNetworkRangeInput +type GetLoadbalancerListenerServerNameIndicatorArray []GetLoadbalancerListenerServerNameIndicatorInput -func (GetNetworkAreaNetworkRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetNetworkAreaNetworkRange)(nil)).Elem() +func (GetLoadbalancerListenerServerNameIndicatorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadbalancerListenerServerNameIndicator)(nil)).Elem() } -func (i GetNetworkAreaNetworkRangeArray) ToGetNetworkAreaNetworkRangeArrayOutput() GetNetworkAreaNetworkRangeArrayOutput { - return i.ToGetNetworkAreaNetworkRangeArrayOutputWithContext(context.Background()) +func (i GetLoadbalancerListenerServerNameIndicatorArray) ToGetLoadbalancerListenerServerNameIndicatorArrayOutput() GetLoadbalancerListenerServerNameIndicatorArrayOutput { + return i.ToGetLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(context.Background()) } -func (i GetNetworkAreaNetworkRangeArray) ToGetNetworkAreaNetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaNetworkRangeArrayOutput) +func (i GetLoadbalancerListenerServerNameIndicatorArray) ToGetLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(ctx context.Context) GetLoadbalancerListenerServerNameIndicatorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerServerNameIndicatorArrayOutput) } -type GetNetworkAreaNetworkRangeOutput struct{ *pulumi.OutputState } +type GetLoadbalancerListenerServerNameIndicatorOutput struct{ *pulumi.OutputState } -func (GetNetworkAreaNetworkRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaNetworkRange)(nil)).Elem() +func (GetLoadbalancerListenerServerNameIndicatorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerListenerServerNameIndicator)(nil)).Elem() } -func (o GetNetworkAreaNetworkRangeOutput) ToGetNetworkAreaNetworkRangeOutput() GetNetworkAreaNetworkRangeOutput { +func (o GetLoadbalancerListenerServerNameIndicatorOutput) ToGetLoadbalancerListenerServerNameIndicatorOutput() GetLoadbalancerListenerServerNameIndicatorOutput { return o } -func (o GetNetworkAreaNetworkRangeOutput) ToGetNetworkAreaNetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeOutput { +func (o GetLoadbalancerListenerServerNameIndicatorOutput) ToGetLoadbalancerListenerServerNameIndicatorOutputWithContext(ctx context.Context) GetLoadbalancerListenerServerNameIndicatorOutput { return o } -func (o GetNetworkAreaNetworkRangeOutput) NetworkRangeId() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaNetworkRange) string { return v.NetworkRangeId }).(pulumi.StringOutput) -} - -func (o GetNetworkAreaNetworkRangeOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaNetworkRange) string { return v.Prefix }).(pulumi.StringOutput) +// A domain name to match in order to pass TLS traffic to the target pool in the current listener +func (o GetLoadbalancerListenerServerNameIndicatorOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetLoadbalancerListenerServerNameIndicator) *string { return v.Name }).(pulumi.StringPtrOutput) } -type GetNetworkAreaNetworkRangeArrayOutput struct{ *pulumi.OutputState } +type GetLoadbalancerListenerServerNameIndicatorArrayOutput struct{ *pulumi.OutputState } -func (GetNetworkAreaNetworkRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetNetworkAreaNetworkRange)(nil)).Elem() +func (GetLoadbalancerListenerServerNameIndicatorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadbalancerListenerServerNameIndicator)(nil)).Elem() } -func (o GetNetworkAreaNetworkRangeArrayOutput) ToGetNetworkAreaNetworkRangeArrayOutput() GetNetworkAreaNetworkRangeArrayOutput { +func (o GetLoadbalancerListenerServerNameIndicatorArrayOutput) ToGetLoadbalancerListenerServerNameIndicatorArrayOutput() GetLoadbalancerListenerServerNameIndicatorArrayOutput { return o } -func (o GetNetworkAreaNetworkRangeArrayOutput) ToGetNetworkAreaNetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeArrayOutput { +func (o GetLoadbalancerListenerServerNameIndicatorArrayOutput) ToGetLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(ctx context.Context) GetLoadbalancerListenerServerNameIndicatorArrayOutput { return o } -func (o GetNetworkAreaNetworkRangeArrayOutput) Index(i pulumi.IntInput) GetNetworkAreaNetworkRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNetworkAreaNetworkRange { - return vs[0].([]GetNetworkAreaNetworkRange)[vs[1].(int)] - }).(GetNetworkAreaNetworkRangeOutput) +func (o GetLoadbalancerListenerServerNameIndicatorArrayOutput) Index(i pulumi.IntInput) GetLoadbalancerListenerServerNameIndicatorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLoadbalancerListenerServerNameIndicator { + return vs[0].([]GetLoadbalancerListenerServerNameIndicator)[vs[1].(int)] + }).(GetLoadbalancerListenerServerNameIndicatorOutput) } -type GetNetworkAreaRegionIpv4 struct { - // List of DNS Servers/Nameservers. - DefaultNameservers []string `pulumi:"defaultNameservers"` - // The default prefix length for networks in the network area. - DefaultPrefixLength int `pulumi:"defaultPrefixLength"` - // The maximal prefix length for networks in the network area. - MaxPrefixLength int `pulumi:"maxPrefixLength"` - // The minimal prefix length for networks in the network area. - MinPrefixLength int `pulumi:"minPrefixLength"` - // List of Network ranges. - NetworkRanges []GetNetworkAreaRegionIpv4NetworkRange `pulumi:"networkRanges"` - // IPv4 Classless Inter-Domain Routing (CIDR). - TransferNetwork string `pulumi:"transferNetwork"` +type GetLoadbalancerListenerTcp struct { + // Time after which an idle connection is closed. The default value is set to 5 minutes, and the maximum value is one hour. + IdleTimeout string `pulumi:"idleTimeout"` } -// GetNetworkAreaRegionIpv4Input is an input type that accepts GetNetworkAreaRegionIpv4Args and GetNetworkAreaRegionIpv4Output values. -// You can construct a concrete instance of `GetNetworkAreaRegionIpv4Input` via: +// GetLoadbalancerListenerTcpInput is an input type that accepts GetLoadbalancerListenerTcpArgs and GetLoadbalancerListenerTcpOutput values. +// You can construct a concrete instance of `GetLoadbalancerListenerTcpInput` via: // -// GetNetworkAreaRegionIpv4Args{...} -type GetNetworkAreaRegionIpv4Input interface { +// GetLoadbalancerListenerTcpArgs{...} +type GetLoadbalancerListenerTcpInput interface { pulumi.Input - ToGetNetworkAreaRegionIpv4Output() GetNetworkAreaRegionIpv4Output - ToGetNetworkAreaRegionIpv4OutputWithContext(context.Context) GetNetworkAreaRegionIpv4Output + ToGetLoadbalancerListenerTcpOutput() GetLoadbalancerListenerTcpOutput + ToGetLoadbalancerListenerTcpOutputWithContext(context.Context) GetLoadbalancerListenerTcpOutput } -type GetNetworkAreaRegionIpv4Args struct { - // List of DNS Servers/Nameservers. - DefaultNameservers pulumi.StringArrayInput `pulumi:"defaultNameservers"` - // The default prefix length for networks in the network area. - DefaultPrefixLength pulumi.IntInput `pulumi:"defaultPrefixLength"` - // The maximal prefix length for networks in the network area. - MaxPrefixLength pulumi.IntInput `pulumi:"maxPrefixLength"` - // The minimal prefix length for networks in the network area. - MinPrefixLength pulumi.IntInput `pulumi:"minPrefixLength"` - // List of Network ranges. - NetworkRanges GetNetworkAreaRegionIpv4NetworkRangeArrayInput `pulumi:"networkRanges"` - // IPv4 Classless Inter-Domain Routing (CIDR). - TransferNetwork pulumi.StringInput `pulumi:"transferNetwork"` +type GetLoadbalancerListenerTcpArgs struct { + // Time after which an idle connection is closed. The default value is set to 5 minutes, and the maximum value is one hour. + IdleTimeout pulumi.StringInput `pulumi:"idleTimeout"` } -func (GetNetworkAreaRegionIpv4Args) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaRegionIpv4)(nil)).Elem() +func (GetLoadbalancerListenerTcpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerListenerTcp)(nil)).Elem() } -func (i GetNetworkAreaRegionIpv4Args) ToGetNetworkAreaRegionIpv4Output() GetNetworkAreaRegionIpv4Output { - return i.ToGetNetworkAreaRegionIpv4OutputWithContext(context.Background()) +func (i GetLoadbalancerListenerTcpArgs) ToGetLoadbalancerListenerTcpOutput() GetLoadbalancerListenerTcpOutput { + return i.ToGetLoadbalancerListenerTcpOutputWithContext(context.Background()) } -func (i GetNetworkAreaRegionIpv4Args) ToGetNetworkAreaRegionIpv4OutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4Output { - return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRegionIpv4Output) +func (i GetLoadbalancerListenerTcpArgs) ToGetLoadbalancerListenerTcpOutputWithContext(ctx context.Context) GetLoadbalancerListenerTcpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerTcpOutput) } -type GetNetworkAreaRegionIpv4Output struct{ *pulumi.OutputState } +type GetLoadbalancerListenerTcpOutput struct{ *pulumi.OutputState } -func (GetNetworkAreaRegionIpv4Output) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaRegionIpv4)(nil)).Elem() +func (GetLoadbalancerListenerTcpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerListenerTcp)(nil)).Elem() } -func (o GetNetworkAreaRegionIpv4Output) ToGetNetworkAreaRegionIpv4Output() GetNetworkAreaRegionIpv4Output { +func (o GetLoadbalancerListenerTcpOutput) ToGetLoadbalancerListenerTcpOutput() GetLoadbalancerListenerTcpOutput { return o } -func (o GetNetworkAreaRegionIpv4Output) ToGetNetworkAreaRegionIpv4OutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4Output { +func (o GetLoadbalancerListenerTcpOutput) ToGetLoadbalancerListenerTcpOutputWithContext(ctx context.Context) GetLoadbalancerListenerTcpOutput { return o } -// List of DNS Servers/Nameservers. -func (o GetNetworkAreaRegionIpv4Output) DefaultNameservers() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetNetworkAreaRegionIpv4) []string { return v.DefaultNameservers }).(pulumi.StringArrayOutput) +// Time after which an idle connection is closed. The default value is set to 5 minutes, and the maximum value is one hour. +func (o GetLoadbalancerListenerTcpOutput) IdleTimeout() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerListenerTcp) string { return v.IdleTimeout }).(pulumi.StringOutput) } -// The default prefix length for networks in the network area. -func (o GetNetworkAreaRegionIpv4Output) DefaultPrefixLength() pulumi.IntOutput { - return o.ApplyT(func(v GetNetworkAreaRegionIpv4) int { return v.DefaultPrefixLength }).(pulumi.IntOutput) +type GetLoadbalancerListenerUdp struct { + // Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. + IdleTimeout string `pulumi:"idleTimeout"` } -// The maximal prefix length for networks in the network area. -func (o GetNetworkAreaRegionIpv4Output) MaxPrefixLength() pulumi.IntOutput { - return o.ApplyT(func(v GetNetworkAreaRegionIpv4) int { return v.MaxPrefixLength }).(pulumi.IntOutput) +// GetLoadbalancerListenerUdpInput is an input type that accepts GetLoadbalancerListenerUdpArgs and GetLoadbalancerListenerUdpOutput values. +// You can construct a concrete instance of `GetLoadbalancerListenerUdpInput` via: +// +// GetLoadbalancerListenerUdpArgs{...} +type GetLoadbalancerListenerUdpInput interface { + pulumi.Input + + ToGetLoadbalancerListenerUdpOutput() GetLoadbalancerListenerUdpOutput + ToGetLoadbalancerListenerUdpOutputWithContext(context.Context) GetLoadbalancerListenerUdpOutput } -// The minimal prefix length for networks in the network area. -func (o GetNetworkAreaRegionIpv4Output) MinPrefixLength() pulumi.IntOutput { - return o.ApplyT(func(v GetNetworkAreaRegionIpv4) int { return v.MinPrefixLength }).(pulumi.IntOutput) +type GetLoadbalancerListenerUdpArgs struct { + // Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. + IdleTimeout pulumi.StringInput `pulumi:"idleTimeout"` } -// List of Network ranges. -func (o GetNetworkAreaRegionIpv4Output) NetworkRanges() GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { - return o.ApplyT(func(v GetNetworkAreaRegionIpv4) []GetNetworkAreaRegionIpv4NetworkRange { return v.NetworkRanges }).(GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) +func (GetLoadbalancerListenerUdpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerListenerUdp)(nil)).Elem() } -// IPv4 Classless Inter-Domain Routing (CIDR). -func (o GetNetworkAreaRegionIpv4Output) TransferNetwork() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaRegionIpv4) string { return v.TransferNetwork }).(pulumi.StringOutput) +func (i GetLoadbalancerListenerUdpArgs) ToGetLoadbalancerListenerUdpOutput() GetLoadbalancerListenerUdpOutput { + return i.ToGetLoadbalancerListenerUdpOutputWithContext(context.Background()) } -type GetNetworkAreaRegionIpv4NetworkRange struct { - NetworkRangeId string `pulumi:"networkRangeId"` - // Classless Inter-Domain Routing (CIDR). - Prefix string `pulumi:"prefix"` +func (i GetLoadbalancerListenerUdpArgs) ToGetLoadbalancerListenerUdpOutputWithContext(ctx context.Context) GetLoadbalancerListenerUdpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerListenerUdpOutput) } -// GetNetworkAreaRegionIpv4NetworkRangeInput is an input type that accepts GetNetworkAreaRegionIpv4NetworkRangeArgs and GetNetworkAreaRegionIpv4NetworkRangeOutput values. -// You can construct a concrete instance of `GetNetworkAreaRegionIpv4NetworkRangeInput` via: -// -// GetNetworkAreaRegionIpv4NetworkRangeArgs{...} -type GetNetworkAreaRegionIpv4NetworkRangeInput interface { - pulumi.Input +type GetLoadbalancerListenerUdpOutput struct{ *pulumi.OutputState } - ToGetNetworkAreaRegionIpv4NetworkRangeOutput() GetNetworkAreaRegionIpv4NetworkRangeOutput - ToGetNetworkAreaRegionIpv4NetworkRangeOutputWithContext(context.Context) GetNetworkAreaRegionIpv4NetworkRangeOutput +func (GetLoadbalancerListenerUdpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerListenerUdp)(nil)).Elem() } -type GetNetworkAreaRegionIpv4NetworkRangeArgs struct { - NetworkRangeId pulumi.StringInput `pulumi:"networkRangeId"` - // Classless Inter-Domain Routing (CIDR). - Prefix pulumi.StringInput `pulumi:"prefix"` +func (o GetLoadbalancerListenerUdpOutput) ToGetLoadbalancerListenerUdpOutput() GetLoadbalancerListenerUdpOutput { + return o } -func (GetNetworkAreaRegionIpv4NetworkRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaRegionIpv4NetworkRange)(nil)).Elem() +func (o GetLoadbalancerListenerUdpOutput) ToGetLoadbalancerListenerUdpOutputWithContext(ctx context.Context) GetLoadbalancerListenerUdpOutput { + return o } -func (i GetNetworkAreaRegionIpv4NetworkRangeArgs) ToGetNetworkAreaRegionIpv4NetworkRangeOutput() GetNetworkAreaRegionIpv4NetworkRangeOutput { - return i.ToGetNetworkAreaRegionIpv4NetworkRangeOutputWithContext(context.Background()) +// Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. +func (o GetLoadbalancerListenerUdpOutput) IdleTimeout() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerListenerUdp) string { return v.IdleTimeout }).(pulumi.StringOutput) } -func (i GetNetworkAreaRegionIpv4NetworkRangeArgs) ToGetNetworkAreaRegionIpv4NetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4NetworkRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRegionIpv4NetworkRangeOutput) +type GetLoadbalancerNetwork struct { + // Openstack network ID. + NetworkId string `pulumi:"networkId"` + // The role defines how the load balancer is using the network. + Role string `pulumi:"role"` } -// GetNetworkAreaRegionIpv4NetworkRangeArrayInput is an input type that accepts GetNetworkAreaRegionIpv4NetworkRangeArray and GetNetworkAreaRegionIpv4NetworkRangeArrayOutput values. -// You can construct a concrete instance of `GetNetworkAreaRegionIpv4NetworkRangeArrayInput` via: +// GetLoadbalancerNetworkInput is an input type that accepts GetLoadbalancerNetworkArgs and GetLoadbalancerNetworkOutput values. +// You can construct a concrete instance of `GetLoadbalancerNetworkInput` via: // -// GetNetworkAreaRegionIpv4NetworkRangeArray{ GetNetworkAreaRegionIpv4NetworkRangeArgs{...} } -type GetNetworkAreaRegionIpv4NetworkRangeArrayInput interface { +// GetLoadbalancerNetworkArgs{...} +type GetLoadbalancerNetworkInput interface { pulumi.Input - ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutput() GetNetworkAreaRegionIpv4NetworkRangeArrayOutput - ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(context.Context) GetNetworkAreaRegionIpv4NetworkRangeArrayOutput + ToGetLoadbalancerNetworkOutput() GetLoadbalancerNetworkOutput + ToGetLoadbalancerNetworkOutputWithContext(context.Context) GetLoadbalancerNetworkOutput } -type GetNetworkAreaRegionIpv4NetworkRangeArray []GetNetworkAreaRegionIpv4NetworkRangeInput +type GetLoadbalancerNetworkArgs struct { + // Openstack network ID. + NetworkId pulumi.StringInput `pulumi:"networkId"` + // The role defines how the load balancer is using the network. + Role pulumi.StringInput `pulumi:"role"` +} -func (GetNetworkAreaRegionIpv4NetworkRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetNetworkAreaRegionIpv4NetworkRange)(nil)).Elem() +func (GetLoadbalancerNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerNetwork)(nil)).Elem() } -func (i GetNetworkAreaRegionIpv4NetworkRangeArray) ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutput() GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { - return i.ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(context.Background()) +func (i GetLoadbalancerNetworkArgs) ToGetLoadbalancerNetworkOutput() GetLoadbalancerNetworkOutput { + return i.ToGetLoadbalancerNetworkOutputWithContext(context.Background()) } -func (i GetNetworkAreaRegionIpv4NetworkRangeArray) ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) +func (i GetLoadbalancerNetworkArgs) ToGetLoadbalancerNetworkOutputWithContext(ctx context.Context) GetLoadbalancerNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerNetworkOutput) } -type GetNetworkAreaRegionIpv4NetworkRangeOutput struct{ *pulumi.OutputState } +// GetLoadbalancerNetworkArrayInput is an input type that accepts GetLoadbalancerNetworkArray and GetLoadbalancerNetworkArrayOutput values. +// You can construct a concrete instance of `GetLoadbalancerNetworkArrayInput` via: +// +// GetLoadbalancerNetworkArray{ GetLoadbalancerNetworkArgs{...} } +type GetLoadbalancerNetworkArrayInput interface { + pulumi.Input -func (GetNetworkAreaRegionIpv4NetworkRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaRegionIpv4NetworkRange)(nil)).Elem() + ToGetLoadbalancerNetworkArrayOutput() GetLoadbalancerNetworkArrayOutput + ToGetLoadbalancerNetworkArrayOutputWithContext(context.Context) GetLoadbalancerNetworkArrayOutput } -func (o GetNetworkAreaRegionIpv4NetworkRangeOutput) ToGetNetworkAreaRegionIpv4NetworkRangeOutput() GetNetworkAreaRegionIpv4NetworkRangeOutput { - return o -} +type GetLoadbalancerNetworkArray []GetLoadbalancerNetworkInput -func (o GetNetworkAreaRegionIpv4NetworkRangeOutput) ToGetNetworkAreaRegionIpv4NetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4NetworkRangeOutput { - return o +func (GetLoadbalancerNetworkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadbalancerNetwork)(nil)).Elem() } -func (o GetNetworkAreaRegionIpv4NetworkRangeOutput) NetworkRangeId() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaRegionIpv4NetworkRange) string { return v.NetworkRangeId }).(pulumi.StringOutput) +func (i GetLoadbalancerNetworkArray) ToGetLoadbalancerNetworkArrayOutput() GetLoadbalancerNetworkArrayOutput { + return i.ToGetLoadbalancerNetworkArrayOutputWithContext(context.Background()) } -// Classless Inter-Domain Routing (CIDR). -func (o GetNetworkAreaRegionIpv4NetworkRangeOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaRegionIpv4NetworkRange) string { return v.Prefix }).(pulumi.StringOutput) +func (i GetLoadbalancerNetworkArray) ToGetLoadbalancerNetworkArrayOutputWithContext(ctx context.Context) GetLoadbalancerNetworkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerNetworkArrayOutput) } -type GetNetworkAreaRegionIpv4NetworkRangeArrayOutput struct{ *pulumi.OutputState } +type GetLoadbalancerNetworkOutput struct{ *pulumi.OutputState } -func (GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetNetworkAreaRegionIpv4NetworkRange)(nil)).Elem() +func (GetLoadbalancerNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerNetwork)(nil)).Elem() } -func (o GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutput() GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { +func (o GetLoadbalancerNetworkOutput) ToGetLoadbalancerNetworkOutput() GetLoadbalancerNetworkOutput { return o } -func (o GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { +func (o GetLoadbalancerNetworkOutput) ToGetLoadbalancerNetworkOutputWithContext(ctx context.Context) GetLoadbalancerNetworkOutput { return o } -func (o GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) Index(i pulumi.IntInput) GetNetworkAreaRegionIpv4NetworkRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNetworkAreaRegionIpv4NetworkRange { - return vs[0].([]GetNetworkAreaRegionIpv4NetworkRange)[vs[1].(int)] - }).(GetNetworkAreaRegionIpv4NetworkRangeOutput) +// Openstack network ID. +func (o GetLoadbalancerNetworkOutput) NetworkId() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerNetwork) string { return v.NetworkId }).(pulumi.StringOutput) } -type GetNetworkAreaRouteDestination struct { - // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. - Type string `pulumi:"type"` - // An CIDR string. - Value string `pulumi:"value"` +// The role defines how the load balancer is using the network. +func (o GetLoadbalancerNetworkOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerNetwork) string { return v.Role }).(pulumi.StringOutput) } -// GetNetworkAreaRouteDestinationInput is an input type that accepts GetNetworkAreaRouteDestinationArgs and GetNetworkAreaRouteDestinationOutput values. -// You can construct a concrete instance of `GetNetworkAreaRouteDestinationInput` via: -// -// GetNetworkAreaRouteDestinationArgs{...} -type GetNetworkAreaRouteDestinationInput interface { - pulumi.Input +type GetLoadbalancerNetworkArrayOutput struct{ *pulumi.OutputState } - ToGetNetworkAreaRouteDestinationOutput() GetNetworkAreaRouteDestinationOutput - ToGetNetworkAreaRouteDestinationOutputWithContext(context.Context) GetNetworkAreaRouteDestinationOutput +func (GetLoadbalancerNetworkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadbalancerNetwork)(nil)).Elem() } -type GetNetworkAreaRouteDestinationArgs struct { - // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. - Type pulumi.StringInput `pulumi:"type"` - // An CIDR string. - Value pulumi.StringInput `pulumi:"value"` +func (o GetLoadbalancerNetworkArrayOutput) ToGetLoadbalancerNetworkArrayOutput() GetLoadbalancerNetworkArrayOutput { + return o } -func (GetNetworkAreaRouteDestinationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaRouteDestination)(nil)).Elem() +func (o GetLoadbalancerNetworkArrayOutput) ToGetLoadbalancerNetworkArrayOutputWithContext(ctx context.Context) GetLoadbalancerNetworkArrayOutput { + return o } -func (i GetNetworkAreaRouteDestinationArgs) ToGetNetworkAreaRouteDestinationOutput() GetNetworkAreaRouteDestinationOutput { - return i.ToGetNetworkAreaRouteDestinationOutputWithContext(context.Background()) +func (o GetLoadbalancerNetworkArrayOutput) Index(i pulumi.IntInput) GetLoadbalancerNetworkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLoadbalancerNetwork { + return vs[0].([]GetLoadbalancerNetwork)[vs[1].(int)] + }).(GetLoadbalancerNetworkOutput) } -func (i GetNetworkAreaRouteDestinationArgs) ToGetNetworkAreaRouteDestinationOutputWithContext(ctx context.Context) GetNetworkAreaRouteDestinationOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRouteDestinationOutput) +type GetLoadbalancerOptions struct { + // Load Balancer is accessible only from an IP address in this range. + Acls []string `pulumi:"acls"` + // We offer Load Balancer metrics observability via ARGUS or external solutions. + Observability GetLoadbalancerOptionsObservability `pulumi:"observability"` + // If true, Load Balancer is accessible only via a private network IP address. + PrivateNetworkOnly bool `pulumi:"privateNetworkOnly"` } -type GetNetworkAreaRouteDestinationOutput struct{ *pulumi.OutputState } +// GetLoadbalancerOptionsInput is an input type that accepts GetLoadbalancerOptionsArgs and GetLoadbalancerOptionsOutput values. +// You can construct a concrete instance of `GetLoadbalancerOptionsInput` via: +// +// GetLoadbalancerOptionsArgs{...} +type GetLoadbalancerOptionsInput interface { + pulumi.Input -func (GetNetworkAreaRouteDestinationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaRouteDestination)(nil)).Elem() + ToGetLoadbalancerOptionsOutput() GetLoadbalancerOptionsOutput + ToGetLoadbalancerOptionsOutputWithContext(context.Context) GetLoadbalancerOptionsOutput } -func (o GetNetworkAreaRouteDestinationOutput) ToGetNetworkAreaRouteDestinationOutput() GetNetworkAreaRouteDestinationOutput { - return o +type GetLoadbalancerOptionsArgs struct { + // Load Balancer is accessible only from an IP address in this range. + Acls pulumi.StringArrayInput `pulumi:"acls"` + // We offer Load Balancer metrics observability via ARGUS or external solutions. + Observability GetLoadbalancerOptionsObservabilityInput `pulumi:"observability"` + // If true, Load Balancer is accessible only via a private network IP address. + PrivateNetworkOnly pulumi.BoolInput `pulumi:"privateNetworkOnly"` } -func (o GetNetworkAreaRouteDestinationOutput) ToGetNetworkAreaRouteDestinationOutputWithContext(ctx context.Context) GetNetworkAreaRouteDestinationOutput { - return o +func (GetLoadbalancerOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerOptions)(nil)).Elem() } -// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. -func (o GetNetworkAreaRouteDestinationOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaRouteDestination) string { return v.Type }).(pulumi.StringOutput) +func (i GetLoadbalancerOptionsArgs) ToGetLoadbalancerOptionsOutput() GetLoadbalancerOptionsOutput { + return i.ToGetLoadbalancerOptionsOutputWithContext(context.Background()) } -// An CIDR string. -func (o GetNetworkAreaRouteDestinationOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaRouteDestination) string { return v.Value }).(pulumi.StringOutput) +func (i GetLoadbalancerOptionsArgs) ToGetLoadbalancerOptionsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerOptionsOutput) } -type GetNetworkAreaRouteNextHop struct { - // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. - Type string `pulumi:"type"` - // Either IPv4 or IPv6 (not set for blackhole and internet). - Value string `pulumi:"value"` +type GetLoadbalancerOptionsOutput struct{ *pulumi.OutputState } + +func (GetLoadbalancerOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerOptions)(nil)).Elem() } -// GetNetworkAreaRouteNextHopInput is an input type that accepts GetNetworkAreaRouteNextHopArgs and GetNetworkAreaRouteNextHopOutput values. -// You can construct a concrete instance of `GetNetworkAreaRouteNextHopInput` via: -// -// GetNetworkAreaRouteNextHopArgs{...} -type GetNetworkAreaRouteNextHopInput interface { - pulumi.Input +func (o GetLoadbalancerOptionsOutput) ToGetLoadbalancerOptionsOutput() GetLoadbalancerOptionsOutput { + return o +} - ToGetNetworkAreaRouteNextHopOutput() GetNetworkAreaRouteNextHopOutput - ToGetNetworkAreaRouteNextHopOutputWithContext(context.Context) GetNetworkAreaRouteNextHopOutput +func (o GetLoadbalancerOptionsOutput) ToGetLoadbalancerOptionsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsOutput { + return o } -type GetNetworkAreaRouteNextHopArgs struct { - // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. - Type pulumi.StringInput `pulumi:"type"` - // Either IPv4 or IPv6 (not set for blackhole and internet). - Value pulumi.StringInput `pulumi:"value"` +// Load Balancer is accessible only from an IP address in this range. +func (o GetLoadbalancerOptionsOutput) Acls() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetLoadbalancerOptions) []string { return v.Acls }).(pulumi.StringArrayOutput) } -func (GetNetworkAreaRouteNextHopArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaRouteNextHop)(nil)).Elem() +// We offer Load Balancer metrics observability via ARGUS or external solutions. +func (o GetLoadbalancerOptionsOutput) Observability() GetLoadbalancerOptionsObservabilityOutput { + return o.ApplyT(func(v GetLoadbalancerOptions) GetLoadbalancerOptionsObservability { return v.Observability }).(GetLoadbalancerOptionsObservabilityOutput) } -func (i GetNetworkAreaRouteNextHopArgs) ToGetNetworkAreaRouteNextHopOutput() GetNetworkAreaRouteNextHopOutput { - return i.ToGetNetworkAreaRouteNextHopOutputWithContext(context.Background()) +// If true, Load Balancer is accessible only via a private network IP address. +func (o GetLoadbalancerOptionsOutput) PrivateNetworkOnly() pulumi.BoolOutput { + return o.ApplyT(func(v GetLoadbalancerOptions) bool { return v.PrivateNetworkOnly }).(pulumi.BoolOutput) } -func (i GetNetworkAreaRouteNextHopArgs) ToGetNetworkAreaRouteNextHopOutputWithContext(ctx context.Context) GetNetworkAreaRouteNextHopOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRouteNextHopOutput) +type GetLoadbalancerOptionsObservability struct { + // Observability logs configuration. + Logs GetLoadbalancerOptionsObservabilityLogs `pulumi:"logs"` + // Observability metrics configuration. + Metrics GetLoadbalancerOptionsObservabilityMetrics `pulumi:"metrics"` } -type GetNetworkAreaRouteNextHopOutput struct{ *pulumi.OutputState } +// GetLoadbalancerOptionsObservabilityInput is an input type that accepts GetLoadbalancerOptionsObservabilityArgs and GetLoadbalancerOptionsObservabilityOutput values. +// You can construct a concrete instance of `GetLoadbalancerOptionsObservabilityInput` via: +// +// GetLoadbalancerOptionsObservabilityArgs{...} +type GetLoadbalancerOptionsObservabilityInput interface { + pulumi.Input -func (GetNetworkAreaRouteNextHopOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetNetworkAreaRouteNextHop)(nil)).Elem() + ToGetLoadbalancerOptionsObservabilityOutput() GetLoadbalancerOptionsObservabilityOutput + ToGetLoadbalancerOptionsObservabilityOutputWithContext(context.Context) GetLoadbalancerOptionsObservabilityOutput } -func (o GetNetworkAreaRouteNextHopOutput) ToGetNetworkAreaRouteNextHopOutput() GetNetworkAreaRouteNextHopOutput { - return o +type GetLoadbalancerOptionsObservabilityArgs struct { + // Observability logs configuration. + Logs GetLoadbalancerOptionsObservabilityLogsInput `pulumi:"logs"` + // Observability metrics configuration. + Metrics GetLoadbalancerOptionsObservabilityMetricsInput `pulumi:"metrics"` } -func (o GetNetworkAreaRouteNextHopOutput) ToGetNetworkAreaRouteNextHopOutputWithContext(ctx context.Context) GetNetworkAreaRouteNextHopOutput { - return o +func (GetLoadbalancerOptionsObservabilityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerOptionsObservability)(nil)).Elem() } -// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. -func (o GetNetworkAreaRouteNextHopOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaRouteNextHop) string { return v.Type }).(pulumi.StringOutput) +func (i GetLoadbalancerOptionsObservabilityArgs) ToGetLoadbalancerOptionsObservabilityOutput() GetLoadbalancerOptionsObservabilityOutput { + return i.ToGetLoadbalancerOptionsObservabilityOutputWithContext(context.Background()) } -// Either IPv4 or IPv6 (not set for blackhole and internet). -func (o GetNetworkAreaRouteNextHopOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetNetworkAreaRouteNextHop) string { return v.Value }).(pulumi.StringOutput) +func (i GetLoadbalancerOptionsObservabilityArgs) ToGetLoadbalancerOptionsObservabilityOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerOptionsObservabilityOutput) } -type GetObservabilityAlertgroupRule struct { - // The name of the alert rule. Is the identifier and must be unique in the group. - Alert string `pulumi:"alert"` - // A map of key:value. Annotations to add or overwrite for each alert - Annotations map[string]string `pulumi:"annotations"` - // The PromQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. - Expression string `pulumi:"expression"` - // Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s - For string `pulumi:"for"` - // A map of key:value. Labels to add or overwrite for each alert - Labels map[string]string `pulumi:"labels"` - // The name of the metric. It's the identifier and must be unique in the group. - Record string `pulumi:"record"` -} +type GetLoadbalancerOptionsObservabilityOutput struct{ *pulumi.OutputState } -// GetObservabilityAlertgroupRuleInput is an input type that accepts GetObservabilityAlertgroupRuleArgs and GetObservabilityAlertgroupRuleOutput values. -// You can construct a concrete instance of `GetObservabilityAlertgroupRuleInput` via: -// -// GetObservabilityAlertgroupRuleArgs{...} -type GetObservabilityAlertgroupRuleInput interface { - pulumi.Input +func (GetLoadbalancerOptionsObservabilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerOptionsObservability)(nil)).Elem() +} - ToGetObservabilityAlertgroupRuleOutput() GetObservabilityAlertgroupRuleOutput - ToGetObservabilityAlertgroupRuleOutputWithContext(context.Context) GetObservabilityAlertgroupRuleOutput +func (o GetLoadbalancerOptionsObservabilityOutput) ToGetLoadbalancerOptionsObservabilityOutput() GetLoadbalancerOptionsObservabilityOutput { + return o } -type GetObservabilityAlertgroupRuleArgs struct { - // The name of the alert rule. Is the identifier and must be unique in the group. - Alert pulumi.StringInput `pulumi:"alert"` - // A map of key:value. Annotations to add or overwrite for each alert - Annotations pulumi.StringMapInput `pulumi:"annotations"` - // The PromQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. - Expression pulumi.StringInput `pulumi:"expression"` - // Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s - For pulumi.StringInput `pulumi:"for"` - // A map of key:value. Labels to add or overwrite for each alert - Labels pulumi.StringMapInput `pulumi:"labels"` - // The name of the metric. It's the identifier and must be unique in the group. - Record pulumi.StringInput `pulumi:"record"` +func (o GetLoadbalancerOptionsObservabilityOutput) ToGetLoadbalancerOptionsObservabilityOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityOutput { + return o } -func (GetObservabilityAlertgroupRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityAlertgroupRule)(nil)).Elem() +// Observability logs configuration. +func (o GetLoadbalancerOptionsObservabilityOutput) Logs() GetLoadbalancerOptionsObservabilityLogsOutput { + return o.ApplyT(func(v GetLoadbalancerOptionsObservability) GetLoadbalancerOptionsObservabilityLogs { return v.Logs }).(GetLoadbalancerOptionsObservabilityLogsOutput) } -func (i GetObservabilityAlertgroupRuleArgs) ToGetObservabilityAlertgroupRuleOutput() GetObservabilityAlertgroupRuleOutput { - return i.ToGetObservabilityAlertgroupRuleOutputWithContext(context.Background()) +// Observability metrics configuration. +func (o GetLoadbalancerOptionsObservabilityOutput) Metrics() GetLoadbalancerOptionsObservabilityMetricsOutput { + return o.ApplyT(func(v GetLoadbalancerOptionsObservability) GetLoadbalancerOptionsObservabilityMetrics { + return v.Metrics + }).(GetLoadbalancerOptionsObservabilityMetricsOutput) } -func (i GetObservabilityAlertgroupRuleArgs) ToGetObservabilityAlertgroupRuleOutputWithContext(ctx context.Context) GetObservabilityAlertgroupRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityAlertgroupRuleOutput) +type GetLoadbalancerOptionsObservabilityLogs struct { + // Credentials reference for logs. + CredentialsRef string `pulumi:"credentialsRef"` + // Credentials reference for logs. + PushUrl string `pulumi:"pushUrl"` } -// GetObservabilityAlertgroupRuleArrayInput is an input type that accepts GetObservabilityAlertgroupRuleArray and GetObservabilityAlertgroupRuleArrayOutput values. -// You can construct a concrete instance of `GetObservabilityAlertgroupRuleArrayInput` via: +// GetLoadbalancerOptionsObservabilityLogsInput is an input type that accepts GetLoadbalancerOptionsObservabilityLogsArgs and GetLoadbalancerOptionsObservabilityLogsOutput values. +// You can construct a concrete instance of `GetLoadbalancerOptionsObservabilityLogsInput` via: // -// GetObservabilityAlertgroupRuleArray{ GetObservabilityAlertgroupRuleArgs{...} } -type GetObservabilityAlertgroupRuleArrayInput interface { +// GetLoadbalancerOptionsObservabilityLogsArgs{...} +type GetLoadbalancerOptionsObservabilityLogsInput interface { pulumi.Input - ToGetObservabilityAlertgroupRuleArrayOutput() GetObservabilityAlertgroupRuleArrayOutput - ToGetObservabilityAlertgroupRuleArrayOutputWithContext(context.Context) GetObservabilityAlertgroupRuleArrayOutput + ToGetLoadbalancerOptionsObservabilityLogsOutput() GetLoadbalancerOptionsObservabilityLogsOutput + ToGetLoadbalancerOptionsObservabilityLogsOutputWithContext(context.Context) GetLoadbalancerOptionsObservabilityLogsOutput } -type GetObservabilityAlertgroupRuleArray []GetObservabilityAlertgroupRuleInput +type GetLoadbalancerOptionsObservabilityLogsArgs struct { + // Credentials reference for logs. + CredentialsRef pulumi.StringInput `pulumi:"credentialsRef"` + // Credentials reference for logs. + PushUrl pulumi.StringInput `pulumi:"pushUrl"` +} -func (GetObservabilityAlertgroupRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityAlertgroupRule)(nil)).Elem() +func (GetLoadbalancerOptionsObservabilityLogsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerOptionsObservabilityLogs)(nil)).Elem() } -func (i GetObservabilityAlertgroupRuleArray) ToGetObservabilityAlertgroupRuleArrayOutput() GetObservabilityAlertgroupRuleArrayOutput { - return i.ToGetObservabilityAlertgroupRuleArrayOutputWithContext(context.Background()) +func (i GetLoadbalancerOptionsObservabilityLogsArgs) ToGetLoadbalancerOptionsObservabilityLogsOutput() GetLoadbalancerOptionsObservabilityLogsOutput { + return i.ToGetLoadbalancerOptionsObservabilityLogsOutputWithContext(context.Background()) } -func (i GetObservabilityAlertgroupRuleArray) ToGetObservabilityAlertgroupRuleArrayOutputWithContext(ctx context.Context) GetObservabilityAlertgroupRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityAlertgroupRuleArrayOutput) +func (i GetLoadbalancerOptionsObservabilityLogsArgs) ToGetLoadbalancerOptionsObservabilityLogsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityLogsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerOptionsObservabilityLogsOutput) } -type GetObservabilityAlertgroupRuleOutput struct{ *pulumi.OutputState } +type GetLoadbalancerOptionsObservabilityLogsOutput struct{ *pulumi.OutputState } -func (GetObservabilityAlertgroupRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityAlertgroupRule)(nil)).Elem() +func (GetLoadbalancerOptionsObservabilityLogsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerOptionsObservabilityLogs)(nil)).Elem() } -func (o GetObservabilityAlertgroupRuleOutput) ToGetObservabilityAlertgroupRuleOutput() GetObservabilityAlertgroupRuleOutput { +func (o GetLoadbalancerOptionsObservabilityLogsOutput) ToGetLoadbalancerOptionsObservabilityLogsOutput() GetLoadbalancerOptionsObservabilityLogsOutput { return o } -func (o GetObservabilityAlertgroupRuleOutput) ToGetObservabilityAlertgroupRuleOutputWithContext(ctx context.Context) GetObservabilityAlertgroupRuleOutput { +func (o GetLoadbalancerOptionsObservabilityLogsOutput) ToGetLoadbalancerOptionsObservabilityLogsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityLogsOutput { return o } -// The name of the alert rule. Is the identifier and must be unique in the group. -func (o GetObservabilityAlertgroupRuleOutput) Alert() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityAlertgroupRule) string { return v.Alert }).(pulumi.StringOutput) +// Credentials reference for logs. +func (o GetLoadbalancerOptionsObservabilityLogsOutput) CredentialsRef() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerOptionsObservabilityLogs) string { return v.CredentialsRef }).(pulumi.StringOutput) } -// A map of key:value. Annotations to add or overwrite for each alert -func (o GetObservabilityAlertgroupRuleOutput) Annotations() pulumi.StringMapOutput { - return o.ApplyT(func(v GetObservabilityAlertgroupRule) map[string]string { return v.Annotations }).(pulumi.StringMapOutput) +// Credentials reference for logs. +func (o GetLoadbalancerOptionsObservabilityLogsOutput) PushUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerOptionsObservabilityLogs) string { return v.PushUrl }).(pulumi.StringOutput) } -// The PromQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. -func (o GetObservabilityAlertgroupRuleOutput) Expression() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityAlertgroupRule) string { return v.Expression }).(pulumi.StringOutput) +type GetLoadbalancerOptionsObservabilityMetrics struct { + // Credentials reference for metrics. + CredentialsRef string `pulumi:"credentialsRef"` + // Credentials reference for metrics. + PushUrl string `pulumi:"pushUrl"` } -// Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s -func (o GetObservabilityAlertgroupRuleOutput) For() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityAlertgroupRule) string { return v.For }).(pulumi.StringOutput) -} - -// A map of key:value. Labels to add or overwrite for each alert -func (o GetObservabilityAlertgroupRuleOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v GetObservabilityAlertgroupRule) map[string]string { return v.Labels }).(pulumi.StringMapOutput) -} - -// The name of the metric. It's the identifier and must be unique in the group. -func (o GetObservabilityAlertgroupRuleOutput) Record() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityAlertgroupRule) string { return v.Record }).(pulumi.StringOutput) -} - -type GetObservabilityAlertgroupRuleArrayOutput struct{ *pulumi.OutputState } +// GetLoadbalancerOptionsObservabilityMetricsInput is an input type that accepts GetLoadbalancerOptionsObservabilityMetricsArgs and GetLoadbalancerOptionsObservabilityMetricsOutput values. +// You can construct a concrete instance of `GetLoadbalancerOptionsObservabilityMetricsInput` via: +// +// GetLoadbalancerOptionsObservabilityMetricsArgs{...} +type GetLoadbalancerOptionsObservabilityMetricsInput interface { + pulumi.Input -func (GetObservabilityAlertgroupRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityAlertgroupRule)(nil)).Elem() + ToGetLoadbalancerOptionsObservabilityMetricsOutput() GetLoadbalancerOptionsObservabilityMetricsOutput + ToGetLoadbalancerOptionsObservabilityMetricsOutputWithContext(context.Context) GetLoadbalancerOptionsObservabilityMetricsOutput } -func (o GetObservabilityAlertgroupRuleArrayOutput) ToGetObservabilityAlertgroupRuleArrayOutput() GetObservabilityAlertgroupRuleArrayOutput { - return o +type GetLoadbalancerOptionsObservabilityMetricsArgs struct { + // Credentials reference for metrics. + CredentialsRef pulumi.StringInput `pulumi:"credentialsRef"` + // Credentials reference for metrics. + PushUrl pulumi.StringInput `pulumi:"pushUrl"` } -func (o GetObservabilityAlertgroupRuleArrayOutput) ToGetObservabilityAlertgroupRuleArrayOutputWithContext(ctx context.Context) GetObservabilityAlertgroupRuleArrayOutput { - return o +func (GetLoadbalancerOptionsObservabilityMetricsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerOptionsObservabilityMetrics)(nil)).Elem() } -func (o GetObservabilityAlertgroupRuleArrayOutput) Index(i pulumi.IntInput) GetObservabilityAlertgroupRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityAlertgroupRule { - return vs[0].([]GetObservabilityAlertgroupRule)[vs[1].(int)] - }).(GetObservabilityAlertgroupRuleOutput) +func (i GetLoadbalancerOptionsObservabilityMetricsArgs) ToGetLoadbalancerOptionsObservabilityMetricsOutput() GetLoadbalancerOptionsObservabilityMetricsOutput { + return i.ToGetLoadbalancerOptionsObservabilityMetricsOutputWithContext(context.Background()) } -type GetObservabilityInstanceAlertConfig struct { - // Global configuration for the alerts. - Global GetObservabilityInstanceAlertConfigGlobal `pulumi:"global"` - // List of alert receivers. - Receivers []GetObservabilityInstanceAlertConfigReceiver `pulumi:"receivers"` - // The route for the alert. - Route GetObservabilityInstanceAlertConfigRoute `pulumi:"route"` +func (i GetLoadbalancerOptionsObservabilityMetricsArgs) ToGetLoadbalancerOptionsObservabilityMetricsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityMetricsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerOptionsObservabilityMetricsOutput) } -// GetObservabilityInstanceAlertConfigInput is an input type that accepts GetObservabilityInstanceAlertConfigArgs and GetObservabilityInstanceAlertConfigOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigInput` via: -// -// GetObservabilityInstanceAlertConfigArgs{...} -type GetObservabilityInstanceAlertConfigInput interface { - pulumi.Input +type GetLoadbalancerOptionsObservabilityMetricsOutput struct{ *pulumi.OutputState } - ToGetObservabilityInstanceAlertConfigOutput() GetObservabilityInstanceAlertConfigOutput - ToGetObservabilityInstanceAlertConfigOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigOutput +func (GetLoadbalancerOptionsObservabilityMetricsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerOptionsObservabilityMetrics)(nil)).Elem() } -type GetObservabilityInstanceAlertConfigArgs struct { - // Global configuration for the alerts. - Global GetObservabilityInstanceAlertConfigGlobalInput `pulumi:"global"` - // List of alert receivers. - Receivers GetObservabilityInstanceAlertConfigReceiverArrayInput `pulumi:"receivers"` - // The route for the alert. - Route GetObservabilityInstanceAlertConfigRouteInput `pulumi:"route"` +func (o GetLoadbalancerOptionsObservabilityMetricsOutput) ToGetLoadbalancerOptionsObservabilityMetricsOutput() GetLoadbalancerOptionsObservabilityMetricsOutput { + return o } -func (GetObservabilityInstanceAlertConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfig)(nil)).Elem() +func (o GetLoadbalancerOptionsObservabilityMetricsOutput) ToGetLoadbalancerOptionsObservabilityMetricsOutputWithContext(ctx context.Context) GetLoadbalancerOptionsObservabilityMetricsOutput { + return o } -func (i GetObservabilityInstanceAlertConfigArgs) ToGetObservabilityInstanceAlertConfigOutput() GetObservabilityInstanceAlertConfigOutput { - return i.ToGetObservabilityInstanceAlertConfigOutputWithContext(context.Background()) +// Credentials reference for metrics. +func (o GetLoadbalancerOptionsObservabilityMetricsOutput) CredentialsRef() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerOptionsObservabilityMetrics) string { return v.CredentialsRef }).(pulumi.StringOutput) } -func (i GetObservabilityInstanceAlertConfigArgs) ToGetObservabilityInstanceAlertConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigOutput) +// Credentials reference for metrics. +func (o GetLoadbalancerOptionsObservabilityMetricsOutput) PushUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerOptionsObservabilityMetrics) string { return v.PushUrl }).(pulumi.StringOutput) } -type GetObservabilityInstanceAlertConfigOutput struct{ *pulumi.OutputState } - -func (GetObservabilityInstanceAlertConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfig)(nil)).Elem() +type GetLoadbalancerTargetPool struct { + ActiveHealthCheck GetLoadbalancerTargetPoolActiveHealthCheck `pulumi:"activeHealthCheck"` + // Target pool name. + Name string `pulumi:"name"` + // Here you can setup various session persistence options, so far only "`useSourceIpAddress`" is supported. + SessionPersistence GetLoadbalancerTargetPoolSessionPersistence `pulumi:"sessionPersistence"` + // Identical port number where each target listens for traffic. + TargetPort int `pulumi:"targetPort"` + // List of all targets which will be used in the pool. Limited to 1000. + Targets []GetLoadbalancerTargetPoolTarget `pulumi:"targets"` } -func (o GetObservabilityInstanceAlertConfigOutput) ToGetObservabilityInstanceAlertConfigOutput() GetObservabilityInstanceAlertConfigOutput { - return o -} +// GetLoadbalancerTargetPoolInput is an input type that accepts GetLoadbalancerTargetPoolArgs and GetLoadbalancerTargetPoolOutput values. +// You can construct a concrete instance of `GetLoadbalancerTargetPoolInput` via: +// +// GetLoadbalancerTargetPoolArgs{...} +type GetLoadbalancerTargetPoolInput interface { + pulumi.Input -func (o GetObservabilityInstanceAlertConfigOutput) ToGetObservabilityInstanceAlertConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigOutput { - return o + ToGetLoadbalancerTargetPoolOutput() GetLoadbalancerTargetPoolOutput + ToGetLoadbalancerTargetPoolOutputWithContext(context.Context) GetLoadbalancerTargetPoolOutput } -// Global configuration for the alerts. -func (o GetObservabilityInstanceAlertConfigOutput) Global() GetObservabilityInstanceAlertConfigGlobalOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfig) GetObservabilityInstanceAlertConfigGlobal { return v.Global }).(GetObservabilityInstanceAlertConfigGlobalOutput) +type GetLoadbalancerTargetPoolArgs struct { + ActiveHealthCheck GetLoadbalancerTargetPoolActiveHealthCheckInput `pulumi:"activeHealthCheck"` + // Target pool name. + Name pulumi.StringInput `pulumi:"name"` + // Here you can setup various session persistence options, so far only "`useSourceIpAddress`" is supported. + SessionPersistence GetLoadbalancerTargetPoolSessionPersistenceInput `pulumi:"sessionPersistence"` + // Identical port number where each target listens for traffic. + TargetPort pulumi.IntInput `pulumi:"targetPort"` + // List of all targets which will be used in the pool. Limited to 1000. + Targets GetLoadbalancerTargetPoolTargetArrayInput `pulumi:"targets"` } -// List of alert receivers. -func (o GetObservabilityInstanceAlertConfigOutput) Receivers() GetObservabilityInstanceAlertConfigReceiverArrayOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfig) []GetObservabilityInstanceAlertConfigReceiver { - return v.Receivers - }).(GetObservabilityInstanceAlertConfigReceiverArrayOutput) +func (GetLoadbalancerTargetPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerTargetPool)(nil)).Elem() } -// The route for the alert. -func (o GetObservabilityInstanceAlertConfigOutput) Route() GetObservabilityInstanceAlertConfigRouteOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfig) GetObservabilityInstanceAlertConfigRoute { return v.Route }).(GetObservabilityInstanceAlertConfigRouteOutput) +func (i GetLoadbalancerTargetPoolArgs) ToGetLoadbalancerTargetPoolOutput() GetLoadbalancerTargetPoolOutput { + return i.ToGetLoadbalancerTargetPoolOutputWithContext(context.Background()) } -type GetObservabilityInstanceAlertConfigGlobal struct { - // The API key for OpsGenie. - OpsgenieApiKey string `pulumi:"opsgenieApiKey"` - // The host to send OpsGenie API requests to. Must be a valid URL - OpsgenieApiUrl string `pulumi:"opsgenieApiUrl"` - // The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt. - ResolveTimeout string `pulumi:"resolveTimeout"` - // SMTP authentication information. Must be a valid email address - SmtpAuthIdentity string `pulumi:"smtpAuthIdentity"` - // SMTP Auth using LOGIN and PLAIN. - SmtpAuthPassword string `pulumi:"smtpAuthPassword"` - // SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. - SmtpAuthUsername string `pulumi:"smtpAuthUsername"` - // The default SMTP From header field. Must be a valid email address - SmtpFrom string `pulumi:"smtpFrom"` - // The default SMTP smarthost used for sending emails, including port number. Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). - SmtpSmartHost string `pulumi:"smtpSmartHost"` +func (i GetLoadbalancerTargetPoolArgs) ToGetLoadbalancerTargetPoolOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolOutput) } -// GetObservabilityInstanceAlertConfigGlobalInput is an input type that accepts GetObservabilityInstanceAlertConfigGlobalArgs and GetObservabilityInstanceAlertConfigGlobalOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigGlobalInput` via: +// GetLoadbalancerTargetPoolArrayInput is an input type that accepts GetLoadbalancerTargetPoolArray and GetLoadbalancerTargetPoolArrayOutput values. +// You can construct a concrete instance of `GetLoadbalancerTargetPoolArrayInput` via: // -// GetObservabilityInstanceAlertConfigGlobalArgs{...} -type GetObservabilityInstanceAlertConfigGlobalInput interface { +// GetLoadbalancerTargetPoolArray{ GetLoadbalancerTargetPoolArgs{...} } +type GetLoadbalancerTargetPoolArrayInput interface { pulumi.Input - ToGetObservabilityInstanceAlertConfigGlobalOutput() GetObservabilityInstanceAlertConfigGlobalOutput - ToGetObservabilityInstanceAlertConfigGlobalOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigGlobalOutput + ToGetLoadbalancerTargetPoolArrayOutput() GetLoadbalancerTargetPoolArrayOutput + ToGetLoadbalancerTargetPoolArrayOutputWithContext(context.Context) GetLoadbalancerTargetPoolArrayOutput } -type GetObservabilityInstanceAlertConfigGlobalArgs struct { - // The API key for OpsGenie. - OpsgenieApiKey pulumi.StringInput `pulumi:"opsgenieApiKey"` - // The host to send OpsGenie API requests to. Must be a valid URL - OpsgenieApiUrl pulumi.StringInput `pulumi:"opsgenieApiUrl"` - // The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt. - ResolveTimeout pulumi.StringInput `pulumi:"resolveTimeout"` - // SMTP authentication information. Must be a valid email address - SmtpAuthIdentity pulumi.StringInput `pulumi:"smtpAuthIdentity"` - // SMTP Auth using LOGIN and PLAIN. - SmtpAuthPassword pulumi.StringInput `pulumi:"smtpAuthPassword"` - // SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. - SmtpAuthUsername pulumi.StringInput `pulumi:"smtpAuthUsername"` - // The default SMTP From header field. Must be a valid email address - SmtpFrom pulumi.StringInput `pulumi:"smtpFrom"` - // The default SMTP smarthost used for sending emails, including port number. Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). - SmtpSmartHost pulumi.StringInput `pulumi:"smtpSmartHost"` -} +type GetLoadbalancerTargetPoolArray []GetLoadbalancerTargetPoolInput -func (GetObservabilityInstanceAlertConfigGlobalArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigGlobal)(nil)).Elem() +func (GetLoadbalancerTargetPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadbalancerTargetPool)(nil)).Elem() } -func (i GetObservabilityInstanceAlertConfigGlobalArgs) ToGetObservabilityInstanceAlertConfigGlobalOutput() GetObservabilityInstanceAlertConfigGlobalOutput { - return i.ToGetObservabilityInstanceAlertConfigGlobalOutputWithContext(context.Background()) +func (i GetLoadbalancerTargetPoolArray) ToGetLoadbalancerTargetPoolArrayOutput() GetLoadbalancerTargetPoolArrayOutput { + return i.ToGetLoadbalancerTargetPoolArrayOutputWithContext(context.Background()) } -func (i GetObservabilityInstanceAlertConfigGlobalArgs) ToGetObservabilityInstanceAlertConfigGlobalOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigGlobalOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigGlobalOutput) +func (i GetLoadbalancerTargetPoolArray) ToGetLoadbalancerTargetPoolArrayOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolArrayOutput) } -type GetObservabilityInstanceAlertConfigGlobalOutput struct{ *pulumi.OutputState } +type GetLoadbalancerTargetPoolOutput struct{ *pulumi.OutputState } -func (GetObservabilityInstanceAlertConfigGlobalOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigGlobal)(nil)).Elem() +func (GetLoadbalancerTargetPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerTargetPool)(nil)).Elem() } -func (o GetObservabilityInstanceAlertConfigGlobalOutput) ToGetObservabilityInstanceAlertConfigGlobalOutput() GetObservabilityInstanceAlertConfigGlobalOutput { +func (o GetLoadbalancerTargetPoolOutput) ToGetLoadbalancerTargetPoolOutput() GetLoadbalancerTargetPoolOutput { return o } -func (o GetObservabilityInstanceAlertConfigGlobalOutput) ToGetObservabilityInstanceAlertConfigGlobalOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigGlobalOutput { +func (o GetLoadbalancerTargetPoolOutput) ToGetLoadbalancerTargetPoolOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolOutput { return o } -// The API key for OpsGenie. -func (o GetObservabilityInstanceAlertConfigGlobalOutput) OpsgenieApiKey() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.OpsgenieApiKey }).(pulumi.StringOutput) +func (o GetLoadbalancerTargetPoolOutput) ActiveHealthCheck() GetLoadbalancerTargetPoolActiveHealthCheckOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPool) GetLoadbalancerTargetPoolActiveHealthCheck { + return v.ActiveHealthCheck + }).(GetLoadbalancerTargetPoolActiveHealthCheckOutput) } -// The host to send OpsGenie API requests to. Must be a valid URL -func (o GetObservabilityInstanceAlertConfigGlobalOutput) OpsgenieApiUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.OpsgenieApiUrl }).(pulumi.StringOutput) +// Target pool name. +func (o GetLoadbalancerTargetPoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPool) string { return v.Name }).(pulumi.StringOutput) } -// The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt. -func (o GetObservabilityInstanceAlertConfigGlobalOutput) ResolveTimeout() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.ResolveTimeout }).(pulumi.StringOutput) +// Here you can setup various session persistence options, so far only "`useSourceIpAddress`" is supported. +func (o GetLoadbalancerTargetPoolOutput) SessionPersistence() GetLoadbalancerTargetPoolSessionPersistenceOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPool) GetLoadbalancerTargetPoolSessionPersistence { + return v.SessionPersistence + }).(GetLoadbalancerTargetPoolSessionPersistenceOutput) } -// SMTP authentication information. Must be a valid email address -func (o GetObservabilityInstanceAlertConfigGlobalOutput) SmtpAuthIdentity() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.SmtpAuthIdentity }).(pulumi.StringOutput) +// Identical port number where each target listens for traffic. +func (o GetLoadbalancerTargetPoolOutput) TargetPort() pulumi.IntOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPool) int { return v.TargetPort }).(pulumi.IntOutput) } -// SMTP Auth using LOGIN and PLAIN. -func (o GetObservabilityInstanceAlertConfigGlobalOutput) SmtpAuthPassword() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.SmtpAuthPassword }).(pulumi.StringOutput) +// List of all targets which will be used in the pool. Limited to 1000. +func (o GetLoadbalancerTargetPoolOutput) Targets() GetLoadbalancerTargetPoolTargetArrayOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPool) []GetLoadbalancerTargetPoolTarget { return v.Targets }).(GetLoadbalancerTargetPoolTargetArrayOutput) } -// SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. -func (o GetObservabilityInstanceAlertConfigGlobalOutput) SmtpAuthUsername() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.SmtpAuthUsername }).(pulumi.StringOutput) -} +type GetLoadbalancerTargetPoolArrayOutput struct{ *pulumi.OutputState } -// The default SMTP From header field. Must be a valid email address -func (o GetObservabilityInstanceAlertConfigGlobalOutput) SmtpFrom() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.SmtpFrom }).(pulumi.StringOutput) +func (GetLoadbalancerTargetPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadbalancerTargetPool)(nil)).Elem() } -// The default SMTP smarthost used for sending emails, including port number. Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). -func (o GetObservabilityInstanceAlertConfigGlobalOutput) SmtpSmartHost() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.SmtpSmartHost }).(pulumi.StringOutput) +func (o GetLoadbalancerTargetPoolArrayOutput) ToGetLoadbalancerTargetPoolArrayOutput() GetLoadbalancerTargetPoolArrayOutput { + return o } -type GetObservabilityInstanceAlertConfigReceiver struct { - // List of email configurations. - EmailConfigs []GetObservabilityInstanceAlertConfigReceiverEmailConfig `pulumi:"emailConfigs"` - // Name of the receiver. - Name string `pulumi:"name"` - // List of OpsGenie configurations. - OpsgenieConfigs []GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig `pulumi:"opsgenieConfigs"` - // List of Webhooks configurations. - WebhooksConfigs []GetObservabilityInstanceAlertConfigReceiverWebhooksConfig `pulumi:"webhooksConfigs"` +func (o GetLoadbalancerTargetPoolArrayOutput) ToGetLoadbalancerTargetPoolArrayOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolArrayOutput { + return o } -// GetObservabilityInstanceAlertConfigReceiverInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverArgs and GetObservabilityInstanceAlertConfigReceiverOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverInput` via: +func (o GetLoadbalancerTargetPoolArrayOutput) Index(i pulumi.IntInput) GetLoadbalancerTargetPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLoadbalancerTargetPool { + return vs[0].([]GetLoadbalancerTargetPool)[vs[1].(int)] + }).(GetLoadbalancerTargetPoolOutput) +} + +type GetLoadbalancerTargetPoolActiveHealthCheck struct { + // Healthy threshold of the health checking. + HealthyThreshold int `pulumi:"healthyThreshold"` + // Interval duration of health checking in seconds. + Interval string `pulumi:"interval"` + // Interval duration threshold of the health checking in seconds. + IntervalJitter string `pulumi:"intervalJitter"` + // Active health checking timeout duration in seconds. + Timeout string `pulumi:"timeout"` + // Unhealthy threshold of the health checking. + UnhealthyThreshold int `pulumi:"unhealthyThreshold"` +} + +// GetLoadbalancerTargetPoolActiveHealthCheckInput is an input type that accepts GetLoadbalancerTargetPoolActiveHealthCheckArgs and GetLoadbalancerTargetPoolActiveHealthCheckOutput values. +// You can construct a concrete instance of `GetLoadbalancerTargetPoolActiveHealthCheckInput` via: // -// GetObservabilityInstanceAlertConfigReceiverArgs{...} -type GetObservabilityInstanceAlertConfigReceiverInput interface { +// GetLoadbalancerTargetPoolActiveHealthCheckArgs{...} +type GetLoadbalancerTargetPoolActiveHealthCheckInput interface { pulumi.Input - ToGetObservabilityInstanceAlertConfigReceiverOutput() GetObservabilityInstanceAlertConfigReceiverOutput - ToGetObservabilityInstanceAlertConfigReceiverOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverOutput + ToGetLoadbalancerTargetPoolActiveHealthCheckOutput() GetLoadbalancerTargetPoolActiveHealthCheckOutput + ToGetLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(context.Context) GetLoadbalancerTargetPoolActiveHealthCheckOutput } -type GetObservabilityInstanceAlertConfigReceiverArgs struct { - // List of email configurations. - EmailConfigs GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput `pulumi:"emailConfigs"` - // Name of the receiver. - Name pulumi.StringInput `pulumi:"name"` - // List of OpsGenie configurations. - OpsgenieConfigs GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput `pulumi:"opsgenieConfigs"` - // List of Webhooks configurations. - WebhooksConfigs GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput `pulumi:"webhooksConfigs"` +type GetLoadbalancerTargetPoolActiveHealthCheckArgs struct { + // Healthy threshold of the health checking. + HealthyThreshold pulumi.IntInput `pulumi:"healthyThreshold"` + // Interval duration of health checking in seconds. + Interval pulumi.StringInput `pulumi:"interval"` + // Interval duration threshold of the health checking in seconds. + IntervalJitter pulumi.StringInput `pulumi:"intervalJitter"` + // Active health checking timeout duration in seconds. + Timeout pulumi.StringInput `pulumi:"timeout"` + // Unhealthy threshold of the health checking. + UnhealthyThreshold pulumi.IntInput `pulumi:"unhealthyThreshold"` } -func (GetObservabilityInstanceAlertConfigReceiverArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiver)(nil)).Elem() +func (GetLoadbalancerTargetPoolActiveHealthCheckArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerTargetPoolActiveHealthCheck)(nil)).Elem() } -func (i GetObservabilityInstanceAlertConfigReceiverArgs) ToGetObservabilityInstanceAlertConfigReceiverOutput() GetObservabilityInstanceAlertConfigReceiverOutput { - return i.ToGetObservabilityInstanceAlertConfigReceiverOutputWithContext(context.Background()) +func (i GetLoadbalancerTargetPoolActiveHealthCheckArgs) ToGetLoadbalancerTargetPoolActiveHealthCheckOutput() GetLoadbalancerTargetPoolActiveHealthCheckOutput { + return i.ToGetLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(context.Background()) } -func (i GetObservabilityInstanceAlertConfigReceiverArgs) ToGetObservabilityInstanceAlertConfigReceiverOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverOutput) +func (i GetLoadbalancerTargetPoolActiveHealthCheckArgs) ToGetLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolActiveHealthCheckOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolActiveHealthCheckOutput) } -// GetObservabilityInstanceAlertConfigReceiverArrayInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverArray and GetObservabilityInstanceAlertConfigReceiverArrayOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverArrayInput` via: -// -// GetObservabilityInstanceAlertConfigReceiverArray{ GetObservabilityInstanceAlertConfigReceiverArgs{...} } -type GetObservabilityInstanceAlertConfigReceiverArrayInput interface { - pulumi.Input +type GetLoadbalancerTargetPoolActiveHealthCheckOutput struct{ *pulumi.OutputState } - ToGetObservabilityInstanceAlertConfigReceiverArrayOutput() GetObservabilityInstanceAlertConfigReceiverArrayOutput - ToGetObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverArrayOutput +func (GetLoadbalancerTargetPoolActiveHealthCheckOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerTargetPoolActiveHealthCheck)(nil)).Elem() } -type GetObservabilityInstanceAlertConfigReceiverArray []GetObservabilityInstanceAlertConfigReceiverInput +func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) ToGetLoadbalancerTargetPoolActiveHealthCheckOutput() GetLoadbalancerTargetPoolActiveHealthCheckOutput { + return o +} -func (GetObservabilityInstanceAlertConfigReceiverArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiver)(nil)).Elem() +func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) ToGetLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolActiveHealthCheckOutput { + return o } -func (i GetObservabilityInstanceAlertConfigReceiverArray) ToGetObservabilityInstanceAlertConfigReceiverArrayOutput() GetObservabilityInstanceAlertConfigReceiverArrayOutput { - return i.ToGetObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(context.Background()) +// Healthy threshold of the health checking. +func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) HealthyThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPoolActiveHealthCheck) int { return v.HealthyThreshold }).(pulumi.IntOutput) } -func (i GetObservabilityInstanceAlertConfigReceiverArray) ToGetObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverArrayOutput) +// Interval duration of health checking in seconds. +func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) Interval() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPoolActiveHealthCheck) string { return v.Interval }).(pulumi.StringOutput) } -type GetObservabilityInstanceAlertConfigReceiverOutput struct{ *pulumi.OutputState } +// Interval duration threshold of the health checking in seconds. +func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) IntervalJitter() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPoolActiveHealthCheck) string { return v.IntervalJitter }).(pulumi.StringOutput) +} -func (GetObservabilityInstanceAlertConfigReceiverOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiver)(nil)).Elem() +// Active health checking timeout duration in seconds. +func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) Timeout() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPoolActiveHealthCheck) string { return v.Timeout }).(pulumi.StringOutput) } -func (o GetObservabilityInstanceAlertConfigReceiverOutput) ToGetObservabilityInstanceAlertConfigReceiverOutput() GetObservabilityInstanceAlertConfigReceiverOutput { - return o +// Unhealthy threshold of the health checking. +func (o GetLoadbalancerTargetPoolActiveHealthCheckOutput) UnhealthyThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPoolActiveHealthCheck) int { return v.UnhealthyThreshold }).(pulumi.IntOutput) } -func (o GetObservabilityInstanceAlertConfigReceiverOutput) ToGetObservabilityInstanceAlertConfigReceiverOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOutput { - return o +type GetLoadbalancerTargetPoolSessionPersistence struct { + // If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev. + UseSourceIpAddress bool `pulumi:"useSourceIpAddress"` } -// List of email configurations. -func (o GetObservabilityInstanceAlertConfigReceiverOutput) EmailConfigs() GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiver) []GetObservabilityInstanceAlertConfigReceiverEmailConfig { - return v.EmailConfigs - }).(GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) +// GetLoadbalancerTargetPoolSessionPersistenceInput is an input type that accepts GetLoadbalancerTargetPoolSessionPersistenceArgs and GetLoadbalancerTargetPoolSessionPersistenceOutput values. +// You can construct a concrete instance of `GetLoadbalancerTargetPoolSessionPersistenceInput` via: +// +// GetLoadbalancerTargetPoolSessionPersistenceArgs{...} +type GetLoadbalancerTargetPoolSessionPersistenceInput interface { + pulumi.Input + + ToGetLoadbalancerTargetPoolSessionPersistenceOutput() GetLoadbalancerTargetPoolSessionPersistenceOutput + ToGetLoadbalancerTargetPoolSessionPersistenceOutputWithContext(context.Context) GetLoadbalancerTargetPoolSessionPersistenceOutput } -// Name of the receiver. -func (o GetObservabilityInstanceAlertConfigReceiverOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiver) string { return v.Name }).(pulumi.StringOutput) +type GetLoadbalancerTargetPoolSessionPersistenceArgs struct { + // If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev. + UseSourceIpAddress pulumi.BoolInput `pulumi:"useSourceIpAddress"` } -// List of OpsGenie configurations. -func (o GetObservabilityInstanceAlertConfigReceiverOutput) OpsgenieConfigs() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiver) []GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig { - return v.OpsgenieConfigs - }).(GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) +func (GetLoadbalancerTargetPoolSessionPersistenceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerTargetPoolSessionPersistence)(nil)).Elem() } -// List of Webhooks configurations. -func (o GetObservabilityInstanceAlertConfigReceiverOutput) WebhooksConfigs() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiver) []GetObservabilityInstanceAlertConfigReceiverWebhooksConfig { - return v.WebhooksConfigs - }).(GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) +func (i GetLoadbalancerTargetPoolSessionPersistenceArgs) ToGetLoadbalancerTargetPoolSessionPersistenceOutput() GetLoadbalancerTargetPoolSessionPersistenceOutput { + return i.ToGetLoadbalancerTargetPoolSessionPersistenceOutputWithContext(context.Background()) } -type GetObservabilityInstanceAlertConfigReceiverArrayOutput struct{ *pulumi.OutputState } +func (i GetLoadbalancerTargetPoolSessionPersistenceArgs) ToGetLoadbalancerTargetPoolSessionPersistenceOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolSessionPersistenceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolSessionPersistenceOutput) +} -func (GetObservabilityInstanceAlertConfigReceiverArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiver)(nil)).Elem() +type GetLoadbalancerTargetPoolSessionPersistenceOutput struct{ *pulumi.OutputState } + +func (GetLoadbalancerTargetPoolSessionPersistenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerTargetPoolSessionPersistence)(nil)).Elem() } -func (o GetObservabilityInstanceAlertConfigReceiverArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverArrayOutput() GetObservabilityInstanceAlertConfigReceiverArrayOutput { +func (o GetLoadbalancerTargetPoolSessionPersistenceOutput) ToGetLoadbalancerTargetPoolSessionPersistenceOutput() GetLoadbalancerTargetPoolSessionPersistenceOutput { return o } -func (o GetObservabilityInstanceAlertConfigReceiverArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverArrayOutput { +func (o GetLoadbalancerTargetPoolSessionPersistenceOutput) ToGetLoadbalancerTargetPoolSessionPersistenceOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolSessionPersistenceOutput { return o } -func (o GetObservabilityInstanceAlertConfigReceiverArrayOutput) Index(i pulumi.IntInput) GetObservabilityInstanceAlertConfigReceiverOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityInstanceAlertConfigReceiver { - return vs[0].([]GetObservabilityInstanceAlertConfigReceiver)[vs[1].(int)] - }).(GetObservabilityInstanceAlertConfigReceiverOutput) +// If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev. +func (o GetLoadbalancerTargetPoolSessionPersistenceOutput) UseSourceIpAddress() pulumi.BoolOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPoolSessionPersistence) bool { return v.UseSourceIpAddress }).(pulumi.BoolOutput) } -type GetObservabilityInstanceAlertConfigReceiverEmailConfig struct { - // SMTP authentication information. Must be a valid email address - AuthIdentity string `pulumi:"authIdentity"` - // SMTP authentication password. - AuthPassword string `pulumi:"authPassword"` - // SMTP authentication username. - AuthUsername string `pulumi:"authUsername"` - // The sender email address. Must be a valid email address - From string `pulumi:"from"` - // Whether to notify about resolved alerts. - SendResolved bool `pulumi:"sendResolved"` - // The SMTP host through which emails are sent. - SmartHost string `pulumi:"smartHost"` - // The email address to send notifications to. Must be a valid email address - To string `pulumi:"to"` +type GetLoadbalancerTargetPoolTarget struct { + // Target display name + DisplayName string `pulumi:"displayName"` + // Target IP + Ip string `pulumi:"ip"` } -// GetObservabilityInstanceAlertConfigReceiverEmailConfigInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs and GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverEmailConfigInput` via: +// GetLoadbalancerTargetPoolTargetInput is an input type that accepts GetLoadbalancerTargetPoolTargetArgs and GetLoadbalancerTargetPoolTargetOutput values. +// You can construct a concrete instance of `GetLoadbalancerTargetPoolTargetInput` via: // -// GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs{...} -type GetObservabilityInstanceAlertConfigReceiverEmailConfigInput interface { +// GetLoadbalancerTargetPoolTargetArgs{...} +type GetLoadbalancerTargetPoolTargetInput interface { pulumi.Input - ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput - ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput + ToGetLoadbalancerTargetPoolTargetOutput() GetLoadbalancerTargetPoolTargetOutput + ToGetLoadbalancerTargetPoolTargetOutputWithContext(context.Context) GetLoadbalancerTargetPoolTargetOutput } -type GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs struct { - // SMTP authentication information. Must be a valid email address - AuthIdentity pulumi.StringInput `pulumi:"authIdentity"` - // SMTP authentication password. - AuthPassword pulumi.StringInput `pulumi:"authPassword"` - // SMTP authentication username. - AuthUsername pulumi.StringInput `pulumi:"authUsername"` - // The sender email address. Must be a valid email address - From pulumi.StringInput `pulumi:"from"` - // Whether to notify about resolved alerts. - SendResolved pulumi.BoolInput `pulumi:"sendResolved"` - // The SMTP host through which emails are sent. - SmartHost pulumi.StringInput `pulumi:"smartHost"` - // The email address to send notifications to. Must be a valid email address - To pulumi.StringInput `pulumi:"to"` +type GetLoadbalancerTargetPoolTargetArgs struct { + // Target display name + DisplayName pulumi.StringInput `pulumi:"displayName"` + // Target IP + Ip pulumi.StringInput `pulumi:"ip"` } -func (GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() +func (GetLoadbalancerTargetPoolTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerTargetPoolTarget)(nil)).Elem() } -func (i GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput { - return i.ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(context.Background()) +func (i GetLoadbalancerTargetPoolTargetArgs) ToGetLoadbalancerTargetPoolTargetOutput() GetLoadbalancerTargetPoolTargetOutput { + return i.ToGetLoadbalancerTargetPoolTargetOutputWithContext(context.Background()) } -func (i GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) +func (i GetLoadbalancerTargetPoolTargetArgs) ToGetLoadbalancerTargetPoolTargetOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolTargetOutput) } -// GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverEmailConfigArray and GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput` via: +// GetLoadbalancerTargetPoolTargetArrayInput is an input type that accepts GetLoadbalancerTargetPoolTargetArray and GetLoadbalancerTargetPoolTargetArrayOutput values. +// You can construct a concrete instance of `GetLoadbalancerTargetPoolTargetArrayInput` via: // -// GetObservabilityInstanceAlertConfigReceiverEmailConfigArray{ GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs{...} } -type GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput interface { +// GetLoadbalancerTargetPoolTargetArray{ GetLoadbalancerTargetPoolTargetArgs{...} } +type GetLoadbalancerTargetPoolTargetArrayInput interface { pulumi.Input - ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput - ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput + ToGetLoadbalancerTargetPoolTargetArrayOutput() GetLoadbalancerTargetPoolTargetArrayOutput + ToGetLoadbalancerTargetPoolTargetArrayOutputWithContext(context.Context) GetLoadbalancerTargetPoolTargetArrayOutput } -type GetObservabilityInstanceAlertConfigReceiverEmailConfigArray []GetObservabilityInstanceAlertConfigReceiverEmailConfigInput +type GetLoadbalancerTargetPoolTargetArray []GetLoadbalancerTargetPoolTargetInput -func (GetObservabilityInstanceAlertConfigReceiverEmailConfigArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() +func (GetLoadbalancerTargetPoolTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadbalancerTargetPoolTarget)(nil)).Elem() } -func (i GetObservabilityInstanceAlertConfigReceiverEmailConfigArray) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { - return i.ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(context.Background()) +func (i GetLoadbalancerTargetPoolTargetArray) ToGetLoadbalancerTargetPoolTargetArrayOutput() GetLoadbalancerTargetPoolTargetArrayOutput { + return i.ToGetLoadbalancerTargetPoolTargetArrayOutputWithContext(context.Background()) } -func (i GetObservabilityInstanceAlertConfigReceiverEmailConfigArray) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) +func (i GetLoadbalancerTargetPoolTargetArray) ToGetLoadbalancerTargetPoolTargetArrayOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLoadbalancerTargetPoolTargetArrayOutput) } -type GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput struct{ *pulumi.OutputState } +type GetLoadbalancerTargetPoolTargetOutput struct{ *pulumi.OutputState } -func (GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() +func (GetLoadbalancerTargetPoolTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLoadbalancerTargetPoolTarget)(nil)).Elem() } -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput { +func (o GetLoadbalancerTargetPoolTargetOutput) ToGetLoadbalancerTargetPoolTargetOutput() GetLoadbalancerTargetPoolTargetOutput { return o } -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput { +func (o GetLoadbalancerTargetPoolTargetOutput) ToGetLoadbalancerTargetPoolTargetOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolTargetOutput { return o } -// SMTP authentication information. Must be a valid email address -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) AuthIdentity() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.AuthIdentity }).(pulumi.StringOutput) -} - -// SMTP authentication password. -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) AuthPassword() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.AuthPassword }).(pulumi.StringOutput) -} - -// SMTP authentication username. -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) AuthUsername() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.AuthUsername }).(pulumi.StringOutput) -} - -// The sender email address. Must be a valid email address -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) From() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.From }).(pulumi.StringOutput) -} - -// Whether to notify about resolved alerts. -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) SendResolved() pulumi.BoolOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) bool { return v.SendResolved }).(pulumi.BoolOutput) -} - -// The SMTP host through which emails are sent. -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) SmartHost() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.SmartHost }).(pulumi.StringOutput) +// Target display name +func (o GetLoadbalancerTargetPoolTargetOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPoolTarget) string { return v.DisplayName }).(pulumi.StringOutput) } -// The email address to send notifications to. Must be a valid email address -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) To() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.To }).(pulumi.StringOutput) +// Target IP +func (o GetLoadbalancerTargetPoolTargetOutput) Ip() pulumi.StringOutput { + return o.ApplyT(func(v GetLoadbalancerTargetPoolTarget) string { return v.Ip }).(pulumi.StringOutput) } -type GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput struct{ *pulumi.OutputState } +type GetLoadbalancerTargetPoolTargetArrayOutput struct{ *pulumi.OutputState } -func (GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() +func (GetLoadbalancerTargetPoolTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetLoadbalancerTargetPoolTarget)(nil)).Elem() } -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { +func (o GetLoadbalancerTargetPoolTargetArrayOutput) ToGetLoadbalancerTargetPoolTargetArrayOutput() GetLoadbalancerTargetPoolTargetArrayOutput { return o } -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { +func (o GetLoadbalancerTargetPoolTargetArrayOutput) ToGetLoadbalancerTargetPoolTargetArrayOutputWithContext(ctx context.Context) GetLoadbalancerTargetPoolTargetArrayOutput { return o } -func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) Index(i pulumi.IntInput) GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityInstanceAlertConfigReceiverEmailConfig { - return vs[0].([]GetObservabilityInstanceAlertConfigReceiverEmailConfig)[vs[1].(int)] - }).(GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) +func (o GetLoadbalancerTargetPoolTargetArrayOutput) Index(i pulumi.IntInput) GetLoadbalancerTargetPoolTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetLoadbalancerTargetPoolTarget { + return vs[0].([]GetLoadbalancerTargetPoolTarget)[vs[1].(int)] + }).(GetLoadbalancerTargetPoolTargetOutput) } -type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig struct { - // The API key for OpsGenie. - ApiKey string `pulumi:"apiKey"` - // The host to send OpsGenie API requests to. Must be a valid URL - ApiUrl string `pulumi:"apiUrl"` - // Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`. - Priority string `pulumi:"priority"` - // Whether to notify about resolved alerts. - SendResolved bool `pulumi:"sendResolved"` - // Comma separated list of tags attached to the notifications. - Tags string `pulumi:"tags"` +type GetLogmeInstanceParameters struct { + // Enable monitoring. + EnableMonitoring bool `pulumi:"enableMonitoring"` + FluentdTcp int `pulumi:"fluentdTcp"` + FluentdTls int `pulumi:"fluentdTls"` + FluentdTlsCiphers string `pulumi:"fluentdTlsCiphers"` + FluentdTlsMaxVersion string `pulumi:"fluentdTlsMaxVersion"` + FluentdTlsMinVersion string `pulumi:"fluentdTlsMinVersion"` + FluentdTlsVersion string `pulumi:"fluentdTlsVersion"` + FluentdUdp int `pulumi:"fluentdUdp"` + // If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). + Graphite string `pulumi:"graphite"` + // Combination of an integer and a timerange when an index will be considered "old" and can be deleted. Possible values for the timerange are `s`, `m`, `h` and `d`. + IsmDeletionAfter string `pulumi:"ismDeletionAfter"` + IsmJitter float64 `pulumi:"ismJitter"` + // Jitter of the execution time. + IsmJobInterval int `pulumi:"ismJobInterval"` + // The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. + JavaHeapspace int `pulumi:"javaHeapspace"` + // The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. + JavaMaxmetaspace int `pulumi:"javaMaxmetaspace"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold int `pulumi:"maxDiskThreshold"` + // The frequency in seconds at which metrics are emitted (in seconds). + MetricsFrequency int `pulumi:"metricsFrequency"` + // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. + MetricsPrefix string `pulumi:"metricsPrefix"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId string `pulumi:"monitoringInstanceId"` + OpensearchTlsCiphers []string `pulumi:"opensearchTlsCiphers"` + OpensearchTlsProtocols []string `pulumi:"opensearchTlsProtocols"` + // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + SgwAcl string `pulumi:"sgwAcl"` + // List of syslog servers to send logs to. + Syslogs []string `pulumi:"syslogs"` } -// GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs and GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput` via: +// GetLogmeInstanceParametersInput is an input type that accepts GetLogmeInstanceParametersArgs and GetLogmeInstanceParametersOutput values. +// You can construct a concrete instance of `GetLogmeInstanceParametersInput` via: // -// GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs{...} -type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput interface { +// GetLogmeInstanceParametersArgs{...} +type GetLogmeInstanceParametersInput interface { pulumi.Input - ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput - ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput + ToGetLogmeInstanceParametersOutput() GetLogmeInstanceParametersOutput + ToGetLogmeInstanceParametersOutputWithContext(context.Context) GetLogmeInstanceParametersOutput } -type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs struct { - // The API key for OpsGenie. - ApiKey pulumi.StringInput `pulumi:"apiKey"` - // The host to send OpsGenie API requests to. Must be a valid URL - ApiUrl pulumi.StringInput `pulumi:"apiUrl"` - // Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`. - Priority pulumi.StringInput `pulumi:"priority"` - // Whether to notify about resolved alerts. - SendResolved pulumi.BoolInput `pulumi:"sendResolved"` - // Comma separated list of tags attached to the notifications. - Tags pulumi.StringInput `pulumi:"tags"` +type GetLogmeInstanceParametersArgs struct { + // Enable monitoring. + EnableMonitoring pulumi.BoolInput `pulumi:"enableMonitoring"` + FluentdTcp pulumi.IntInput `pulumi:"fluentdTcp"` + FluentdTls pulumi.IntInput `pulumi:"fluentdTls"` + FluentdTlsCiphers pulumi.StringInput `pulumi:"fluentdTlsCiphers"` + FluentdTlsMaxVersion pulumi.StringInput `pulumi:"fluentdTlsMaxVersion"` + FluentdTlsMinVersion pulumi.StringInput `pulumi:"fluentdTlsMinVersion"` + FluentdTlsVersion pulumi.StringInput `pulumi:"fluentdTlsVersion"` + FluentdUdp pulumi.IntInput `pulumi:"fluentdUdp"` + // If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). + Graphite pulumi.StringInput `pulumi:"graphite"` + // Combination of an integer and a timerange when an index will be considered "old" and can be deleted. Possible values for the timerange are `s`, `m`, `h` and `d`. + IsmDeletionAfter pulumi.StringInput `pulumi:"ismDeletionAfter"` + IsmJitter pulumi.Float64Input `pulumi:"ismJitter"` + // Jitter of the execution time. + IsmJobInterval pulumi.IntInput `pulumi:"ismJobInterval"` + // The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. + JavaHeapspace pulumi.IntInput `pulumi:"javaHeapspace"` + // The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. + JavaMaxmetaspace pulumi.IntInput `pulumi:"javaMaxmetaspace"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold pulumi.IntInput `pulumi:"maxDiskThreshold"` + // The frequency in seconds at which metrics are emitted (in seconds). + MetricsFrequency pulumi.IntInput `pulumi:"metricsFrequency"` + // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. + MetricsPrefix pulumi.StringInput `pulumi:"metricsPrefix"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId pulumi.StringInput `pulumi:"monitoringInstanceId"` + OpensearchTlsCiphers pulumi.StringArrayInput `pulumi:"opensearchTlsCiphers"` + OpensearchTlsProtocols pulumi.StringArrayInput `pulumi:"opensearchTlsProtocols"` + // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + SgwAcl pulumi.StringInput `pulumi:"sgwAcl"` + // List of syslog servers to send logs to. + Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` } -func (GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() +func (GetLogmeInstanceParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetLogmeInstanceParameters)(nil)).Elem() } -func (i GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { - return i.ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(context.Background()) +func (i GetLogmeInstanceParametersArgs) ToGetLogmeInstanceParametersOutput() GetLogmeInstanceParametersOutput { + return i.ToGetLogmeInstanceParametersOutputWithContext(context.Background()) } -func (i GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) +func (i GetLogmeInstanceParametersArgs) ToGetLogmeInstanceParametersOutputWithContext(ctx context.Context) GetLogmeInstanceParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetLogmeInstanceParametersOutput) } -// GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray and GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput` via: -// -// GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray{ GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs{...} } -type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput interface { - pulumi.Input +type GetLogmeInstanceParametersOutput struct{ *pulumi.OutputState } - ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput - ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput +func (GetLogmeInstanceParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetLogmeInstanceParameters)(nil)).Elem() } -type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray []GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput - -func (GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() +func (o GetLogmeInstanceParametersOutput) ToGetLogmeInstanceParametersOutput() GetLogmeInstanceParametersOutput { + return o } -func (i GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { - return i.ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(context.Background()) +func (o GetLogmeInstanceParametersOutput) ToGetLogmeInstanceParametersOutputWithContext(ctx context.Context) GetLogmeInstanceParametersOutput { + return o } -func (i GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) +// Enable monitoring. +func (o GetLogmeInstanceParametersOutput) EnableMonitoring() pulumi.BoolOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) bool { return v.EnableMonitoring }).(pulumi.BoolOutput) } -type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput struct{ *pulumi.OutputState } +func (o GetLogmeInstanceParametersOutput) FluentdTcp() pulumi.IntOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.FluentdTcp }).(pulumi.IntOutput) +} -func (GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() +func (o GetLogmeInstanceParametersOutput) FluentdTls() pulumi.IntOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.FluentdTls }).(pulumi.IntOutput) } -func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { - return o +func (o GetLogmeInstanceParametersOutput) FluentdTlsCiphers() pulumi.StringOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.FluentdTlsCiphers }).(pulumi.StringOutput) } -func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { - return o +func (o GetLogmeInstanceParametersOutput) FluentdTlsMaxVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.FluentdTlsMaxVersion }).(pulumi.StringOutput) } -// The API key for OpsGenie. -func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ApiKey() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig) string { return v.ApiKey }).(pulumi.StringOutput) +func (o GetLogmeInstanceParametersOutput) FluentdTlsMinVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.FluentdTlsMinVersion }).(pulumi.StringOutput) } -// The host to send OpsGenie API requests to. Must be a valid URL -func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ApiUrl() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig) string { return v.ApiUrl }).(pulumi.StringOutput) +func (o GetLogmeInstanceParametersOutput) FluentdTlsVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.FluentdTlsVersion }).(pulumi.StringOutput) } -// Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`. -func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) Priority() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig) string { return v.Priority }).(pulumi.StringOutput) +func (o GetLogmeInstanceParametersOutput) FluentdUdp() pulumi.IntOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.FluentdUdp }).(pulumi.IntOutput) } -// Whether to notify about resolved alerts. -func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) SendResolved() pulumi.BoolOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig) bool { return v.SendResolved }).(pulumi.BoolOutput) +// If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). +func (o GetLogmeInstanceParametersOutput) Graphite() pulumi.StringOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.Graphite }).(pulumi.StringOutput) } -// Comma separated list of tags attached to the notifications. -func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) Tags() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig) string { return v.Tags }).(pulumi.StringOutput) +// Combination of an integer and a timerange when an index will be considered "old" and can be deleted. Possible values for the timerange are `s`, `m`, `h` and `d`. +func (o GetLogmeInstanceParametersOutput) IsmDeletionAfter() pulumi.StringOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.IsmDeletionAfter }).(pulumi.StringOutput) } -type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput struct{ *pulumi.OutputState } +func (o GetLogmeInstanceParametersOutput) IsmJitter() pulumi.Float64Output { + return o.ApplyT(func(v GetLogmeInstanceParameters) float64 { return v.IsmJitter }).(pulumi.Float64Output) +} -func (GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() +// Jitter of the execution time. +func (o GetLogmeInstanceParametersOutput) IsmJobInterval() pulumi.IntOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.IsmJobInterval }).(pulumi.IntOutput) } -func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { - return o +// The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. +func (o GetLogmeInstanceParametersOutput) JavaHeapspace() pulumi.IntOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.JavaHeapspace }).(pulumi.IntOutput) } -func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { - return o +// The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. +func (o GetLogmeInstanceParametersOutput) JavaMaxmetaspace() pulumi.IntOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.JavaMaxmetaspace }).(pulumi.IntOutput) } -func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) Index(i pulumi.IntInput) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig { - return vs[0].([]GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig)[vs[1].(int)] - }).(GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) +// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. +func (o GetLogmeInstanceParametersOutput) MaxDiskThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.MaxDiskThreshold }).(pulumi.IntOutput) } -type GetObservabilityInstanceAlertConfigReceiverWebhooksConfig struct { - // Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat. - GoogleChat bool `pulumi:"googleChat"` - // Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams. - MsTeams bool `pulumi:"msTeams"` - // Whether to notify about resolved alerts. - SendResolved bool `pulumi:"sendResolved"` - // The endpoint to send HTTP POST requests to. Must be a valid URL - Url string `pulumi:"url"` +// The frequency in seconds at which metrics are emitted (in seconds). +func (o GetLogmeInstanceParametersOutput) MetricsFrequency() pulumi.IntOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) int { return v.MetricsFrequency }).(pulumi.IntOutput) } -// GetObservabilityInstanceAlertConfigReceiverWebhooksConfigInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs and GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverWebhooksConfigInput` via: -// -// GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs{...} -type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigInput interface { - pulumi.Input +// The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. +func (o GetLogmeInstanceParametersOutput) MetricsPrefix() pulumi.StringOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.MetricsPrefix }).(pulumi.StringOutput) +} - ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput - ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput +// The ID of the STACKIT monitoring instance. +func (o GetLogmeInstanceParametersOutput) MonitoringInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.MonitoringInstanceId }).(pulumi.StringOutput) } -type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs struct { - // Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat. - GoogleChat pulumi.BoolInput `pulumi:"googleChat"` - // Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams. - MsTeams pulumi.BoolInput `pulumi:"msTeams"` - // Whether to notify about resolved alerts. - SendResolved pulumi.BoolInput `pulumi:"sendResolved"` - // The endpoint to send HTTP POST requests to. Must be a valid URL - Url pulumi.StringInput `pulumi:"url"` +func (o GetLogmeInstanceParametersOutput) OpensearchTlsCiphers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) []string { return v.OpensearchTlsCiphers }).(pulumi.StringArrayOutput) } -func (GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() +func (o GetLogmeInstanceParametersOutput) OpensearchTlsProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) []string { return v.OpensearchTlsProtocols }).(pulumi.StringArrayOutput) } -func (i GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { - return i.ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(context.Background()) +// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. +func (o GetLogmeInstanceParametersOutput) SgwAcl() pulumi.StringOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) string { return v.SgwAcl }).(pulumi.StringOutput) } -func (i GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) +// List of syslog servers to send logs to. +func (o GetLogmeInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetLogmeInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) } -// GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray and GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput` via: +type GetMariadbInstanceParameters struct { + // Enable monitoring. + EnableMonitoring bool `pulumi:"enableMonitoring"` + Graphite string `pulumi:"graphite"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold int `pulumi:"maxDiskThreshold"` + // The frequency in seconds at which metrics are emitted. + MetricsFrequency int `pulumi:"metricsFrequency"` + // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key + MetricsPrefix string `pulumi:"metricsPrefix"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId string `pulumi:"monitoringInstanceId"` + // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + SgwAcl string `pulumi:"sgwAcl"` + // List of syslog servers to send logs to. + Syslogs []string `pulumi:"syslogs"` +} + +// GetMariadbInstanceParametersInput is an input type that accepts GetMariadbInstanceParametersArgs and GetMariadbInstanceParametersOutput values. +// You can construct a concrete instance of `GetMariadbInstanceParametersInput` via: // -// GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray{ GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs{...} } -type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput interface { +// GetMariadbInstanceParametersArgs{...} +type GetMariadbInstanceParametersInput interface { pulumi.Input - ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput - ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput + ToGetMariadbInstanceParametersOutput() GetMariadbInstanceParametersOutput + ToGetMariadbInstanceParametersOutputWithContext(context.Context) GetMariadbInstanceParametersOutput } -type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray []GetObservabilityInstanceAlertConfigReceiverWebhooksConfigInput +type GetMariadbInstanceParametersArgs struct { + // Enable monitoring. + EnableMonitoring pulumi.BoolInput `pulumi:"enableMonitoring"` + Graphite pulumi.StringInput `pulumi:"graphite"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold pulumi.IntInput `pulumi:"maxDiskThreshold"` + // The frequency in seconds at which metrics are emitted. + MetricsFrequency pulumi.IntInput `pulumi:"metricsFrequency"` + // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key + MetricsPrefix pulumi.StringInput `pulumi:"metricsPrefix"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId pulumi.StringInput `pulumi:"monitoringInstanceId"` + // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + SgwAcl pulumi.StringInput `pulumi:"sgwAcl"` + // List of syslog servers to send logs to. + Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` +} -func (GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() +func (GetMariadbInstanceParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetMariadbInstanceParameters)(nil)).Elem() } -func (i GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { - return i.ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(context.Background()) +func (i GetMariadbInstanceParametersArgs) ToGetMariadbInstanceParametersOutput() GetMariadbInstanceParametersOutput { + return i.ToGetMariadbInstanceParametersOutputWithContext(context.Background()) } -func (i GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) +func (i GetMariadbInstanceParametersArgs) ToGetMariadbInstanceParametersOutputWithContext(ctx context.Context) GetMariadbInstanceParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetMariadbInstanceParametersOutput) } -type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput struct{ *pulumi.OutputState } +type GetMariadbInstanceParametersOutput struct{ *pulumi.OutputState } -func (GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() +func (GetMariadbInstanceParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetMariadbInstanceParameters)(nil)).Elem() } -func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { +func (o GetMariadbInstanceParametersOutput) ToGetMariadbInstanceParametersOutput() GetMariadbInstanceParametersOutput { return o } -func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { +func (o GetMariadbInstanceParametersOutput) ToGetMariadbInstanceParametersOutputWithContext(ctx context.Context) GetMariadbInstanceParametersOutput { return o } -// Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat. -func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) GoogleChat() pulumi.BoolOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverWebhooksConfig) bool { return v.GoogleChat }).(pulumi.BoolOutput) +// Enable monitoring. +func (o GetMariadbInstanceParametersOutput) EnableMonitoring() pulumi.BoolOutput { + return o.ApplyT(func(v GetMariadbInstanceParameters) bool { return v.EnableMonitoring }).(pulumi.BoolOutput) } -// Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams. -func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) MsTeams() pulumi.BoolOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverWebhooksConfig) bool { return v.MsTeams }).(pulumi.BoolOutput) +func (o GetMariadbInstanceParametersOutput) Graphite() pulumi.StringOutput { + return o.ApplyT(func(v GetMariadbInstanceParameters) string { return v.Graphite }).(pulumi.StringOutput) } -// Whether to notify about resolved alerts. -func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) SendResolved() pulumi.BoolOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverWebhooksConfig) bool { return v.SendResolved }).(pulumi.BoolOutput) +// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. +func (o GetMariadbInstanceParametersOutput) MaxDiskThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetMariadbInstanceParameters) int { return v.MaxDiskThreshold }).(pulumi.IntOutput) } -// The endpoint to send HTTP POST requests to. Must be a valid URL -func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) Url() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverWebhooksConfig) string { return v.Url }).(pulumi.StringOutput) +// The frequency in seconds at which metrics are emitted. +func (o GetMariadbInstanceParametersOutput) MetricsFrequency() pulumi.IntOutput { + return o.ApplyT(func(v GetMariadbInstanceParameters) int { return v.MetricsFrequency }).(pulumi.IntOutput) } -type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput struct{ *pulumi.OutputState } - -func (GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() +// The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key +func (o GetMariadbInstanceParametersOutput) MetricsPrefix() pulumi.StringOutput { + return o.ApplyT(func(v GetMariadbInstanceParameters) string { return v.MetricsPrefix }).(pulumi.StringOutput) } -func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { - return o +// The ID of the STACKIT monitoring instance. +func (o GetMariadbInstanceParametersOutput) MonitoringInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetMariadbInstanceParameters) string { return v.MonitoringInstanceId }).(pulumi.StringOutput) } -func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { - return o +// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. +func (o GetMariadbInstanceParametersOutput) SgwAcl() pulumi.StringOutput { + return o.ApplyT(func(v GetMariadbInstanceParameters) string { return v.SgwAcl }).(pulumi.StringOutput) } -func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) Index(i pulumi.IntInput) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityInstanceAlertConfigReceiverWebhooksConfig { - return vs[0].([]GetObservabilityInstanceAlertConfigReceiverWebhooksConfig)[vs[1].(int)] - }).(GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) +// List of syslog servers to send logs to. +func (o GetMariadbInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetMariadbInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) } -type GetObservabilityInstanceAlertConfigRoute struct { - // Whether an alert should continue matching subsequent sibling nodes. - Continue bool `pulumi:"continue"` - // The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. - GroupBies []string `pulumi:"groupBies"` - // How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) - GroupInterval string `pulumi:"groupInterval"` - // How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) . - GroupWait string `pulumi:"groupWait"` - // The name of the receiver to route the alerts to. - Receiver string `pulumi:"receiver"` - // How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). - RepeatInterval string `pulumi:"repeatInterval"` - // List of child routes. - Routes []GetObservabilityInstanceAlertConfigRouteRoute `pulumi:"routes"` +type GetMongodbflexInstanceFlavor struct { + Cpu int `pulumi:"cpu"` + Description string `pulumi:"description"` + Id string `pulumi:"id"` + Ram int `pulumi:"ram"` } -// GetObservabilityInstanceAlertConfigRouteInput is an input type that accepts GetObservabilityInstanceAlertConfigRouteArgs and GetObservabilityInstanceAlertConfigRouteOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigRouteInput` via: +// GetMongodbflexInstanceFlavorInput is an input type that accepts GetMongodbflexInstanceFlavorArgs and GetMongodbflexInstanceFlavorOutput values. +// You can construct a concrete instance of `GetMongodbflexInstanceFlavorInput` via: // -// GetObservabilityInstanceAlertConfigRouteArgs{...} -type GetObservabilityInstanceAlertConfigRouteInput interface { +// GetMongodbflexInstanceFlavorArgs{...} +type GetMongodbflexInstanceFlavorInput interface { pulumi.Input - ToGetObservabilityInstanceAlertConfigRouteOutput() GetObservabilityInstanceAlertConfigRouteOutput - ToGetObservabilityInstanceAlertConfigRouteOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigRouteOutput + ToGetMongodbflexInstanceFlavorOutput() GetMongodbflexInstanceFlavorOutput + ToGetMongodbflexInstanceFlavorOutputWithContext(context.Context) GetMongodbflexInstanceFlavorOutput } -type GetObservabilityInstanceAlertConfigRouteArgs struct { - // Whether an alert should continue matching subsequent sibling nodes. - Continue pulumi.BoolInput `pulumi:"continue"` - // The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. - GroupBies pulumi.StringArrayInput `pulumi:"groupBies"` - // How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) - GroupInterval pulumi.StringInput `pulumi:"groupInterval"` - // How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) . - GroupWait pulumi.StringInput `pulumi:"groupWait"` - // The name of the receiver to route the alerts to. - Receiver pulumi.StringInput `pulumi:"receiver"` - // How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). - RepeatInterval pulumi.StringInput `pulumi:"repeatInterval"` - // List of child routes. - Routes GetObservabilityInstanceAlertConfigRouteRouteArrayInput `pulumi:"routes"` +type GetMongodbflexInstanceFlavorArgs struct { + Cpu pulumi.IntInput `pulumi:"cpu"` + Description pulumi.StringInput `pulumi:"description"` + Id pulumi.StringInput `pulumi:"id"` + Ram pulumi.IntInput `pulumi:"ram"` } -func (GetObservabilityInstanceAlertConfigRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigRoute)(nil)).Elem() -} +func (GetMongodbflexInstanceFlavorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetMongodbflexInstanceFlavor)(nil)).Elem() +} -func (i GetObservabilityInstanceAlertConfigRouteArgs) ToGetObservabilityInstanceAlertConfigRouteOutput() GetObservabilityInstanceAlertConfigRouteOutput { - return i.ToGetObservabilityInstanceAlertConfigRouteOutputWithContext(context.Background()) +func (i GetMongodbflexInstanceFlavorArgs) ToGetMongodbflexInstanceFlavorOutput() GetMongodbflexInstanceFlavorOutput { + return i.ToGetMongodbflexInstanceFlavorOutputWithContext(context.Background()) } -func (i GetObservabilityInstanceAlertConfigRouteArgs) ToGetObservabilityInstanceAlertConfigRouteOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigRouteOutput) +func (i GetMongodbflexInstanceFlavorArgs) ToGetMongodbflexInstanceFlavorOutputWithContext(ctx context.Context) GetMongodbflexInstanceFlavorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetMongodbflexInstanceFlavorOutput) } -type GetObservabilityInstanceAlertConfigRouteOutput struct{ *pulumi.OutputState } +type GetMongodbflexInstanceFlavorOutput struct{ *pulumi.OutputState } -func (GetObservabilityInstanceAlertConfigRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigRoute)(nil)).Elem() +func (GetMongodbflexInstanceFlavorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetMongodbflexInstanceFlavor)(nil)).Elem() } -func (o GetObservabilityInstanceAlertConfigRouteOutput) ToGetObservabilityInstanceAlertConfigRouteOutput() GetObservabilityInstanceAlertConfigRouteOutput { +func (o GetMongodbflexInstanceFlavorOutput) ToGetMongodbflexInstanceFlavorOutput() GetMongodbflexInstanceFlavorOutput { return o } -func (o GetObservabilityInstanceAlertConfigRouteOutput) ToGetObservabilityInstanceAlertConfigRouteOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteOutput { +func (o GetMongodbflexInstanceFlavorOutput) ToGetMongodbflexInstanceFlavorOutputWithContext(ctx context.Context) GetMongodbflexInstanceFlavorOutput { return o } -// Whether an alert should continue matching subsequent sibling nodes. -func (o GetObservabilityInstanceAlertConfigRouteOutput) Continue() pulumi.BoolOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) bool { return v.Continue }).(pulumi.BoolOutput) +func (o GetMongodbflexInstanceFlavorOutput) Cpu() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceFlavor) int { return v.Cpu }).(pulumi.IntOutput) } -// The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. -func (o GetObservabilityInstanceAlertConfigRouteOutput) GroupBies() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) []string { return v.GroupBies }).(pulumi.StringArrayOutput) +func (o GetMongodbflexInstanceFlavorOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetMongodbflexInstanceFlavor) string { return v.Description }).(pulumi.StringOutput) } -// How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) -func (o GetObservabilityInstanceAlertConfigRouteOutput) GroupInterval() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) string { return v.GroupInterval }).(pulumi.StringOutput) +func (o GetMongodbflexInstanceFlavorOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetMongodbflexInstanceFlavor) string { return v.Id }).(pulumi.StringOutput) } -// How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) . -func (o GetObservabilityInstanceAlertConfigRouteOutput) GroupWait() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) string { return v.GroupWait }).(pulumi.StringOutput) +func (o GetMongodbflexInstanceFlavorOutput) Ram() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceFlavor) int { return v.Ram }).(pulumi.IntOutput) } -// The name of the receiver to route the alerts to. -func (o GetObservabilityInstanceAlertConfigRouteOutput) Receiver() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) string { return v.Receiver }).(pulumi.StringOutput) +type GetMongodbflexInstanceOptions struct { + // The number of days that daily backups will be retained. + DailySnapshotRetentionDays int `pulumi:"dailySnapshotRetentionDays"` + // The number of months that monthly backups will be retained. + MonthlySnapshotRetentionMonths int `pulumi:"monthlySnapshotRetentionMonths"` + // The number of hours back in time the point-in-time recovery feature will be able to recover. + PointInTimeWindowHours int `pulumi:"pointInTimeWindowHours"` + // The number of days that continuous backups (controlled via the `backupSchedule`) will be retained. + SnapshotRetentionDays int `pulumi:"snapshotRetentionDays"` + // Type of the MongoDB Flex instance. + Type string `pulumi:"type"` + // The number of weeks that weekly backups will be retained. + WeeklySnapshotRetentionWeeks int `pulumi:"weeklySnapshotRetentionWeeks"` } -// How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). -func (o GetObservabilityInstanceAlertConfigRouteOutput) RepeatInterval() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) string { return v.RepeatInterval }).(pulumi.StringOutput) +// GetMongodbflexInstanceOptionsInput is an input type that accepts GetMongodbflexInstanceOptionsArgs and GetMongodbflexInstanceOptionsOutput values. +// You can construct a concrete instance of `GetMongodbflexInstanceOptionsInput` via: +// +// GetMongodbflexInstanceOptionsArgs{...} +type GetMongodbflexInstanceOptionsInput interface { + pulumi.Input + + ToGetMongodbflexInstanceOptionsOutput() GetMongodbflexInstanceOptionsOutput + ToGetMongodbflexInstanceOptionsOutputWithContext(context.Context) GetMongodbflexInstanceOptionsOutput } -// List of child routes. -func (o GetObservabilityInstanceAlertConfigRouteOutput) Routes() GetObservabilityInstanceAlertConfigRouteRouteArrayOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) []GetObservabilityInstanceAlertConfigRouteRoute { - return v.Routes - }).(GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) +type GetMongodbflexInstanceOptionsArgs struct { + // The number of days that daily backups will be retained. + DailySnapshotRetentionDays pulumi.IntInput `pulumi:"dailySnapshotRetentionDays"` + // The number of months that monthly backups will be retained. + MonthlySnapshotRetentionMonths pulumi.IntInput `pulumi:"monthlySnapshotRetentionMonths"` + // The number of hours back in time the point-in-time recovery feature will be able to recover. + PointInTimeWindowHours pulumi.IntInput `pulumi:"pointInTimeWindowHours"` + // The number of days that continuous backups (controlled via the `backupSchedule`) will be retained. + SnapshotRetentionDays pulumi.IntInput `pulumi:"snapshotRetentionDays"` + // Type of the MongoDB Flex instance. + Type pulumi.StringInput `pulumi:"type"` + // The number of weeks that weekly backups will be retained. + WeeklySnapshotRetentionWeeks pulumi.IntInput `pulumi:"weeklySnapshotRetentionWeeks"` } -type GetObservabilityInstanceAlertConfigRouteRoute struct { - // Whether an alert should continue matching subsequent sibling nodes. - Continue bool `pulumi:"continue"` - // The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. - GroupBies []string `pulumi:"groupBies"` - // How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) - GroupInterval string `pulumi:"groupInterval"` - // How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) - GroupWait string `pulumi:"groupWait"` - // A set of equality matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead - // - // Deprecated: Use `matchers` in the `routes` instead. - Match map[string]string `pulumi:"match"` - // A set of regex-matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead - // - // Deprecated: Use `matchers` in the `routes` instead. - MatchRegex map[string]string `pulumi:"matchRegex"` - // A list of matchers that an alert has to fulfill to match the node. A matcher is a string with a syntax inspired by PromQL and OpenMetrics. - Matchers []string `pulumi:"matchers"` - // The name of the receiver to route the alerts to. - Receiver string `pulumi:"receiver"` - // How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). - RepeatInterval string `pulumi:"repeatInterval"` +func (GetMongodbflexInstanceOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetMongodbflexInstanceOptions)(nil)).Elem() } -// GetObservabilityInstanceAlertConfigRouteRouteInput is an input type that accepts GetObservabilityInstanceAlertConfigRouteRouteArgs and GetObservabilityInstanceAlertConfigRouteRouteOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigRouteRouteInput` via: -// -// GetObservabilityInstanceAlertConfigRouteRouteArgs{...} -type GetObservabilityInstanceAlertConfigRouteRouteInput interface { - pulumi.Input +func (i GetMongodbflexInstanceOptionsArgs) ToGetMongodbflexInstanceOptionsOutput() GetMongodbflexInstanceOptionsOutput { + return i.ToGetMongodbflexInstanceOptionsOutputWithContext(context.Background()) +} - ToGetObservabilityInstanceAlertConfigRouteRouteOutput() GetObservabilityInstanceAlertConfigRouteRouteOutput - ToGetObservabilityInstanceAlertConfigRouteRouteOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigRouteRouteOutput +func (i GetMongodbflexInstanceOptionsArgs) ToGetMongodbflexInstanceOptionsOutputWithContext(ctx context.Context) GetMongodbflexInstanceOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetMongodbflexInstanceOptionsOutput) } -type GetObservabilityInstanceAlertConfigRouteRouteArgs struct { - // Whether an alert should continue matching subsequent sibling nodes. - Continue pulumi.BoolInput `pulumi:"continue"` - // The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. - GroupBies pulumi.StringArrayInput `pulumi:"groupBies"` - // How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) - GroupInterval pulumi.StringInput `pulumi:"groupInterval"` - // How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) - GroupWait pulumi.StringInput `pulumi:"groupWait"` - // A set of equality matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead - // - // Deprecated: Use `matchers` in the `routes` instead. - Match pulumi.StringMapInput `pulumi:"match"` - // A set of regex-matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead - // - // Deprecated: Use `matchers` in the `routes` instead. - MatchRegex pulumi.StringMapInput `pulumi:"matchRegex"` - // A list of matchers that an alert has to fulfill to match the node. A matcher is a string with a syntax inspired by PromQL and OpenMetrics. - Matchers pulumi.StringArrayInput `pulumi:"matchers"` - // The name of the receiver to route the alerts to. - Receiver pulumi.StringInput `pulumi:"receiver"` - // How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). - RepeatInterval pulumi.StringInput `pulumi:"repeatInterval"` +type GetMongodbflexInstanceOptionsOutput struct{ *pulumi.OutputState } + +func (GetMongodbflexInstanceOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetMongodbflexInstanceOptions)(nil)).Elem() } -func (GetObservabilityInstanceAlertConfigRouteRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() +func (o GetMongodbflexInstanceOptionsOutput) ToGetMongodbflexInstanceOptionsOutput() GetMongodbflexInstanceOptionsOutput { + return o } -func (i GetObservabilityInstanceAlertConfigRouteRouteArgs) ToGetObservabilityInstanceAlertConfigRouteRouteOutput() GetObservabilityInstanceAlertConfigRouteRouteOutput { - return i.ToGetObservabilityInstanceAlertConfigRouteRouteOutputWithContext(context.Background()) +func (o GetMongodbflexInstanceOptionsOutput) ToGetMongodbflexInstanceOptionsOutputWithContext(ctx context.Context) GetMongodbflexInstanceOptionsOutput { + return o } -func (i GetObservabilityInstanceAlertConfigRouteRouteArgs) ToGetObservabilityInstanceAlertConfigRouteRouteOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigRouteRouteOutput) +// The number of days that daily backups will be retained. +func (o GetMongodbflexInstanceOptionsOutput) DailySnapshotRetentionDays() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.DailySnapshotRetentionDays }).(pulumi.IntOutput) } -// GetObservabilityInstanceAlertConfigRouteRouteArrayInput is an input type that accepts GetObservabilityInstanceAlertConfigRouteRouteArray and GetObservabilityInstanceAlertConfigRouteRouteArrayOutput values. -// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigRouteRouteArrayInput` via: -// -// GetObservabilityInstanceAlertConfigRouteRouteArray{ GetObservabilityInstanceAlertConfigRouteRouteArgs{...} } -type GetObservabilityInstanceAlertConfigRouteRouteArrayInput interface { - pulumi.Input +// The number of months that monthly backups will be retained. +func (o GetMongodbflexInstanceOptionsOutput) MonthlySnapshotRetentionMonths() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.MonthlySnapshotRetentionMonths }).(pulumi.IntOutput) +} - ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutput() GetObservabilityInstanceAlertConfigRouteRouteArrayOutput - ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigRouteRouteArrayOutput +// The number of hours back in time the point-in-time recovery feature will be able to recover. +func (o GetMongodbflexInstanceOptionsOutput) PointInTimeWindowHours() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.PointInTimeWindowHours }).(pulumi.IntOutput) } -type GetObservabilityInstanceAlertConfigRouteRouteArray []GetObservabilityInstanceAlertConfigRouteRouteInput +// The number of days that continuous backups (controlled via the `backupSchedule`) will be retained. +func (o GetMongodbflexInstanceOptionsOutput) SnapshotRetentionDays() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.SnapshotRetentionDays }).(pulumi.IntOutput) +} -func (GetObservabilityInstanceAlertConfigRouteRouteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() +// Type of the MongoDB Flex instance. +func (o GetMongodbflexInstanceOptionsOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetMongodbflexInstanceOptions) string { return v.Type }).(pulumi.StringOutput) } -func (i GetObservabilityInstanceAlertConfigRouteRouteArray) ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutput() GetObservabilityInstanceAlertConfigRouteRouteArrayOutput { - return i.ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(context.Background()) +// The number of weeks that weekly backups will be retained. +func (o GetMongodbflexInstanceOptionsOutput) WeeklySnapshotRetentionWeeks() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceOptions) int { return v.WeeklySnapshotRetentionWeeks }).(pulumi.IntOutput) } -func (i GetObservabilityInstanceAlertConfigRouteRouteArray) ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteRouteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) +type GetMongodbflexInstanceStorage struct { + Class string `pulumi:"class"` + Size int `pulumi:"size"` } -type GetObservabilityInstanceAlertConfigRouteRouteOutput struct{ *pulumi.OutputState } +// GetMongodbflexInstanceStorageInput is an input type that accepts GetMongodbflexInstanceStorageArgs and GetMongodbflexInstanceStorageOutput values. +// You can construct a concrete instance of `GetMongodbflexInstanceStorageInput` via: +// +// GetMongodbflexInstanceStorageArgs{...} +type GetMongodbflexInstanceStorageInput interface { + pulumi.Input -func (GetObservabilityInstanceAlertConfigRouteRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() + ToGetMongodbflexInstanceStorageOutput() GetMongodbflexInstanceStorageOutput + ToGetMongodbflexInstanceStorageOutputWithContext(context.Context) GetMongodbflexInstanceStorageOutput } -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) ToGetObservabilityInstanceAlertConfigRouteRouteOutput() GetObservabilityInstanceAlertConfigRouteRouteOutput { - return o +type GetMongodbflexInstanceStorageArgs struct { + Class pulumi.StringInput `pulumi:"class"` + Size pulumi.IntInput `pulumi:"size"` } -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) ToGetObservabilityInstanceAlertConfigRouteRouteOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteRouteOutput { - return o +func (GetMongodbflexInstanceStorageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetMongodbflexInstanceStorage)(nil)).Elem() } -// Whether an alert should continue matching subsequent sibling nodes. -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) Continue() pulumi.BoolOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) bool { return v.Continue }).(pulumi.BoolOutput) +func (i GetMongodbflexInstanceStorageArgs) ToGetMongodbflexInstanceStorageOutput() GetMongodbflexInstanceStorageOutput { + return i.ToGetMongodbflexInstanceStorageOutputWithContext(context.Background()) } -// The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) GroupBies() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) []string { return v.GroupBies }).(pulumi.StringArrayOutput) +func (i GetMongodbflexInstanceStorageArgs) ToGetMongodbflexInstanceStorageOutputWithContext(ctx context.Context) GetMongodbflexInstanceStorageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetMongodbflexInstanceStorageOutput) } -// How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) GroupInterval() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) string { return v.GroupInterval }).(pulumi.StringOutput) +type GetMongodbflexInstanceStorageOutput struct{ *pulumi.OutputState } + +func (GetMongodbflexInstanceStorageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetMongodbflexInstanceStorage)(nil)).Elem() } -// How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) GroupWait() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) string { return v.GroupWait }).(pulumi.StringOutput) +func (o GetMongodbflexInstanceStorageOutput) ToGetMongodbflexInstanceStorageOutput() GetMongodbflexInstanceStorageOutput { + return o } -// A set of equality matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead -// -// Deprecated: Use `matchers` in the `routes` instead. -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) Match() pulumi.StringMapOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) map[string]string { return v.Match }).(pulumi.StringMapOutput) +func (o GetMongodbflexInstanceStorageOutput) ToGetMongodbflexInstanceStorageOutputWithContext(ctx context.Context) GetMongodbflexInstanceStorageOutput { + return o } -// A set of regex-matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead -// -// Deprecated: Use `matchers` in the `routes` instead. -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) MatchRegex() pulumi.StringMapOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) map[string]string { return v.MatchRegex }).(pulumi.StringMapOutput) +func (o GetMongodbflexInstanceStorageOutput) Class() pulumi.StringOutput { + return o.ApplyT(func(v GetMongodbflexInstanceStorage) string { return v.Class }).(pulumi.StringOutput) } -// A list of matchers that an alert has to fulfill to match the node. A matcher is a string with a syntax inspired by PromQL and OpenMetrics. -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) Matchers() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) []string { return v.Matchers }).(pulumi.StringArrayOutput) -} - -// The name of the receiver to route the alerts to. -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) Receiver() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) string { return v.Receiver }).(pulumi.StringOutput) -} - -// How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). -func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) RepeatInterval() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) string { return v.RepeatInterval }).(pulumi.StringOutput) -} - -type GetObservabilityInstanceAlertConfigRouteRouteArrayOutput struct{ *pulumi.OutputState } - -func (GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() -} - -func (o GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutput() GetObservabilityInstanceAlertConfigRouteRouteArrayOutput { - return o -} - -func (o GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteRouteArrayOutput { - return o -} - -func (o GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) Index(i pulumi.IntInput) GetObservabilityInstanceAlertConfigRouteRouteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityInstanceAlertConfigRouteRoute { - return vs[0].([]GetObservabilityInstanceAlertConfigRouteRoute)[vs[1].(int)] - }).(GetObservabilityInstanceAlertConfigRouteRouteOutput) +func (o GetMongodbflexInstanceStorageOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetMongodbflexInstanceStorage) int { return v.Size }).(pulumi.IntOutput) } -type GetObservabilityLogalertgroupRule struct { - // The name of the alert rule. Is the identifier and must be unique in the group. - Alert string `pulumi:"alert"` - // A map of key:value. Annotations to add or overwrite for each alert - Annotations map[string]string `pulumi:"annotations"` - // The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. - Expression string `pulumi:"expression"` - // Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s - For string `pulumi:"for"` - // A map of key:value. Labels to add or overwrite for each alert - Labels map[string]string `pulumi:"labels"` +type GetNetworkAreaNetworkRange struct { + NetworkRangeId string `pulumi:"networkRangeId"` + Prefix string `pulumi:"prefix"` } -// GetObservabilityLogalertgroupRuleInput is an input type that accepts GetObservabilityLogalertgroupRuleArgs and GetObservabilityLogalertgroupRuleOutput values. -// You can construct a concrete instance of `GetObservabilityLogalertgroupRuleInput` via: +// GetNetworkAreaNetworkRangeInput is an input type that accepts GetNetworkAreaNetworkRangeArgs and GetNetworkAreaNetworkRangeOutput values. +// You can construct a concrete instance of `GetNetworkAreaNetworkRangeInput` via: // -// GetObservabilityLogalertgroupRuleArgs{...} -type GetObservabilityLogalertgroupRuleInput interface { +// GetNetworkAreaNetworkRangeArgs{...} +type GetNetworkAreaNetworkRangeInput interface { pulumi.Input - ToGetObservabilityLogalertgroupRuleOutput() GetObservabilityLogalertgroupRuleOutput - ToGetObservabilityLogalertgroupRuleOutputWithContext(context.Context) GetObservabilityLogalertgroupRuleOutput + ToGetNetworkAreaNetworkRangeOutput() GetNetworkAreaNetworkRangeOutput + ToGetNetworkAreaNetworkRangeOutputWithContext(context.Context) GetNetworkAreaNetworkRangeOutput } -type GetObservabilityLogalertgroupRuleArgs struct { - // The name of the alert rule. Is the identifier and must be unique in the group. - Alert pulumi.StringInput `pulumi:"alert"` - // A map of key:value. Annotations to add or overwrite for each alert - Annotations pulumi.StringMapInput `pulumi:"annotations"` - // The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. - Expression pulumi.StringInput `pulumi:"expression"` - // Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s - For pulumi.StringInput `pulumi:"for"` - // A map of key:value. Labels to add or overwrite for each alert - Labels pulumi.StringMapInput `pulumi:"labels"` +type GetNetworkAreaNetworkRangeArgs struct { + NetworkRangeId pulumi.StringInput `pulumi:"networkRangeId"` + Prefix pulumi.StringInput `pulumi:"prefix"` } -func (GetObservabilityLogalertgroupRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityLogalertgroupRule)(nil)).Elem() +func (GetNetworkAreaNetworkRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaNetworkRange)(nil)).Elem() } -func (i GetObservabilityLogalertgroupRuleArgs) ToGetObservabilityLogalertgroupRuleOutput() GetObservabilityLogalertgroupRuleOutput { - return i.ToGetObservabilityLogalertgroupRuleOutputWithContext(context.Background()) +func (i GetNetworkAreaNetworkRangeArgs) ToGetNetworkAreaNetworkRangeOutput() GetNetworkAreaNetworkRangeOutput { + return i.ToGetNetworkAreaNetworkRangeOutputWithContext(context.Background()) } -func (i GetObservabilityLogalertgroupRuleArgs) ToGetObservabilityLogalertgroupRuleOutputWithContext(ctx context.Context) GetObservabilityLogalertgroupRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityLogalertgroupRuleOutput) +func (i GetNetworkAreaNetworkRangeArgs) ToGetNetworkAreaNetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaNetworkRangeOutput) } -// GetObservabilityLogalertgroupRuleArrayInput is an input type that accepts GetObservabilityLogalertgroupRuleArray and GetObservabilityLogalertgroupRuleArrayOutput values. -// You can construct a concrete instance of `GetObservabilityLogalertgroupRuleArrayInput` via: +// GetNetworkAreaNetworkRangeArrayInput is an input type that accepts GetNetworkAreaNetworkRangeArray and GetNetworkAreaNetworkRangeArrayOutput values. +// You can construct a concrete instance of `GetNetworkAreaNetworkRangeArrayInput` via: // -// GetObservabilityLogalertgroupRuleArray{ GetObservabilityLogalertgroupRuleArgs{...} } -type GetObservabilityLogalertgroupRuleArrayInput interface { +// GetNetworkAreaNetworkRangeArray{ GetNetworkAreaNetworkRangeArgs{...} } +type GetNetworkAreaNetworkRangeArrayInput interface { pulumi.Input - ToGetObservabilityLogalertgroupRuleArrayOutput() GetObservabilityLogalertgroupRuleArrayOutput - ToGetObservabilityLogalertgroupRuleArrayOutputWithContext(context.Context) GetObservabilityLogalertgroupRuleArrayOutput + ToGetNetworkAreaNetworkRangeArrayOutput() GetNetworkAreaNetworkRangeArrayOutput + ToGetNetworkAreaNetworkRangeArrayOutputWithContext(context.Context) GetNetworkAreaNetworkRangeArrayOutput } -type GetObservabilityLogalertgroupRuleArray []GetObservabilityLogalertgroupRuleInput +type GetNetworkAreaNetworkRangeArray []GetNetworkAreaNetworkRangeInput -func (GetObservabilityLogalertgroupRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityLogalertgroupRule)(nil)).Elem() +func (GetNetworkAreaNetworkRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNetworkAreaNetworkRange)(nil)).Elem() } -func (i GetObservabilityLogalertgroupRuleArray) ToGetObservabilityLogalertgroupRuleArrayOutput() GetObservabilityLogalertgroupRuleArrayOutput { - return i.ToGetObservabilityLogalertgroupRuleArrayOutputWithContext(context.Background()) +func (i GetNetworkAreaNetworkRangeArray) ToGetNetworkAreaNetworkRangeArrayOutput() GetNetworkAreaNetworkRangeArrayOutput { + return i.ToGetNetworkAreaNetworkRangeArrayOutputWithContext(context.Background()) } -func (i GetObservabilityLogalertgroupRuleArray) ToGetObservabilityLogalertgroupRuleArrayOutputWithContext(ctx context.Context) GetObservabilityLogalertgroupRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityLogalertgroupRuleArrayOutput) +func (i GetNetworkAreaNetworkRangeArray) ToGetNetworkAreaNetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaNetworkRangeArrayOutput) } -type GetObservabilityLogalertgroupRuleOutput struct{ *pulumi.OutputState } +type GetNetworkAreaNetworkRangeOutput struct{ *pulumi.OutputState } -func (GetObservabilityLogalertgroupRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityLogalertgroupRule)(nil)).Elem() +func (GetNetworkAreaNetworkRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaNetworkRange)(nil)).Elem() } -func (o GetObservabilityLogalertgroupRuleOutput) ToGetObservabilityLogalertgroupRuleOutput() GetObservabilityLogalertgroupRuleOutput { +func (o GetNetworkAreaNetworkRangeOutput) ToGetNetworkAreaNetworkRangeOutput() GetNetworkAreaNetworkRangeOutput { return o } -func (o GetObservabilityLogalertgroupRuleOutput) ToGetObservabilityLogalertgroupRuleOutputWithContext(ctx context.Context) GetObservabilityLogalertgroupRuleOutput { +func (o GetNetworkAreaNetworkRangeOutput) ToGetNetworkAreaNetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeOutput { return o } -// The name of the alert rule. Is the identifier and must be unique in the group. -func (o GetObservabilityLogalertgroupRuleOutput) Alert() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityLogalertgroupRule) string { return v.Alert }).(pulumi.StringOutput) -} - -// A map of key:value. Annotations to add or overwrite for each alert -func (o GetObservabilityLogalertgroupRuleOutput) Annotations() pulumi.StringMapOutput { - return o.ApplyT(func(v GetObservabilityLogalertgroupRule) map[string]string { return v.Annotations }).(pulumi.StringMapOutput) -} - -// The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. -func (o GetObservabilityLogalertgroupRuleOutput) Expression() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityLogalertgroupRule) string { return v.Expression }).(pulumi.StringOutput) -} - -// Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s -func (o GetObservabilityLogalertgroupRuleOutput) For() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityLogalertgroupRule) string { return v.For }).(pulumi.StringOutput) +func (o GetNetworkAreaNetworkRangeOutput) NetworkRangeId() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaNetworkRange) string { return v.NetworkRangeId }).(pulumi.StringOutput) } -// A map of key:value. Labels to add or overwrite for each alert -func (o GetObservabilityLogalertgroupRuleOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v GetObservabilityLogalertgroupRule) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +func (o GetNetworkAreaNetworkRangeOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaNetworkRange) string { return v.Prefix }).(pulumi.StringOutput) } -type GetObservabilityLogalertgroupRuleArrayOutput struct{ *pulumi.OutputState } +type GetNetworkAreaNetworkRangeArrayOutput struct{ *pulumi.OutputState } -func (GetObservabilityLogalertgroupRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityLogalertgroupRule)(nil)).Elem() +func (GetNetworkAreaNetworkRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNetworkAreaNetworkRange)(nil)).Elem() } -func (o GetObservabilityLogalertgroupRuleArrayOutput) ToGetObservabilityLogalertgroupRuleArrayOutput() GetObservabilityLogalertgroupRuleArrayOutput { +func (o GetNetworkAreaNetworkRangeArrayOutput) ToGetNetworkAreaNetworkRangeArrayOutput() GetNetworkAreaNetworkRangeArrayOutput { return o } -func (o GetObservabilityLogalertgroupRuleArrayOutput) ToGetObservabilityLogalertgroupRuleArrayOutputWithContext(ctx context.Context) GetObservabilityLogalertgroupRuleArrayOutput { +func (o GetNetworkAreaNetworkRangeArrayOutput) ToGetNetworkAreaNetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaNetworkRangeArrayOutput { return o } -func (o GetObservabilityLogalertgroupRuleArrayOutput) Index(i pulumi.IntInput) GetObservabilityLogalertgroupRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityLogalertgroupRule { - return vs[0].([]GetObservabilityLogalertgroupRule)[vs[1].(int)] - }).(GetObservabilityLogalertgroupRuleOutput) +func (o GetNetworkAreaNetworkRangeArrayOutput) Index(i pulumi.IntInput) GetNetworkAreaNetworkRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNetworkAreaNetworkRange { + return vs[0].([]GetNetworkAreaNetworkRange)[vs[1].(int)] + }).(GetNetworkAreaNetworkRangeOutput) } -type GetObservabilityScrapeconfigBasicAuth struct { - // Specifies basic auth password. - Password string `pulumi:"password"` - // Specifies basic auth username. - Username string `pulumi:"username"` +type GetNetworkAreaRegionIpv4 struct { + // List of DNS Servers/Nameservers. + DefaultNameservers []string `pulumi:"defaultNameservers"` + // The default prefix length for networks in the network area. + DefaultPrefixLength int `pulumi:"defaultPrefixLength"` + // The maximal prefix length for networks in the network area. + MaxPrefixLength int `pulumi:"maxPrefixLength"` + // The minimal prefix length for networks in the network area. + MinPrefixLength int `pulumi:"minPrefixLength"` + // List of Network ranges. + NetworkRanges []GetNetworkAreaRegionIpv4NetworkRange `pulumi:"networkRanges"` + // IPv4 Classless Inter-Domain Routing (CIDR). + TransferNetwork string `pulumi:"transferNetwork"` } -// GetObservabilityScrapeconfigBasicAuthInput is an input type that accepts GetObservabilityScrapeconfigBasicAuthArgs and GetObservabilityScrapeconfigBasicAuthOutput values. -// You can construct a concrete instance of `GetObservabilityScrapeconfigBasicAuthInput` via: +// GetNetworkAreaRegionIpv4Input is an input type that accepts GetNetworkAreaRegionIpv4Args and GetNetworkAreaRegionIpv4Output values. +// You can construct a concrete instance of `GetNetworkAreaRegionIpv4Input` via: // -// GetObservabilityScrapeconfigBasicAuthArgs{...} -type GetObservabilityScrapeconfigBasicAuthInput interface { +// GetNetworkAreaRegionIpv4Args{...} +type GetNetworkAreaRegionIpv4Input interface { pulumi.Input - ToGetObservabilityScrapeconfigBasicAuthOutput() GetObservabilityScrapeconfigBasicAuthOutput - ToGetObservabilityScrapeconfigBasicAuthOutputWithContext(context.Context) GetObservabilityScrapeconfigBasicAuthOutput + ToGetNetworkAreaRegionIpv4Output() GetNetworkAreaRegionIpv4Output + ToGetNetworkAreaRegionIpv4OutputWithContext(context.Context) GetNetworkAreaRegionIpv4Output } -type GetObservabilityScrapeconfigBasicAuthArgs struct { - // Specifies basic auth password. - Password pulumi.StringInput `pulumi:"password"` - // Specifies basic auth username. - Username pulumi.StringInput `pulumi:"username"` +type GetNetworkAreaRegionIpv4Args struct { + // List of DNS Servers/Nameservers. + DefaultNameservers pulumi.StringArrayInput `pulumi:"defaultNameservers"` + // The default prefix length for networks in the network area. + DefaultPrefixLength pulumi.IntInput `pulumi:"defaultPrefixLength"` + // The maximal prefix length for networks in the network area. + MaxPrefixLength pulumi.IntInput `pulumi:"maxPrefixLength"` + // The minimal prefix length for networks in the network area. + MinPrefixLength pulumi.IntInput `pulumi:"minPrefixLength"` + // List of Network ranges. + NetworkRanges GetNetworkAreaRegionIpv4NetworkRangeArrayInput `pulumi:"networkRanges"` + // IPv4 Classless Inter-Domain Routing (CIDR). + TransferNetwork pulumi.StringInput `pulumi:"transferNetwork"` } -func (GetObservabilityScrapeconfigBasicAuthArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityScrapeconfigBasicAuth)(nil)).Elem() +func (GetNetworkAreaRegionIpv4Args) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRegionIpv4)(nil)).Elem() } -func (i GetObservabilityScrapeconfigBasicAuthArgs) ToGetObservabilityScrapeconfigBasicAuthOutput() GetObservabilityScrapeconfigBasicAuthOutput { - return i.ToGetObservabilityScrapeconfigBasicAuthOutputWithContext(context.Background()) +func (i GetNetworkAreaRegionIpv4Args) ToGetNetworkAreaRegionIpv4Output() GetNetworkAreaRegionIpv4Output { + return i.ToGetNetworkAreaRegionIpv4OutputWithContext(context.Background()) } -func (i GetObservabilityScrapeconfigBasicAuthArgs) ToGetObservabilityScrapeconfigBasicAuthOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigBasicAuthOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityScrapeconfigBasicAuthOutput) +func (i GetNetworkAreaRegionIpv4Args) ToGetNetworkAreaRegionIpv4OutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4Output { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRegionIpv4Output) } -type GetObservabilityScrapeconfigBasicAuthOutput struct{ *pulumi.OutputState } +type GetNetworkAreaRegionIpv4Output struct{ *pulumi.OutputState } -func (GetObservabilityScrapeconfigBasicAuthOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityScrapeconfigBasicAuth)(nil)).Elem() +func (GetNetworkAreaRegionIpv4Output) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRegionIpv4)(nil)).Elem() } -func (o GetObservabilityScrapeconfigBasicAuthOutput) ToGetObservabilityScrapeconfigBasicAuthOutput() GetObservabilityScrapeconfigBasicAuthOutput { +func (o GetNetworkAreaRegionIpv4Output) ToGetNetworkAreaRegionIpv4Output() GetNetworkAreaRegionIpv4Output { return o } -func (o GetObservabilityScrapeconfigBasicAuthOutput) ToGetObservabilityScrapeconfigBasicAuthOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigBasicAuthOutput { +func (o GetNetworkAreaRegionIpv4Output) ToGetNetworkAreaRegionIpv4OutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4Output { return o } -// Specifies basic auth password. -func (o GetObservabilityScrapeconfigBasicAuthOutput) Password() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityScrapeconfigBasicAuth) string { return v.Password }).(pulumi.StringOutput) +// List of DNS Servers/Nameservers. +func (o GetNetworkAreaRegionIpv4Output) DefaultNameservers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4) []string { return v.DefaultNameservers }).(pulumi.StringArrayOutput) } -// Specifies basic auth username. -func (o GetObservabilityScrapeconfigBasicAuthOutput) Username() pulumi.StringOutput { - return o.ApplyT(func(v GetObservabilityScrapeconfigBasicAuth) string { return v.Username }).(pulumi.StringOutput) +// The default prefix length for networks in the network area. +func (o GetNetworkAreaRegionIpv4Output) DefaultPrefixLength() pulumi.IntOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4) int { return v.DefaultPrefixLength }).(pulumi.IntOutput) } -type GetObservabilityScrapeconfigSaml2 struct { - // Specifies if URL parameters are enabled - EnableUrlParameters bool `pulumi:"enableUrlParameters"` +// The maximal prefix length for networks in the network area. +func (o GetNetworkAreaRegionIpv4Output) MaxPrefixLength() pulumi.IntOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4) int { return v.MaxPrefixLength }).(pulumi.IntOutput) } -// GetObservabilityScrapeconfigSaml2Input is an input type that accepts GetObservabilityScrapeconfigSaml2Args and GetObservabilityScrapeconfigSaml2Output values. -// You can construct a concrete instance of `GetObservabilityScrapeconfigSaml2Input` via: -// -// GetObservabilityScrapeconfigSaml2Args{...} -type GetObservabilityScrapeconfigSaml2Input interface { - pulumi.Input - - ToGetObservabilityScrapeconfigSaml2Output() GetObservabilityScrapeconfigSaml2Output - ToGetObservabilityScrapeconfigSaml2OutputWithContext(context.Context) GetObservabilityScrapeconfigSaml2Output -} - -type GetObservabilityScrapeconfigSaml2Args struct { - // Specifies if URL parameters are enabled - EnableUrlParameters pulumi.BoolInput `pulumi:"enableUrlParameters"` -} - -func (GetObservabilityScrapeconfigSaml2Args) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityScrapeconfigSaml2)(nil)).Elem() -} - -func (i GetObservabilityScrapeconfigSaml2Args) ToGetObservabilityScrapeconfigSaml2Output() GetObservabilityScrapeconfigSaml2Output { - return i.ToGetObservabilityScrapeconfigSaml2OutputWithContext(context.Background()) -} - -func (i GetObservabilityScrapeconfigSaml2Args) ToGetObservabilityScrapeconfigSaml2OutputWithContext(ctx context.Context) GetObservabilityScrapeconfigSaml2Output { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityScrapeconfigSaml2Output) -} - -type GetObservabilityScrapeconfigSaml2Output struct{ *pulumi.OutputState } - -func (GetObservabilityScrapeconfigSaml2Output) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityScrapeconfigSaml2)(nil)).Elem() -} - -func (o GetObservabilityScrapeconfigSaml2Output) ToGetObservabilityScrapeconfigSaml2Output() GetObservabilityScrapeconfigSaml2Output { - return o +// The minimal prefix length for networks in the network area. +func (o GetNetworkAreaRegionIpv4Output) MinPrefixLength() pulumi.IntOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4) int { return v.MinPrefixLength }).(pulumi.IntOutput) } -func (o GetObservabilityScrapeconfigSaml2Output) ToGetObservabilityScrapeconfigSaml2OutputWithContext(ctx context.Context) GetObservabilityScrapeconfigSaml2Output { - return o +// List of Network ranges. +func (o GetNetworkAreaRegionIpv4Output) NetworkRanges() GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4) []GetNetworkAreaRegionIpv4NetworkRange { return v.NetworkRanges }).(GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) } -// Specifies if URL parameters are enabled -func (o GetObservabilityScrapeconfigSaml2Output) EnableUrlParameters() pulumi.BoolOutput { - return o.ApplyT(func(v GetObservabilityScrapeconfigSaml2) bool { return v.EnableUrlParameters }).(pulumi.BoolOutput) +// IPv4 Classless Inter-Domain Routing (CIDR). +func (o GetNetworkAreaRegionIpv4Output) TransferNetwork() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4) string { return v.TransferNetwork }).(pulumi.StringOutput) } -type GetObservabilityScrapeconfigTarget struct { - // Specifies labels. - Labels map[string]string `pulumi:"labels"` - // Specifies target URLs. - Urls []string `pulumi:"urls"` +type GetNetworkAreaRegionIpv4NetworkRange struct { + NetworkRangeId string `pulumi:"networkRangeId"` + // Classless Inter-Domain Routing (CIDR). + Prefix string `pulumi:"prefix"` } -// GetObservabilityScrapeconfigTargetInput is an input type that accepts GetObservabilityScrapeconfigTargetArgs and GetObservabilityScrapeconfigTargetOutput values. -// You can construct a concrete instance of `GetObservabilityScrapeconfigTargetInput` via: +// GetNetworkAreaRegionIpv4NetworkRangeInput is an input type that accepts GetNetworkAreaRegionIpv4NetworkRangeArgs and GetNetworkAreaRegionIpv4NetworkRangeOutput values. +// You can construct a concrete instance of `GetNetworkAreaRegionIpv4NetworkRangeInput` via: // -// GetObservabilityScrapeconfigTargetArgs{...} -type GetObservabilityScrapeconfigTargetInput interface { +// GetNetworkAreaRegionIpv4NetworkRangeArgs{...} +type GetNetworkAreaRegionIpv4NetworkRangeInput interface { pulumi.Input - ToGetObservabilityScrapeconfigTargetOutput() GetObservabilityScrapeconfigTargetOutput - ToGetObservabilityScrapeconfigTargetOutputWithContext(context.Context) GetObservabilityScrapeconfigTargetOutput + ToGetNetworkAreaRegionIpv4NetworkRangeOutput() GetNetworkAreaRegionIpv4NetworkRangeOutput + ToGetNetworkAreaRegionIpv4NetworkRangeOutputWithContext(context.Context) GetNetworkAreaRegionIpv4NetworkRangeOutput } -type GetObservabilityScrapeconfigTargetArgs struct { - // Specifies labels. - Labels pulumi.StringMapInput `pulumi:"labels"` - // Specifies target URLs. - Urls pulumi.StringArrayInput `pulumi:"urls"` +type GetNetworkAreaRegionIpv4NetworkRangeArgs struct { + NetworkRangeId pulumi.StringInput `pulumi:"networkRangeId"` + // Classless Inter-Domain Routing (CIDR). + Prefix pulumi.StringInput `pulumi:"prefix"` } -func (GetObservabilityScrapeconfigTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityScrapeconfigTarget)(nil)).Elem() +func (GetNetworkAreaRegionIpv4NetworkRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRegionIpv4NetworkRange)(nil)).Elem() } -func (i GetObservabilityScrapeconfigTargetArgs) ToGetObservabilityScrapeconfigTargetOutput() GetObservabilityScrapeconfigTargetOutput { - return i.ToGetObservabilityScrapeconfigTargetOutputWithContext(context.Background()) +func (i GetNetworkAreaRegionIpv4NetworkRangeArgs) ToGetNetworkAreaRegionIpv4NetworkRangeOutput() GetNetworkAreaRegionIpv4NetworkRangeOutput { + return i.ToGetNetworkAreaRegionIpv4NetworkRangeOutputWithContext(context.Background()) } -func (i GetObservabilityScrapeconfigTargetArgs) ToGetObservabilityScrapeconfigTargetOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityScrapeconfigTargetOutput) +func (i GetNetworkAreaRegionIpv4NetworkRangeArgs) ToGetNetworkAreaRegionIpv4NetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4NetworkRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRegionIpv4NetworkRangeOutput) } -// GetObservabilityScrapeconfigTargetArrayInput is an input type that accepts GetObservabilityScrapeconfigTargetArray and GetObservabilityScrapeconfigTargetArrayOutput values. -// You can construct a concrete instance of `GetObservabilityScrapeconfigTargetArrayInput` via: +// GetNetworkAreaRegionIpv4NetworkRangeArrayInput is an input type that accepts GetNetworkAreaRegionIpv4NetworkRangeArray and GetNetworkAreaRegionIpv4NetworkRangeArrayOutput values. +// You can construct a concrete instance of `GetNetworkAreaRegionIpv4NetworkRangeArrayInput` via: // -// GetObservabilityScrapeconfigTargetArray{ GetObservabilityScrapeconfigTargetArgs{...} } -type GetObservabilityScrapeconfigTargetArrayInput interface { +// GetNetworkAreaRegionIpv4NetworkRangeArray{ GetNetworkAreaRegionIpv4NetworkRangeArgs{...} } +type GetNetworkAreaRegionIpv4NetworkRangeArrayInput interface { pulumi.Input - ToGetObservabilityScrapeconfigTargetArrayOutput() GetObservabilityScrapeconfigTargetArrayOutput - ToGetObservabilityScrapeconfigTargetArrayOutputWithContext(context.Context) GetObservabilityScrapeconfigTargetArrayOutput + ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutput() GetNetworkAreaRegionIpv4NetworkRangeArrayOutput + ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(context.Context) GetNetworkAreaRegionIpv4NetworkRangeArrayOutput } -type GetObservabilityScrapeconfigTargetArray []GetObservabilityScrapeconfigTargetInput +type GetNetworkAreaRegionIpv4NetworkRangeArray []GetNetworkAreaRegionIpv4NetworkRangeInput -func (GetObservabilityScrapeconfigTargetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityScrapeconfigTarget)(nil)).Elem() +func (GetNetworkAreaRegionIpv4NetworkRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNetworkAreaRegionIpv4NetworkRange)(nil)).Elem() } -func (i GetObservabilityScrapeconfigTargetArray) ToGetObservabilityScrapeconfigTargetArrayOutput() GetObservabilityScrapeconfigTargetArrayOutput { - return i.ToGetObservabilityScrapeconfigTargetArrayOutputWithContext(context.Background()) +func (i GetNetworkAreaRegionIpv4NetworkRangeArray) ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutput() GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { + return i.ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(context.Background()) } -func (i GetObservabilityScrapeconfigTargetArray) ToGetObservabilityScrapeconfigTargetArrayOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigTargetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityScrapeconfigTargetArrayOutput) +func (i GetNetworkAreaRegionIpv4NetworkRangeArray) ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) } -type GetObservabilityScrapeconfigTargetOutput struct{ *pulumi.OutputState } +type GetNetworkAreaRegionIpv4NetworkRangeOutput struct{ *pulumi.OutputState } -func (GetObservabilityScrapeconfigTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetObservabilityScrapeconfigTarget)(nil)).Elem() +func (GetNetworkAreaRegionIpv4NetworkRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRegionIpv4NetworkRange)(nil)).Elem() } -func (o GetObservabilityScrapeconfigTargetOutput) ToGetObservabilityScrapeconfigTargetOutput() GetObservabilityScrapeconfigTargetOutput { +func (o GetNetworkAreaRegionIpv4NetworkRangeOutput) ToGetNetworkAreaRegionIpv4NetworkRangeOutput() GetNetworkAreaRegionIpv4NetworkRangeOutput { return o } -func (o GetObservabilityScrapeconfigTargetOutput) ToGetObservabilityScrapeconfigTargetOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigTargetOutput { +func (o GetNetworkAreaRegionIpv4NetworkRangeOutput) ToGetNetworkAreaRegionIpv4NetworkRangeOutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4NetworkRangeOutput { return o } -// Specifies labels. -func (o GetObservabilityScrapeconfigTargetOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v GetObservabilityScrapeconfigTarget) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +func (o GetNetworkAreaRegionIpv4NetworkRangeOutput) NetworkRangeId() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4NetworkRange) string { return v.NetworkRangeId }).(pulumi.StringOutput) } -// Specifies target URLs. -func (o GetObservabilityScrapeconfigTargetOutput) Urls() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetObservabilityScrapeconfigTarget) []string { return v.Urls }).(pulumi.StringArrayOutput) +// Classless Inter-Domain Routing (CIDR). +func (o GetNetworkAreaRegionIpv4NetworkRangeOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaRegionIpv4NetworkRange) string { return v.Prefix }).(pulumi.StringOutput) } -type GetObservabilityScrapeconfigTargetArrayOutput struct{ *pulumi.OutputState } +type GetNetworkAreaRegionIpv4NetworkRangeArrayOutput struct{ *pulumi.OutputState } -func (GetObservabilityScrapeconfigTargetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetObservabilityScrapeconfigTarget)(nil)).Elem() +func (GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetNetworkAreaRegionIpv4NetworkRange)(nil)).Elem() } -func (o GetObservabilityScrapeconfigTargetArrayOutput) ToGetObservabilityScrapeconfigTargetArrayOutput() GetObservabilityScrapeconfigTargetArrayOutput { +func (o GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutput() GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { return o } -func (o GetObservabilityScrapeconfigTargetArrayOutput) ToGetObservabilityScrapeconfigTargetArrayOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigTargetArrayOutput { +func (o GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) ToGetNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(ctx context.Context) GetNetworkAreaRegionIpv4NetworkRangeArrayOutput { return o } -func (o GetObservabilityScrapeconfigTargetArrayOutput) Index(i pulumi.IntInput) GetObservabilityScrapeconfigTargetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityScrapeconfigTarget { - return vs[0].([]GetObservabilityScrapeconfigTarget)[vs[1].(int)] - }).(GetObservabilityScrapeconfigTargetOutput) +func (o GetNetworkAreaRegionIpv4NetworkRangeArrayOutput) Index(i pulumi.IntInput) GetNetworkAreaRegionIpv4NetworkRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetNetworkAreaRegionIpv4NetworkRange { + return vs[0].([]GetNetworkAreaRegionIpv4NetworkRange)[vs[1].(int)] + }).(GetNetworkAreaRegionIpv4NetworkRangeOutput) } -type GetOpensearchInstanceParameters struct { - // Enable monitoring. - EnableMonitoring bool `pulumi:"enableMonitoring"` - // If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). - Graphite string `pulumi:"graphite"` - // The garbage collector to use for OpenSearch. - JavaGarbageCollector string `pulumi:"javaGarbageCollector"` - // The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. - JavaHeapspace int `pulumi:"javaHeapspace"` - // The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. - JavaMaxmetaspace int `pulumi:"javaMaxmetaspace"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold int `pulumi:"maxDiskThreshold"` - // The frequency in seconds at which metrics are emitted (in seconds). - MetricsFrequency int `pulumi:"metricsFrequency"` - // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. - MetricsPrefix string `pulumi:"metricsPrefix"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId string `pulumi:"monitoringInstanceId"` - // List of plugins to install. Must be a supported plugin name. The plugins `repository-s3` and `repository-azure` are enabled by default and cannot be disabled. - Plugins []string `pulumi:"plugins"` - // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - SgwAcl string `pulumi:"sgwAcl"` - // List of syslog servers to send logs to. - Syslogs []string `pulumi:"syslogs"` - // List of TLS ciphers to use. - TlsCiphers []string `pulumi:"tlsCiphers"` - // List of TLS protocols to use. - TlsProtocols []string `pulumi:"tlsProtocols"` +type GetNetworkAreaRouteDestination struct { + // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. + Type string `pulumi:"type"` + // An CIDR string. + Value string `pulumi:"value"` } -// GetOpensearchInstanceParametersInput is an input type that accepts GetOpensearchInstanceParametersArgs and GetOpensearchInstanceParametersOutput values. -// You can construct a concrete instance of `GetOpensearchInstanceParametersInput` via: +// GetNetworkAreaRouteDestinationInput is an input type that accepts GetNetworkAreaRouteDestinationArgs and GetNetworkAreaRouteDestinationOutput values. +// You can construct a concrete instance of `GetNetworkAreaRouteDestinationInput` via: // -// GetOpensearchInstanceParametersArgs{...} -type GetOpensearchInstanceParametersInput interface { +// GetNetworkAreaRouteDestinationArgs{...} +type GetNetworkAreaRouteDestinationInput interface { pulumi.Input - ToGetOpensearchInstanceParametersOutput() GetOpensearchInstanceParametersOutput - ToGetOpensearchInstanceParametersOutputWithContext(context.Context) GetOpensearchInstanceParametersOutput + ToGetNetworkAreaRouteDestinationOutput() GetNetworkAreaRouteDestinationOutput + ToGetNetworkAreaRouteDestinationOutputWithContext(context.Context) GetNetworkAreaRouteDestinationOutput } -type GetOpensearchInstanceParametersArgs struct { - // Enable monitoring. - EnableMonitoring pulumi.BoolInput `pulumi:"enableMonitoring"` - // If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). - Graphite pulumi.StringInput `pulumi:"graphite"` - // The garbage collector to use for OpenSearch. - JavaGarbageCollector pulumi.StringInput `pulumi:"javaGarbageCollector"` - // The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. - JavaHeapspace pulumi.IntInput `pulumi:"javaHeapspace"` - // The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. - JavaMaxmetaspace pulumi.IntInput `pulumi:"javaMaxmetaspace"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold pulumi.IntInput `pulumi:"maxDiskThreshold"` - // The frequency in seconds at which metrics are emitted (in seconds). - MetricsFrequency pulumi.IntInput `pulumi:"metricsFrequency"` - // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. - MetricsPrefix pulumi.StringInput `pulumi:"metricsPrefix"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId pulumi.StringInput `pulumi:"monitoringInstanceId"` - // List of plugins to install. Must be a supported plugin name. The plugins `repository-s3` and `repository-azure` are enabled by default and cannot be disabled. - Plugins pulumi.StringArrayInput `pulumi:"plugins"` - // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - SgwAcl pulumi.StringInput `pulumi:"sgwAcl"` - // List of syslog servers to send logs to. - Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` - // List of TLS ciphers to use. - TlsCiphers pulumi.StringArrayInput `pulumi:"tlsCiphers"` - // List of TLS protocols to use. - TlsProtocols pulumi.StringArrayInput `pulumi:"tlsProtocols"` +type GetNetworkAreaRouteDestinationArgs struct { + // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. + Type pulumi.StringInput `pulumi:"type"` + // An CIDR string. + Value pulumi.StringInput `pulumi:"value"` } -func (GetOpensearchInstanceParametersArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetOpensearchInstanceParameters)(nil)).Elem() +func (GetNetworkAreaRouteDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRouteDestination)(nil)).Elem() } -func (i GetOpensearchInstanceParametersArgs) ToGetOpensearchInstanceParametersOutput() GetOpensearchInstanceParametersOutput { - return i.ToGetOpensearchInstanceParametersOutputWithContext(context.Background()) +func (i GetNetworkAreaRouteDestinationArgs) ToGetNetworkAreaRouteDestinationOutput() GetNetworkAreaRouteDestinationOutput { + return i.ToGetNetworkAreaRouteDestinationOutputWithContext(context.Background()) } -func (i GetOpensearchInstanceParametersArgs) ToGetOpensearchInstanceParametersOutputWithContext(ctx context.Context) GetOpensearchInstanceParametersOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetOpensearchInstanceParametersOutput) +func (i GetNetworkAreaRouteDestinationArgs) ToGetNetworkAreaRouteDestinationOutputWithContext(ctx context.Context) GetNetworkAreaRouteDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRouteDestinationOutput) } -type GetOpensearchInstanceParametersOutput struct{ *pulumi.OutputState } +type GetNetworkAreaRouteDestinationOutput struct{ *pulumi.OutputState } -func (GetOpensearchInstanceParametersOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetOpensearchInstanceParameters)(nil)).Elem() +func (GetNetworkAreaRouteDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRouteDestination)(nil)).Elem() } -func (o GetOpensearchInstanceParametersOutput) ToGetOpensearchInstanceParametersOutput() GetOpensearchInstanceParametersOutput { +func (o GetNetworkAreaRouteDestinationOutput) ToGetNetworkAreaRouteDestinationOutput() GetNetworkAreaRouteDestinationOutput { return o } -func (o GetOpensearchInstanceParametersOutput) ToGetOpensearchInstanceParametersOutputWithContext(ctx context.Context) GetOpensearchInstanceParametersOutput { +func (o GetNetworkAreaRouteDestinationOutput) ToGetNetworkAreaRouteDestinationOutputWithContext(ctx context.Context) GetNetworkAreaRouteDestinationOutput { return o } -// Enable monitoring. -func (o GetOpensearchInstanceParametersOutput) EnableMonitoring() pulumi.BoolOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) bool { return v.EnableMonitoring }).(pulumi.BoolOutput) +// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. +func (o GetNetworkAreaRouteDestinationOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaRouteDestination) string { return v.Type }).(pulumi.StringOutput) } -// If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). -func (o GetOpensearchInstanceParametersOutput) Graphite() pulumi.StringOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) string { return v.Graphite }).(pulumi.StringOutput) +// An CIDR string. +func (o GetNetworkAreaRouteDestinationOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaRouteDestination) string { return v.Value }).(pulumi.StringOutput) } -// The garbage collector to use for OpenSearch. -func (o GetOpensearchInstanceParametersOutput) JavaGarbageCollector() pulumi.StringOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) string { return v.JavaGarbageCollector }).(pulumi.StringOutput) +type GetNetworkAreaRouteNextHop struct { + // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + Type string `pulumi:"type"` + // Either IPv4 or IPv6 (not set for blackhole and internet). + Value string `pulumi:"value"` } -// The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. -func (o GetOpensearchInstanceParametersOutput) JavaHeapspace() pulumi.IntOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) int { return v.JavaHeapspace }).(pulumi.IntOutput) -} +// GetNetworkAreaRouteNextHopInput is an input type that accepts GetNetworkAreaRouteNextHopArgs and GetNetworkAreaRouteNextHopOutput values. +// You can construct a concrete instance of `GetNetworkAreaRouteNextHopInput` via: +// +// GetNetworkAreaRouteNextHopArgs{...} +type GetNetworkAreaRouteNextHopInput interface { + pulumi.Input -// The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. -func (o GetOpensearchInstanceParametersOutput) JavaMaxmetaspace() pulumi.IntOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) int { return v.JavaMaxmetaspace }).(pulumi.IntOutput) + ToGetNetworkAreaRouteNextHopOutput() GetNetworkAreaRouteNextHopOutput + ToGetNetworkAreaRouteNextHopOutputWithContext(context.Context) GetNetworkAreaRouteNextHopOutput } -// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. -func (o GetOpensearchInstanceParametersOutput) MaxDiskThreshold() pulumi.IntOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) int { return v.MaxDiskThreshold }).(pulumi.IntOutput) +type GetNetworkAreaRouteNextHopArgs struct { + // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + Type pulumi.StringInput `pulumi:"type"` + // Either IPv4 or IPv6 (not set for blackhole and internet). + Value pulumi.StringInput `pulumi:"value"` } -// The frequency in seconds at which metrics are emitted (in seconds). -func (o GetOpensearchInstanceParametersOutput) MetricsFrequency() pulumi.IntOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) int { return v.MetricsFrequency }).(pulumi.IntOutput) +func (GetNetworkAreaRouteNextHopArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRouteNextHop)(nil)).Elem() } -// The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. -func (o GetOpensearchInstanceParametersOutput) MetricsPrefix() pulumi.StringOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) string { return v.MetricsPrefix }).(pulumi.StringOutput) +func (i GetNetworkAreaRouteNextHopArgs) ToGetNetworkAreaRouteNextHopOutput() GetNetworkAreaRouteNextHopOutput { + return i.ToGetNetworkAreaRouteNextHopOutputWithContext(context.Background()) } -// The ID of the STACKIT monitoring instance. -func (o GetOpensearchInstanceParametersOutput) MonitoringInstanceId() pulumi.StringOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) string { return v.MonitoringInstanceId }).(pulumi.StringOutput) +func (i GetNetworkAreaRouteNextHopArgs) ToGetNetworkAreaRouteNextHopOutputWithContext(ctx context.Context) GetNetworkAreaRouteNextHopOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetNetworkAreaRouteNextHopOutput) } -// List of plugins to install. Must be a supported plugin name. The plugins `repository-s3` and `repository-azure` are enabled by default and cannot be disabled. -func (o GetOpensearchInstanceParametersOutput) Plugins() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) []string { return v.Plugins }).(pulumi.StringArrayOutput) +type GetNetworkAreaRouteNextHopOutput struct{ *pulumi.OutputState } + +func (GetNetworkAreaRouteNextHopOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetNetworkAreaRouteNextHop)(nil)).Elem() } -// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. -func (o GetOpensearchInstanceParametersOutput) SgwAcl() pulumi.StringOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) string { return v.SgwAcl }).(pulumi.StringOutput) +func (o GetNetworkAreaRouteNextHopOutput) ToGetNetworkAreaRouteNextHopOutput() GetNetworkAreaRouteNextHopOutput { + return o } -// List of syslog servers to send logs to. -func (o GetOpensearchInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +func (o GetNetworkAreaRouteNextHopOutput) ToGetNetworkAreaRouteNextHopOutputWithContext(ctx context.Context) GetNetworkAreaRouteNextHopOutput { + return o } -// List of TLS ciphers to use. -func (o GetOpensearchInstanceParametersOutput) TlsCiphers() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) []string { return v.TlsCiphers }).(pulumi.StringArrayOutput) +// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. +func (o GetNetworkAreaRouteNextHopOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaRouteNextHop) string { return v.Type }).(pulumi.StringOutput) } -// List of TLS protocols to use. -func (o GetOpensearchInstanceParametersOutput) TlsProtocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetOpensearchInstanceParameters) []string { return v.TlsProtocols }).(pulumi.StringArrayOutput) +// Either IPv4 or IPv6 (not set for blackhole and internet). +func (o GetNetworkAreaRouteNextHopOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetNetworkAreaRouteNextHop) string { return v.Value }).(pulumi.StringOutput) } -type GetPostgresflexInstanceFlavor struct { - Cpu int `pulumi:"cpu"` - Description string `pulumi:"description"` - Id string `pulumi:"id"` - Ram int `pulumi:"ram"` +type GetObservabilityAlertgroupRule struct { + // The name of the alert rule. Is the identifier and must be unique in the group. + Alert string `pulumi:"alert"` + // A map of key:value. Annotations to add or overwrite for each alert + Annotations map[string]string `pulumi:"annotations"` + // The PromQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. + Expression string `pulumi:"expression"` + // Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s + For string `pulumi:"for"` + // A map of key:value. Labels to add or overwrite for each alert + Labels map[string]string `pulumi:"labels"` + // The name of the metric. It's the identifier and must be unique in the group. + Record string `pulumi:"record"` } -// GetPostgresflexInstanceFlavorInput is an input type that accepts GetPostgresflexInstanceFlavorArgs and GetPostgresflexInstanceFlavorOutput values. -// You can construct a concrete instance of `GetPostgresflexInstanceFlavorInput` via: +// GetObservabilityAlertgroupRuleInput is an input type that accepts GetObservabilityAlertgroupRuleArgs and GetObservabilityAlertgroupRuleOutput values. +// You can construct a concrete instance of `GetObservabilityAlertgroupRuleInput` via: // -// GetPostgresflexInstanceFlavorArgs{...} -type GetPostgresflexInstanceFlavorInput interface { +// GetObservabilityAlertgroupRuleArgs{...} +type GetObservabilityAlertgroupRuleInput interface { pulumi.Input - ToGetPostgresflexInstanceFlavorOutput() GetPostgresflexInstanceFlavorOutput - ToGetPostgresflexInstanceFlavorOutputWithContext(context.Context) GetPostgresflexInstanceFlavorOutput + ToGetObservabilityAlertgroupRuleOutput() GetObservabilityAlertgroupRuleOutput + ToGetObservabilityAlertgroupRuleOutputWithContext(context.Context) GetObservabilityAlertgroupRuleOutput } -type GetPostgresflexInstanceFlavorArgs struct { - Cpu pulumi.IntInput `pulumi:"cpu"` - Description pulumi.StringInput `pulumi:"description"` - Id pulumi.StringInput `pulumi:"id"` - Ram pulumi.IntInput `pulumi:"ram"` +type GetObservabilityAlertgroupRuleArgs struct { + // The name of the alert rule. Is the identifier and must be unique in the group. + Alert pulumi.StringInput `pulumi:"alert"` + // A map of key:value. Annotations to add or overwrite for each alert + Annotations pulumi.StringMapInput `pulumi:"annotations"` + // The PromQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. + Expression pulumi.StringInput `pulumi:"expression"` + // Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s + For pulumi.StringInput `pulumi:"for"` + // A map of key:value. Labels to add or overwrite for each alert + Labels pulumi.StringMapInput `pulumi:"labels"` + // The name of the metric. It's the identifier and must be unique in the group. + Record pulumi.StringInput `pulumi:"record"` } -func (GetPostgresflexInstanceFlavorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetPostgresflexInstanceFlavor)(nil)).Elem() +func (GetObservabilityAlertgroupRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityAlertgroupRule)(nil)).Elem() } -func (i GetPostgresflexInstanceFlavorArgs) ToGetPostgresflexInstanceFlavorOutput() GetPostgresflexInstanceFlavorOutput { - return i.ToGetPostgresflexInstanceFlavorOutputWithContext(context.Background()) +func (i GetObservabilityAlertgroupRuleArgs) ToGetObservabilityAlertgroupRuleOutput() GetObservabilityAlertgroupRuleOutput { + return i.ToGetObservabilityAlertgroupRuleOutputWithContext(context.Background()) } -func (i GetPostgresflexInstanceFlavorArgs) ToGetPostgresflexInstanceFlavorOutputWithContext(ctx context.Context) GetPostgresflexInstanceFlavorOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetPostgresflexInstanceFlavorOutput) +func (i GetObservabilityAlertgroupRuleArgs) ToGetObservabilityAlertgroupRuleOutputWithContext(ctx context.Context) GetObservabilityAlertgroupRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityAlertgroupRuleOutput) } -type GetPostgresflexInstanceFlavorOutput struct{ *pulumi.OutputState } +// GetObservabilityAlertgroupRuleArrayInput is an input type that accepts GetObservabilityAlertgroupRuleArray and GetObservabilityAlertgroupRuleArrayOutput values. +// You can construct a concrete instance of `GetObservabilityAlertgroupRuleArrayInput` via: +// +// GetObservabilityAlertgroupRuleArray{ GetObservabilityAlertgroupRuleArgs{...} } +type GetObservabilityAlertgroupRuleArrayInput interface { + pulumi.Input -func (GetPostgresflexInstanceFlavorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetPostgresflexInstanceFlavor)(nil)).Elem() + ToGetObservabilityAlertgroupRuleArrayOutput() GetObservabilityAlertgroupRuleArrayOutput + ToGetObservabilityAlertgroupRuleArrayOutputWithContext(context.Context) GetObservabilityAlertgroupRuleArrayOutput } -func (o GetPostgresflexInstanceFlavorOutput) ToGetPostgresflexInstanceFlavorOutput() GetPostgresflexInstanceFlavorOutput { - return o -} +type GetObservabilityAlertgroupRuleArray []GetObservabilityAlertgroupRuleInput -func (o GetPostgresflexInstanceFlavorOutput) ToGetPostgresflexInstanceFlavorOutputWithContext(ctx context.Context) GetPostgresflexInstanceFlavorOutput { - return o +func (GetObservabilityAlertgroupRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityAlertgroupRule)(nil)).Elem() } -func (o GetPostgresflexInstanceFlavorOutput) Cpu() pulumi.IntOutput { - return o.ApplyT(func(v GetPostgresflexInstanceFlavor) int { return v.Cpu }).(pulumi.IntOutput) +func (i GetObservabilityAlertgroupRuleArray) ToGetObservabilityAlertgroupRuleArrayOutput() GetObservabilityAlertgroupRuleArrayOutput { + return i.ToGetObservabilityAlertgroupRuleArrayOutputWithContext(context.Background()) } -func (o GetPostgresflexInstanceFlavorOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetPostgresflexInstanceFlavor) string { return v.Description }).(pulumi.StringOutput) +func (i GetObservabilityAlertgroupRuleArray) ToGetObservabilityAlertgroupRuleArrayOutputWithContext(ctx context.Context) GetObservabilityAlertgroupRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityAlertgroupRuleArrayOutput) } -func (o GetPostgresflexInstanceFlavorOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetPostgresflexInstanceFlavor) string { return v.Id }).(pulumi.StringOutput) +type GetObservabilityAlertgroupRuleOutput struct{ *pulumi.OutputState } + +func (GetObservabilityAlertgroupRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityAlertgroupRule)(nil)).Elem() } -func (o GetPostgresflexInstanceFlavorOutput) Ram() pulumi.IntOutput { - return o.ApplyT(func(v GetPostgresflexInstanceFlavor) int { return v.Ram }).(pulumi.IntOutput) +func (o GetObservabilityAlertgroupRuleOutput) ToGetObservabilityAlertgroupRuleOutput() GetObservabilityAlertgroupRuleOutput { + return o } -type GetPostgresflexInstanceStorage struct { - Class string `pulumi:"class"` - Size int `pulumi:"size"` +func (o GetObservabilityAlertgroupRuleOutput) ToGetObservabilityAlertgroupRuleOutputWithContext(ctx context.Context) GetObservabilityAlertgroupRuleOutput { + return o } -// GetPostgresflexInstanceStorageInput is an input type that accepts GetPostgresflexInstanceStorageArgs and GetPostgresflexInstanceStorageOutput values. -// You can construct a concrete instance of `GetPostgresflexInstanceStorageInput` via: -// -// GetPostgresflexInstanceStorageArgs{...} -type GetPostgresflexInstanceStorageInput interface { - pulumi.Input +// The name of the alert rule. Is the identifier and must be unique in the group. +func (o GetObservabilityAlertgroupRuleOutput) Alert() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityAlertgroupRule) string { return v.Alert }).(pulumi.StringOutput) +} - ToGetPostgresflexInstanceStorageOutput() GetPostgresflexInstanceStorageOutput - ToGetPostgresflexInstanceStorageOutputWithContext(context.Context) GetPostgresflexInstanceStorageOutput +// A map of key:value. Annotations to add or overwrite for each alert +func (o GetObservabilityAlertgroupRuleOutput) Annotations() pulumi.StringMapOutput { + return o.ApplyT(func(v GetObservabilityAlertgroupRule) map[string]string { return v.Annotations }).(pulumi.StringMapOutput) } -type GetPostgresflexInstanceStorageArgs struct { - Class pulumi.StringInput `pulumi:"class"` - Size pulumi.IntInput `pulumi:"size"` +// The PromQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. +func (o GetObservabilityAlertgroupRuleOutput) Expression() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityAlertgroupRule) string { return v.Expression }).(pulumi.StringOutput) } -func (GetPostgresflexInstanceStorageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetPostgresflexInstanceStorage)(nil)).Elem() +// Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s +func (o GetObservabilityAlertgroupRuleOutput) For() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityAlertgroupRule) string { return v.For }).(pulumi.StringOutput) } -func (i GetPostgresflexInstanceStorageArgs) ToGetPostgresflexInstanceStorageOutput() GetPostgresflexInstanceStorageOutput { - return i.ToGetPostgresflexInstanceStorageOutputWithContext(context.Background()) +// A map of key:value. Labels to add or overwrite for each alert +func (o GetObservabilityAlertgroupRuleOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v GetObservabilityAlertgroupRule) map[string]string { return v.Labels }).(pulumi.StringMapOutput) } -func (i GetPostgresflexInstanceStorageArgs) ToGetPostgresflexInstanceStorageOutputWithContext(ctx context.Context) GetPostgresflexInstanceStorageOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetPostgresflexInstanceStorageOutput) +// The name of the metric. It's the identifier and must be unique in the group. +func (o GetObservabilityAlertgroupRuleOutput) Record() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityAlertgroupRule) string { return v.Record }).(pulumi.StringOutput) } -type GetPostgresflexInstanceStorageOutput struct{ *pulumi.OutputState } +type GetObservabilityAlertgroupRuleArrayOutput struct{ *pulumi.OutputState } -func (GetPostgresflexInstanceStorageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetPostgresflexInstanceStorage)(nil)).Elem() +func (GetObservabilityAlertgroupRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityAlertgroupRule)(nil)).Elem() } -func (o GetPostgresflexInstanceStorageOutput) ToGetPostgresflexInstanceStorageOutput() GetPostgresflexInstanceStorageOutput { +func (o GetObservabilityAlertgroupRuleArrayOutput) ToGetObservabilityAlertgroupRuleArrayOutput() GetObservabilityAlertgroupRuleArrayOutput { return o } -func (o GetPostgresflexInstanceStorageOutput) ToGetPostgresflexInstanceStorageOutputWithContext(ctx context.Context) GetPostgresflexInstanceStorageOutput { +func (o GetObservabilityAlertgroupRuleArrayOutput) ToGetObservabilityAlertgroupRuleArrayOutputWithContext(ctx context.Context) GetObservabilityAlertgroupRuleArrayOutput { return o } -func (o GetPostgresflexInstanceStorageOutput) Class() pulumi.StringOutput { - return o.ApplyT(func(v GetPostgresflexInstanceStorage) string { return v.Class }).(pulumi.StringOutput) -} - -func (o GetPostgresflexInstanceStorageOutput) Size() pulumi.IntOutput { - return o.ApplyT(func(v GetPostgresflexInstanceStorage) int { return v.Size }).(pulumi.IntOutput) +func (o GetObservabilityAlertgroupRuleArrayOutput) Index(i pulumi.IntInput) GetObservabilityAlertgroupRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityAlertgroupRule { + return vs[0].([]GetObservabilityAlertgroupRule)[vs[1].(int)] + }).(GetObservabilityAlertgroupRuleOutput) } -type GetPublicIpRangesPublicIpRange struct { - // Classless Inter-Domain Routing (CIDR) - Cidr string `pulumi:"cidr"` +type GetObservabilityInstanceAlertConfig struct { + // Global configuration for the alerts. + Global GetObservabilityInstanceAlertConfigGlobal `pulumi:"global"` + // List of alert receivers. + Receivers []GetObservabilityInstanceAlertConfigReceiver `pulumi:"receivers"` + // The route for the alert. + Route GetObservabilityInstanceAlertConfigRoute `pulumi:"route"` } -// GetPublicIpRangesPublicIpRangeInput is an input type that accepts GetPublicIpRangesPublicIpRangeArgs and GetPublicIpRangesPublicIpRangeOutput values. -// You can construct a concrete instance of `GetPublicIpRangesPublicIpRangeInput` via: +// GetObservabilityInstanceAlertConfigInput is an input type that accepts GetObservabilityInstanceAlertConfigArgs and GetObservabilityInstanceAlertConfigOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigInput` via: // -// GetPublicIpRangesPublicIpRangeArgs{...} -type GetPublicIpRangesPublicIpRangeInput interface { +// GetObservabilityInstanceAlertConfigArgs{...} +type GetObservabilityInstanceAlertConfigInput interface { pulumi.Input - ToGetPublicIpRangesPublicIpRangeOutput() GetPublicIpRangesPublicIpRangeOutput - ToGetPublicIpRangesPublicIpRangeOutputWithContext(context.Context) GetPublicIpRangesPublicIpRangeOutput -} - -type GetPublicIpRangesPublicIpRangeArgs struct { - // Classless Inter-Domain Routing (CIDR) - Cidr pulumi.StringInput `pulumi:"cidr"` -} - -func (GetPublicIpRangesPublicIpRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetPublicIpRangesPublicIpRange)(nil)).Elem() -} - -func (i GetPublicIpRangesPublicIpRangeArgs) ToGetPublicIpRangesPublicIpRangeOutput() GetPublicIpRangesPublicIpRangeOutput { - return i.ToGetPublicIpRangesPublicIpRangeOutputWithContext(context.Background()) -} - -func (i GetPublicIpRangesPublicIpRangeArgs) ToGetPublicIpRangesPublicIpRangeOutputWithContext(ctx context.Context) GetPublicIpRangesPublicIpRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetPublicIpRangesPublicIpRangeOutput) + ToGetObservabilityInstanceAlertConfigOutput() GetObservabilityInstanceAlertConfigOutput + ToGetObservabilityInstanceAlertConfigOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigOutput } -// GetPublicIpRangesPublicIpRangeArrayInput is an input type that accepts GetPublicIpRangesPublicIpRangeArray and GetPublicIpRangesPublicIpRangeArrayOutput values. -// You can construct a concrete instance of `GetPublicIpRangesPublicIpRangeArrayInput` via: -// -// GetPublicIpRangesPublicIpRangeArray{ GetPublicIpRangesPublicIpRangeArgs{...} } -type GetPublicIpRangesPublicIpRangeArrayInput interface { - pulumi.Input - - ToGetPublicIpRangesPublicIpRangeArrayOutput() GetPublicIpRangesPublicIpRangeArrayOutput - ToGetPublicIpRangesPublicIpRangeArrayOutputWithContext(context.Context) GetPublicIpRangesPublicIpRangeArrayOutput +type GetObservabilityInstanceAlertConfigArgs struct { + // Global configuration for the alerts. + Global GetObservabilityInstanceAlertConfigGlobalInput `pulumi:"global"` + // List of alert receivers. + Receivers GetObservabilityInstanceAlertConfigReceiverArrayInput `pulumi:"receivers"` + // The route for the alert. + Route GetObservabilityInstanceAlertConfigRouteInput `pulumi:"route"` } -type GetPublicIpRangesPublicIpRangeArray []GetPublicIpRangesPublicIpRangeInput - -func (GetPublicIpRangesPublicIpRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetPublicIpRangesPublicIpRange)(nil)).Elem() +func (GetObservabilityInstanceAlertConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfig)(nil)).Elem() } -func (i GetPublicIpRangesPublicIpRangeArray) ToGetPublicIpRangesPublicIpRangeArrayOutput() GetPublicIpRangesPublicIpRangeArrayOutput { - return i.ToGetPublicIpRangesPublicIpRangeArrayOutputWithContext(context.Background()) +func (i GetObservabilityInstanceAlertConfigArgs) ToGetObservabilityInstanceAlertConfigOutput() GetObservabilityInstanceAlertConfigOutput { + return i.ToGetObservabilityInstanceAlertConfigOutputWithContext(context.Background()) } -func (i GetPublicIpRangesPublicIpRangeArray) ToGetPublicIpRangesPublicIpRangeArrayOutputWithContext(ctx context.Context) GetPublicIpRangesPublicIpRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetPublicIpRangesPublicIpRangeArrayOutput) +func (i GetObservabilityInstanceAlertConfigArgs) ToGetObservabilityInstanceAlertConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigOutput) } -type GetPublicIpRangesPublicIpRangeOutput struct{ *pulumi.OutputState } +type GetObservabilityInstanceAlertConfigOutput struct{ *pulumi.OutputState } -func (GetPublicIpRangesPublicIpRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetPublicIpRangesPublicIpRange)(nil)).Elem() +func (GetObservabilityInstanceAlertConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfig)(nil)).Elem() } -func (o GetPublicIpRangesPublicIpRangeOutput) ToGetPublicIpRangesPublicIpRangeOutput() GetPublicIpRangesPublicIpRangeOutput { +func (o GetObservabilityInstanceAlertConfigOutput) ToGetObservabilityInstanceAlertConfigOutput() GetObservabilityInstanceAlertConfigOutput { return o } -func (o GetPublicIpRangesPublicIpRangeOutput) ToGetPublicIpRangesPublicIpRangeOutputWithContext(ctx context.Context) GetPublicIpRangesPublicIpRangeOutput { +func (o GetObservabilityInstanceAlertConfigOutput) ToGetObservabilityInstanceAlertConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigOutput { return o } -// Classless Inter-Domain Routing (CIDR) -func (o GetPublicIpRangesPublicIpRangeOutput) Cidr() pulumi.StringOutput { - return o.ApplyT(func(v GetPublicIpRangesPublicIpRange) string { return v.Cidr }).(pulumi.StringOutput) -} - -type GetPublicIpRangesPublicIpRangeArrayOutput struct{ *pulumi.OutputState } - -func (GetPublicIpRangesPublicIpRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetPublicIpRangesPublicIpRange)(nil)).Elem() -} - -func (o GetPublicIpRangesPublicIpRangeArrayOutput) ToGetPublicIpRangesPublicIpRangeArrayOutput() GetPublicIpRangesPublicIpRangeArrayOutput { - return o +// Global configuration for the alerts. +func (o GetObservabilityInstanceAlertConfigOutput) Global() GetObservabilityInstanceAlertConfigGlobalOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfig) GetObservabilityInstanceAlertConfigGlobal { return v.Global }).(GetObservabilityInstanceAlertConfigGlobalOutput) } -func (o GetPublicIpRangesPublicIpRangeArrayOutput) ToGetPublicIpRangesPublicIpRangeArrayOutputWithContext(ctx context.Context) GetPublicIpRangesPublicIpRangeArrayOutput { - return o +// List of alert receivers. +func (o GetObservabilityInstanceAlertConfigOutput) Receivers() GetObservabilityInstanceAlertConfigReceiverArrayOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfig) []GetObservabilityInstanceAlertConfigReceiver { + return v.Receivers + }).(GetObservabilityInstanceAlertConfigReceiverArrayOutput) } -func (o GetPublicIpRangesPublicIpRangeArrayOutput) Index(i pulumi.IntInput) GetPublicIpRangesPublicIpRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPublicIpRangesPublicIpRange { - return vs[0].([]GetPublicIpRangesPublicIpRange)[vs[1].(int)] - }).(GetPublicIpRangesPublicIpRangeOutput) +// The route for the alert. +func (o GetObservabilityInstanceAlertConfigOutput) Route() GetObservabilityInstanceAlertConfigRouteOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfig) GetObservabilityInstanceAlertConfigRoute { return v.Route }).(GetObservabilityInstanceAlertConfigRouteOutput) } -type GetRabbitmqInstanceParameters struct { - // The timeout in milliseconds for the consumer. - ConsumerTimeout int `pulumi:"consumerTimeout"` - // Enable monitoring. - EnableMonitoring bool `pulumi:"enableMonitoring"` - // Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. - Graphite string `pulumi:"graphite"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold int `pulumi:"maxDiskThreshold"` - // The frequency in seconds at which metrics are emitted. - MetricsFrequency int `pulumi:"metricsFrequency"` - // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key - MetricsPrefix string `pulumi:"metricsPrefix"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId string `pulumi:"monitoringInstanceId"` - // List of plugins to install. Must be a supported plugin name. - Plugins []string `pulumi:"plugins"` - // List of roles to assign to the instance. - Roles []string `pulumi:"roles"` - // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - SgwAcl string `pulumi:"sgwAcl"` - // List of syslog servers to send logs to. - Syslogs []string `pulumi:"syslogs"` - // List of TLS ciphers to use. - TlsCiphers []string `pulumi:"tlsCiphers"` - // TLS protocol versions to use. - TlsProtocols []string `pulumi:"tlsProtocols"` +type GetObservabilityInstanceAlertConfigGlobal struct { + // The API key for OpsGenie. + OpsgenieApiKey string `pulumi:"opsgenieApiKey"` + // The host to send OpsGenie API requests to. Must be a valid URL + OpsgenieApiUrl string `pulumi:"opsgenieApiUrl"` + // The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt. + ResolveTimeout string `pulumi:"resolveTimeout"` + // SMTP authentication information. Must be a valid email address + SmtpAuthIdentity string `pulumi:"smtpAuthIdentity"` + // SMTP Auth using LOGIN and PLAIN. + SmtpAuthPassword string `pulumi:"smtpAuthPassword"` + // SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. + SmtpAuthUsername string `pulumi:"smtpAuthUsername"` + // The default SMTP From header field. Must be a valid email address + SmtpFrom string `pulumi:"smtpFrom"` + // The default SMTP smarthost used for sending emails, including port number. Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). + SmtpSmartHost string `pulumi:"smtpSmartHost"` } -// GetRabbitmqInstanceParametersInput is an input type that accepts GetRabbitmqInstanceParametersArgs and GetRabbitmqInstanceParametersOutput values. -// You can construct a concrete instance of `GetRabbitmqInstanceParametersInput` via: +// GetObservabilityInstanceAlertConfigGlobalInput is an input type that accepts GetObservabilityInstanceAlertConfigGlobalArgs and GetObservabilityInstanceAlertConfigGlobalOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigGlobalInput` via: // -// GetRabbitmqInstanceParametersArgs{...} -type GetRabbitmqInstanceParametersInput interface { +// GetObservabilityInstanceAlertConfigGlobalArgs{...} +type GetObservabilityInstanceAlertConfigGlobalInput interface { pulumi.Input - ToGetRabbitmqInstanceParametersOutput() GetRabbitmqInstanceParametersOutput - ToGetRabbitmqInstanceParametersOutputWithContext(context.Context) GetRabbitmqInstanceParametersOutput + ToGetObservabilityInstanceAlertConfigGlobalOutput() GetObservabilityInstanceAlertConfigGlobalOutput + ToGetObservabilityInstanceAlertConfigGlobalOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigGlobalOutput } -type GetRabbitmqInstanceParametersArgs struct { - // The timeout in milliseconds for the consumer. - ConsumerTimeout pulumi.IntInput `pulumi:"consumerTimeout"` - // Enable monitoring. - EnableMonitoring pulumi.BoolInput `pulumi:"enableMonitoring"` - // Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. - Graphite pulumi.StringInput `pulumi:"graphite"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold pulumi.IntInput `pulumi:"maxDiskThreshold"` - // The frequency in seconds at which metrics are emitted. - MetricsFrequency pulumi.IntInput `pulumi:"metricsFrequency"` - // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key - MetricsPrefix pulumi.StringInput `pulumi:"metricsPrefix"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId pulumi.StringInput `pulumi:"monitoringInstanceId"` - // List of plugins to install. Must be a supported plugin name. - Plugins pulumi.StringArrayInput `pulumi:"plugins"` - // List of roles to assign to the instance. - Roles pulumi.StringArrayInput `pulumi:"roles"` - // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - SgwAcl pulumi.StringInput `pulumi:"sgwAcl"` - // List of syslog servers to send logs to. - Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` - // List of TLS ciphers to use. - TlsCiphers pulumi.StringArrayInput `pulumi:"tlsCiphers"` - // TLS protocol versions to use. - TlsProtocols pulumi.StringArrayInput `pulumi:"tlsProtocols"` +type GetObservabilityInstanceAlertConfigGlobalArgs struct { + // The API key for OpsGenie. + OpsgenieApiKey pulumi.StringInput `pulumi:"opsgenieApiKey"` + // The host to send OpsGenie API requests to. Must be a valid URL + OpsgenieApiUrl pulumi.StringInput `pulumi:"opsgenieApiUrl"` + // The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt. + ResolveTimeout pulumi.StringInput `pulumi:"resolveTimeout"` + // SMTP authentication information. Must be a valid email address + SmtpAuthIdentity pulumi.StringInput `pulumi:"smtpAuthIdentity"` + // SMTP Auth using LOGIN and PLAIN. + SmtpAuthPassword pulumi.StringInput `pulumi:"smtpAuthPassword"` + // SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. + SmtpAuthUsername pulumi.StringInput `pulumi:"smtpAuthUsername"` + // The default SMTP From header field. Must be a valid email address + SmtpFrom pulumi.StringInput `pulumi:"smtpFrom"` + // The default SMTP smarthost used for sending emails, including port number. Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). + SmtpSmartHost pulumi.StringInput `pulumi:"smtpSmartHost"` } -func (GetRabbitmqInstanceParametersArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRabbitmqInstanceParameters)(nil)).Elem() +func (GetObservabilityInstanceAlertConfigGlobalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigGlobal)(nil)).Elem() } -func (i GetRabbitmqInstanceParametersArgs) ToGetRabbitmqInstanceParametersOutput() GetRabbitmqInstanceParametersOutput { - return i.ToGetRabbitmqInstanceParametersOutputWithContext(context.Background()) +func (i GetObservabilityInstanceAlertConfigGlobalArgs) ToGetObservabilityInstanceAlertConfigGlobalOutput() GetObservabilityInstanceAlertConfigGlobalOutput { + return i.ToGetObservabilityInstanceAlertConfigGlobalOutputWithContext(context.Background()) } -func (i GetRabbitmqInstanceParametersArgs) ToGetRabbitmqInstanceParametersOutputWithContext(ctx context.Context) GetRabbitmqInstanceParametersOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRabbitmqInstanceParametersOutput) +func (i GetObservabilityInstanceAlertConfigGlobalArgs) ToGetObservabilityInstanceAlertConfigGlobalOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigGlobalOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigGlobalOutput) } -type GetRabbitmqInstanceParametersOutput struct{ *pulumi.OutputState } +type GetObservabilityInstanceAlertConfigGlobalOutput struct{ *pulumi.OutputState } -func (GetRabbitmqInstanceParametersOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRabbitmqInstanceParameters)(nil)).Elem() +func (GetObservabilityInstanceAlertConfigGlobalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigGlobal)(nil)).Elem() } -func (o GetRabbitmqInstanceParametersOutput) ToGetRabbitmqInstanceParametersOutput() GetRabbitmqInstanceParametersOutput { +func (o GetObservabilityInstanceAlertConfigGlobalOutput) ToGetObservabilityInstanceAlertConfigGlobalOutput() GetObservabilityInstanceAlertConfigGlobalOutput { return o } -func (o GetRabbitmqInstanceParametersOutput) ToGetRabbitmqInstanceParametersOutputWithContext(ctx context.Context) GetRabbitmqInstanceParametersOutput { +func (o GetObservabilityInstanceAlertConfigGlobalOutput) ToGetObservabilityInstanceAlertConfigGlobalOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigGlobalOutput { return o } -// The timeout in milliseconds for the consumer. -func (o GetRabbitmqInstanceParametersOutput) ConsumerTimeout() pulumi.IntOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) int { return v.ConsumerTimeout }).(pulumi.IntOutput) -} - -// Enable monitoring. -func (o GetRabbitmqInstanceParametersOutput) EnableMonitoring() pulumi.BoolOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) bool { return v.EnableMonitoring }).(pulumi.BoolOutput) +// The API key for OpsGenie. +func (o GetObservabilityInstanceAlertConfigGlobalOutput) OpsgenieApiKey() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.OpsgenieApiKey }).(pulumi.StringOutput) } -// Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. -func (o GetRabbitmqInstanceParametersOutput) Graphite() pulumi.StringOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) string { return v.Graphite }).(pulumi.StringOutput) +// The host to send OpsGenie API requests to. Must be a valid URL +func (o GetObservabilityInstanceAlertConfigGlobalOutput) OpsgenieApiUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.OpsgenieApiUrl }).(pulumi.StringOutput) } -// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. -func (o GetRabbitmqInstanceParametersOutput) MaxDiskThreshold() pulumi.IntOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) int { return v.MaxDiskThreshold }).(pulumi.IntOutput) +// The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt. +func (o GetObservabilityInstanceAlertConfigGlobalOutput) ResolveTimeout() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.ResolveTimeout }).(pulumi.StringOutput) } -// The frequency in seconds at which metrics are emitted. -func (o GetRabbitmqInstanceParametersOutput) MetricsFrequency() pulumi.IntOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) int { return v.MetricsFrequency }).(pulumi.IntOutput) +// SMTP authentication information. Must be a valid email address +func (o GetObservabilityInstanceAlertConfigGlobalOutput) SmtpAuthIdentity() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.SmtpAuthIdentity }).(pulumi.StringOutput) } -// The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key -func (o GetRabbitmqInstanceParametersOutput) MetricsPrefix() pulumi.StringOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) string { return v.MetricsPrefix }).(pulumi.StringOutput) +// SMTP Auth using LOGIN and PLAIN. +func (o GetObservabilityInstanceAlertConfigGlobalOutput) SmtpAuthPassword() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.SmtpAuthPassword }).(pulumi.StringOutput) } -// The ID of the STACKIT monitoring instance. -func (o GetRabbitmqInstanceParametersOutput) MonitoringInstanceId() pulumi.StringOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) string { return v.MonitoringInstanceId }).(pulumi.StringOutput) +// SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. +func (o GetObservabilityInstanceAlertConfigGlobalOutput) SmtpAuthUsername() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.SmtpAuthUsername }).(pulumi.StringOutput) } -// List of plugins to install. Must be a supported plugin name. -func (o GetRabbitmqInstanceParametersOutput) Plugins() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) []string { return v.Plugins }).(pulumi.StringArrayOutput) +// The default SMTP From header field. Must be a valid email address +func (o GetObservabilityInstanceAlertConfigGlobalOutput) SmtpFrom() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.SmtpFrom }).(pulumi.StringOutput) } -// List of roles to assign to the instance. -func (o GetRabbitmqInstanceParametersOutput) Roles() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) []string { return v.Roles }).(pulumi.StringArrayOutput) +// The default SMTP smarthost used for sending emails, including port number. Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). +func (o GetObservabilityInstanceAlertConfigGlobalOutput) SmtpSmartHost() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigGlobal) string { return v.SmtpSmartHost }).(pulumi.StringOutput) } -// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. -func (o GetRabbitmqInstanceParametersOutput) SgwAcl() pulumi.StringOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) string { return v.SgwAcl }).(pulumi.StringOutput) +type GetObservabilityInstanceAlertConfigReceiver struct { + // List of email configurations. + EmailConfigs []GetObservabilityInstanceAlertConfigReceiverEmailConfig `pulumi:"emailConfigs"` + // Name of the receiver. + Name string `pulumi:"name"` + // List of OpsGenie configurations. + OpsgenieConfigs []GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig `pulumi:"opsgenieConfigs"` + // List of Webhooks configurations. + WebhooksConfigs []GetObservabilityInstanceAlertConfigReceiverWebhooksConfig `pulumi:"webhooksConfigs"` } -// List of syslog servers to send logs to. -func (o GetRabbitmqInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +// GetObservabilityInstanceAlertConfigReceiverInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverArgs and GetObservabilityInstanceAlertConfigReceiverOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverInput` via: +// +// GetObservabilityInstanceAlertConfigReceiverArgs{...} +type GetObservabilityInstanceAlertConfigReceiverInput interface { + pulumi.Input + + ToGetObservabilityInstanceAlertConfigReceiverOutput() GetObservabilityInstanceAlertConfigReceiverOutput + ToGetObservabilityInstanceAlertConfigReceiverOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverOutput } -// List of TLS ciphers to use. -func (o GetRabbitmqInstanceParametersOutput) TlsCiphers() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) []string { return v.TlsCiphers }).(pulumi.StringArrayOutput) +type GetObservabilityInstanceAlertConfigReceiverArgs struct { + // List of email configurations. + EmailConfigs GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput `pulumi:"emailConfigs"` + // Name of the receiver. + Name pulumi.StringInput `pulumi:"name"` + // List of OpsGenie configurations. + OpsgenieConfigs GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput `pulumi:"opsgenieConfigs"` + // List of Webhooks configurations. + WebhooksConfigs GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput `pulumi:"webhooksConfigs"` } -// TLS protocol versions to use. -func (o GetRabbitmqInstanceParametersOutput) TlsProtocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetRabbitmqInstanceParameters) []string { return v.TlsProtocols }).(pulumi.StringArrayOutput) +func (GetObservabilityInstanceAlertConfigReceiverArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiver)(nil)).Elem() } -type GetRedisInstanceParameters struct { - // The number of milliseconds after which the instance is considered down. - DownAfterMilliseconds int `pulumi:"downAfterMilliseconds"` - // Enable monitoring. - EnableMonitoring bool `pulumi:"enableMonitoring"` - // The failover timeout in milliseconds. - FailoverTimeout int `pulumi:"failoverTimeout"` - // Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. - Graphite string `pulumi:"graphite"` - // The lazy eviction enablement (yes or no). - LazyfreeLazyEviction string `pulumi:"lazyfreeLazyEviction"` - // The lazy expire enablement (yes or no). - LazyfreeLazyExpire string `pulumi:"lazyfreeLazyExpire"` - // The Lua time limit. - LuaTimeLimit int `pulumi:"luaTimeLimit"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold int `pulumi:"maxDiskThreshold"` - // The maximum number of clients. - Maxclients int `pulumi:"maxclients"` - // The policy to handle the maximum memory (volatile-lru, noeviction, etc). - MaxmemoryPolicy string `pulumi:"maxmemoryPolicy"` - // The maximum memory samples. - MaxmemorySamples int `pulumi:"maxmemorySamples"` - // The frequency in seconds at which metrics are emitted. - MetricsFrequency int `pulumi:"metricsFrequency"` - // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key - MetricsPrefix string `pulumi:"metricsPrefix"` - // The minimum replicas maximum lag. - MinReplicasMaxLag int `pulumi:"minReplicasMaxLag"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId string `pulumi:"monitoringInstanceId"` - // The notify keyspace events. - NotifyKeyspaceEvents string `pulumi:"notifyKeyspaceEvents"` - // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - SgwAcl string `pulumi:"sgwAcl"` - // The snapshot configuration. - Snapshot string `pulumi:"snapshot"` - // List of syslog servers to send logs to. - Syslogs []string `pulumi:"syslogs"` - // List of TLS ciphers to use. - TlsCiphers []string `pulumi:"tlsCiphers"` - // TLS cipher suites to use. - TlsCiphersuites string `pulumi:"tlsCiphersuites"` - // TLS protocol to use. - TlsProtocols string `pulumi:"tlsProtocols"` +func (i GetObservabilityInstanceAlertConfigReceiverArgs) ToGetObservabilityInstanceAlertConfigReceiverOutput() GetObservabilityInstanceAlertConfigReceiverOutput { + return i.ToGetObservabilityInstanceAlertConfigReceiverOutputWithContext(context.Background()) } -// GetRedisInstanceParametersInput is an input type that accepts GetRedisInstanceParametersArgs and GetRedisInstanceParametersOutput values. -// You can construct a concrete instance of `GetRedisInstanceParametersInput` via: +func (i GetObservabilityInstanceAlertConfigReceiverArgs) ToGetObservabilityInstanceAlertConfigReceiverOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverOutput) +} + +// GetObservabilityInstanceAlertConfigReceiverArrayInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverArray and GetObservabilityInstanceAlertConfigReceiverArrayOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverArrayInput` via: // -// GetRedisInstanceParametersArgs{...} -type GetRedisInstanceParametersInput interface { +// GetObservabilityInstanceAlertConfigReceiverArray{ GetObservabilityInstanceAlertConfigReceiverArgs{...} } +type GetObservabilityInstanceAlertConfigReceiverArrayInput interface { pulumi.Input - ToGetRedisInstanceParametersOutput() GetRedisInstanceParametersOutput - ToGetRedisInstanceParametersOutputWithContext(context.Context) GetRedisInstanceParametersOutput + ToGetObservabilityInstanceAlertConfigReceiverArrayOutput() GetObservabilityInstanceAlertConfigReceiverArrayOutput + ToGetObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverArrayOutput } -type GetRedisInstanceParametersArgs struct { - // The number of milliseconds after which the instance is considered down. - DownAfterMilliseconds pulumi.IntInput `pulumi:"downAfterMilliseconds"` - // Enable monitoring. - EnableMonitoring pulumi.BoolInput `pulumi:"enableMonitoring"` - // The failover timeout in milliseconds. - FailoverTimeout pulumi.IntInput `pulumi:"failoverTimeout"` - // Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. - Graphite pulumi.StringInput `pulumi:"graphite"` - // The lazy eviction enablement (yes or no). - LazyfreeLazyEviction pulumi.StringInput `pulumi:"lazyfreeLazyEviction"` - // The lazy expire enablement (yes or no). - LazyfreeLazyExpire pulumi.StringInput `pulumi:"lazyfreeLazyExpire"` - // The Lua time limit. - LuaTimeLimit pulumi.IntInput `pulumi:"luaTimeLimit"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold pulumi.IntInput `pulumi:"maxDiskThreshold"` - // The maximum number of clients. - Maxclients pulumi.IntInput `pulumi:"maxclients"` - // The policy to handle the maximum memory (volatile-lru, noeviction, etc). - MaxmemoryPolicy pulumi.StringInput `pulumi:"maxmemoryPolicy"` - // The maximum memory samples. - MaxmemorySamples pulumi.IntInput `pulumi:"maxmemorySamples"` - // The frequency in seconds at which metrics are emitted. - MetricsFrequency pulumi.IntInput `pulumi:"metricsFrequency"` - // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key - MetricsPrefix pulumi.StringInput `pulumi:"metricsPrefix"` - // The minimum replicas maximum lag. - MinReplicasMaxLag pulumi.IntInput `pulumi:"minReplicasMaxLag"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId pulumi.StringInput `pulumi:"monitoringInstanceId"` - // The notify keyspace events. - NotifyKeyspaceEvents pulumi.StringInput `pulumi:"notifyKeyspaceEvents"` - // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - SgwAcl pulumi.StringInput `pulumi:"sgwAcl"` - // The snapshot configuration. - Snapshot pulumi.StringInput `pulumi:"snapshot"` - // List of syslog servers to send logs to. - Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` - // List of TLS ciphers to use. - TlsCiphers pulumi.StringArrayInput `pulumi:"tlsCiphers"` - // TLS cipher suites to use. - TlsCiphersuites pulumi.StringInput `pulumi:"tlsCiphersuites"` - // TLS protocol to use. - TlsProtocols pulumi.StringInput `pulumi:"tlsProtocols"` -} +type GetObservabilityInstanceAlertConfigReceiverArray []GetObservabilityInstanceAlertConfigReceiverInput -func (GetRedisInstanceParametersArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRedisInstanceParameters)(nil)).Elem() +func (GetObservabilityInstanceAlertConfigReceiverArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiver)(nil)).Elem() } -func (i GetRedisInstanceParametersArgs) ToGetRedisInstanceParametersOutput() GetRedisInstanceParametersOutput { - return i.ToGetRedisInstanceParametersOutputWithContext(context.Background()) +func (i GetObservabilityInstanceAlertConfigReceiverArray) ToGetObservabilityInstanceAlertConfigReceiverArrayOutput() GetObservabilityInstanceAlertConfigReceiverArrayOutput { + return i.ToGetObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(context.Background()) } -func (i GetRedisInstanceParametersArgs) ToGetRedisInstanceParametersOutputWithContext(ctx context.Context) GetRedisInstanceParametersOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRedisInstanceParametersOutput) +func (i GetObservabilityInstanceAlertConfigReceiverArray) ToGetObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverArrayOutput) } -type GetRedisInstanceParametersOutput struct{ *pulumi.OutputState } +type GetObservabilityInstanceAlertConfigReceiverOutput struct{ *pulumi.OutputState } -func (GetRedisInstanceParametersOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRedisInstanceParameters)(nil)).Elem() +func (GetObservabilityInstanceAlertConfigReceiverOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiver)(nil)).Elem() } -func (o GetRedisInstanceParametersOutput) ToGetRedisInstanceParametersOutput() GetRedisInstanceParametersOutput { +func (o GetObservabilityInstanceAlertConfigReceiverOutput) ToGetObservabilityInstanceAlertConfigReceiverOutput() GetObservabilityInstanceAlertConfigReceiverOutput { return o } -func (o GetRedisInstanceParametersOutput) ToGetRedisInstanceParametersOutputWithContext(ctx context.Context) GetRedisInstanceParametersOutput { +func (o GetObservabilityInstanceAlertConfigReceiverOutput) ToGetObservabilityInstanceAlertConfigReceiverOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOutput { return o } -// The number of milliseconds after which the instance is considered down. -func (o GetRedisInstanceParametersOutput) DownAfterMilliseconds() pulumi.IntOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.DownAfterMilliseconds }).(pulumi.IntOutput) +// List of email configurations. +func (o GetObservabilityInstanceAlertConfigReceiverOutput) EmailConfigs() GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiver) []GetObservabilityInstanceAlertConfigReceiverEmailConfig { + return v.EmailConfigs + }).(GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) } -// Enable monitoring. -func (o GetRedisInstanceParametersOutput) EnableMonitoring() pulumi.BoolOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) bool { return v.EnableMonitoring }).(pulumi.BoolOutput) +// Name of the receiver. +func (o GetObservabilityInstanceAlertConfigReceiverOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiver) string { return v.Name }).(pulumi.StringOutput) } -// The failover timeout in milliseconds. -func (o GetRedisInstanceParametersOutput) FailoverTimeout() pulumi.IntOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.FailoverTimeout }).(pulumi.IntOutput) +// List of OpsGenie configurations. +func (o GetObservabilityInstanceAlertConfigReceiverOutput) OpsgenieConfigs() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiver) []GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig { + return v.OpsgenieConfigs + }).(GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) } -// Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. -func (o GetRedisInstanceParametersOutput) Graphite() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.Graphite }).(pulumi.StringOutput) +// List of Webhooks configurations. +func (o GetObservabilityInstanceAlertConfigReceiverOutput) WebhooksConfigs() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiver) []GetObservabilityInstanceAlertConfigReceiverWebhooksConfig { + return v.WebhooksConfigs + }).(GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) } -// The lazy eviction enablement (yes or no). -func (o GetRedisInstanceParametersOutput) LazyfreeLazyEviction() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.LazyfreeLazyEviction }).(pulumi.StringOutput) +type GetObservabilityInstanceAlertConfigReceiverArrayOutput struct{ *pulumi.OutputState } + +func (GetObservabilityInstanceAlertConfigReceiverArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiver)(nil)).Elem() } -// The lazy expire enablement (yes or no). -func (o GetRedisInstanceParametersOutput) LazyfreeLazyExpire() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.LazyfreeLazyExpire }).(pulumi.StringOutput) +func (o GetObservabilityInstanceAlertConfigReceiverArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverArrayOutput() GetObservabilityInstanceAlertConfigReceiverArrayOutput { + return o +} + +func (o GetObservabilityInstanceAlertConfigReceiverArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverArrayOutput { + return o +} + +func (o GetObservabilityInstanceAlertConfigReceiverArrayOutput) Index(i pulumi.IntInput) GetObservabilityInstanceAlertConfigReceiverOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityInstanceAlertConfigReceiver { + return vs[0].([]GetObservabilityInstanceAlertConfigReceiver)[vs[1].(int)] + }).(GetObservabilityInstanceAlertConfigReceiverOutput) +} + +type GetObservabilityInstanceAlertConfigReceiverEmailConfig struct { + // SMTP authentication information. Must be a valid email address + AuthIdentity string `pulumi:"authIdentity"` + // SMTP authentication password. + AuthPassword string `pulumi:"authPassword"` + // SMTP authentication username. + AuthUsername string `pulumi:"authUsername"` + // The sender email address. Must be a valid email address + From string `pulumi:"from"` + // Whether to notify about resolved alerts. + SendResolved bool `pulumi:"sendResolved"` + // The SMTP host through which emails are sent. + SmartHost string `pulumi:"smartHost"` + // The email address to send notifications to. Must be a valid email address + To string `pulumi:"to"` +} + +// GetObservabilityInstanceAlertConfigReceiverEmailConfigInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs and GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverEmailConfigInput` via: +// +// GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs{...} +type GetObservabilityInstanceAlertConfigReceiverEmailConfigInput interface { + pulumi.Input + + ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput + ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput +} + +type GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs struct { + // SMTP authentication information. Must be a valid email address + AuthIdentity pulumi.StringInput `pulumi:"authIdentity"` + // SMTP authentication password. + AuthPassword pulumi.StringInput `pulumi:"authPassword"` + // SMTP authentication username. + AuthUsername pulumi.StringInput `pulumi:"authUsername"` + // The sender email address. Must be a valid email address + From pulumi.StringInput `pulumi:"from"` + // Whether to notify about resolved alerts. + SendResolved pulumi.BoolInput `pulumi:"sendResolved"` + // The SMTP host through which emails are sent. + SmartHost pulumi.StringInput `pulumi:"smartHost"` + // The email address to send notifications to. Must be a valid email address + To pulumi.StringInput `pulumi:"to"` +} + +func (GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() +} + +func (i GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput { + return i.ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(context.Background()) +} + +func (i GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) +} + +// GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverEmailConfigArray and GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput` via: +// +// GetObservabilityInstanceAlertConfigReceiverEmailConfigArray{ GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs{...} } +type GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput interface { + pulumi.Input + + ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput + ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput +} + +type GetObservabilityInstanceAlertConfigReceiverEmailConfigArray []GetObservabilityInstanceAlertConfigReceiverEmailConfigInput + +func (GetObservabilityInstanceAlertConfigReceiverEmailConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() +} + +func (i GetObservabilityInstanceAlertConfigReceiverEmailConfigArray) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { + return i.ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(context.Background()) +} + +func (i GetObservabilityInstanceAlertConfigReceiverEmailConfigArray) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) +} + +type GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput struct{ *pulumi.OutputState } + +func (GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() +} + +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput { + return o +} + +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput { + return o +} + +// SMTP authentication information. Must be a valid email address +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) AuthIdentity() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.AuthIdentity }).(pulumi.StringOutput) +} + +// SMTP authentication password. +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) AuthPassword() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.AuthPassword }).(pulumi.StringOutput) +} + +// SMTP authentication username. +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) AuthUsername() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.AuthUsername }).(pulumi.StringOutput) +} + +// The sender email address. Must be a valid email address +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) From() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.From }).(pulumi.StringOutput) +} + +// Whether to notify about resolved alerts. +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) SendResolved() pulumi.BoolOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) bool { return v.SendResolved }).(pulumi.BoolOutput) +} + +// The SMTP host through which emails are sent. +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) SmartHost() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.SmartHost }).(pulumi.StringOutput) +} + +// The email address to send notifications to. Must be a valid email address +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) To() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverEmailConfig) string { return v.To }).(pulumi.StringOutput) +} + +type GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput struct{ *pulumi.OutputState } + +func (GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() +} + +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { + return o +} + +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { + return o +} + +func (o GetObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) Index(i pulumi.IntInput) GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityInstanceAlertConfigReceiverEmailConfig { + return vs[0].([]GetObservabilityInstanceAlertConfigReceiverEmailConfig)[vs[1].(int)] + }).(GetObservabilityInstanceAlertConfigReceiverEmailConfigOutput) +} + +type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig struct { + // The API key for OpsGenie. + ApiKey string `pulumi:"apiKey"` + // The host to send OpsGenie API requests to. Must be a valid URL + ApiUrl string `pulumi:"apiUrl"` + // Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`. + Priority string `pulumi:"priority"` + // Whether to notify about resolved alerts. + SendResolved bool `pulumi:"sendResolved"` + // Comma separated list of tags attached to the notifications. + Tags string `pulumi:"tags"` +} + +// GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs and GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput` via: +// +// GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs{...} +type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput interface { + pulumi.Input + + ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput + ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput +} + +type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs struct { + // The API key for OpsGenie. + ApiKey pulumi.StringInput `pulumi:"apiKey"` + // The host to send OpsGenie API requests to. Must be a valid URL + ApiUrl pulumi.StringInput `pulumi:"apiUrl"` + // Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`. + Priority pulumi.StringInput `pulumi:"priority"` + // Whether to notify about resolved alerts. + SendResolved pulumi.BoolInput `pulumi:"sendResolved"` + // Comma separated list of tags attached to the notifications. + Tags pulumi.StringInput `pulumi:"tags"` +} + +func (GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() +} + +func (i GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { + return i.ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(context.Background()) +} + +func (i GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) +} + +// GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray and GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput` via: +// +// GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray{ GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs{...} } +type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput interface { + pulumi.Input + + ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput + ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput +} + +type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray []GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput + +func (GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() +} + +func (i GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { + return i.ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(context.Background()) +} + +func (i GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) +} + +type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput struct{ *pulumi.OutputState } + +func (GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() +} + +func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { + return o +} + +func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { + return o +} + +// The API key for OpsGenie. +func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ApiKey() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig) string { return v.ApiKey }).(pulumi.StringOutput) +} + +// The host to send OpsGenie API requests to. Must be a valid URL +func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ApiUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig) string { return v.ApiUrl }).(pulumi.StringOutput) +} + +// Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`. +func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) Priority() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig) string { return v.Priority }).(pulumi.StringOutput) +} + +// Whether to notify about resolved alerts. +func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) SendResolved() pulumi.BoolOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig) bool { return v.SendResolved }).(pulumi.BoolOutput) +} + +// Comma separated list of tags attached to the notifications. +func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) Tags() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig) string { return v.Tags }).(pulumi.StringOutput) +} + +type GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput struct{ *pulumi.OutputState } + +func (GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() +} + +func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { + return o +} + +func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { + return o +} + +func (o GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) Index(i pulumi.IntInput) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig { + return vs[0].([]GetObservabilityInstanceAlertConfigReceiverOpsgenieConfig)[vs[1].(int)] + }).(GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) +} + +type GetObservabilityInstanceAlertConfigReceiverWebhooksConfig struct { + // Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat. + GoogleChat bool `pulumi:"googleChat"` + // Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams. + MsTeams bool `pulumi:"msTeams"` + // Whether to notify about resolved alerts. + SendResolved bool `pulumi:"sendResolved"` + // The endpoint to send HTTP POST requests to. Must be a valid URL + Url string `pulumi:"url"` +} + +// GetObservabilityInstanceAlertConfigReceiverWebhooksConfigInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs and GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverWebhooksConfigInput` via: +// +// GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs{...} +type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigInput interface { + pulumi.Input + + ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput + ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput +} + +type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs struct { + // Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat. + GoogleChat pulumi.BoolInput `pulumi:"googleChat"` + // Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams. + MsTeams pulumi.BoolInput `pulumi:"msTeams"` + // Whether to notify about resolved alerts. + SendResolved pulumi.BoolInput `pulumi:"sendResolved"` + // The endpoint to send HTTP POST requests to. Must be a valid URL + Url pulumi.StringInput `pulumi:"url"` +} + +func (GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() +} + +func (i GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { + return i.ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(context.Background()) +} + +func (i GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) +} + +// GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput is an input type that accepts GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray and GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput` via: +// +// GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray{ GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs{...} } +type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput interface { + pulumi.Input + + ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput + ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput +} + +type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray []GetObservabilityInstanceAlertConfigReceiverWebhooksConfigInput + +func (GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() +} + +func (i GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { + return i.ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(context.Background()) +} + +func (i GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArray) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) +} + +type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput struct{ *pulumi.OutputState } + +func (GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() +} + +func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { + return o +} + +func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { + return o +} + +// Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat. +func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) GoogleChat() pulumi.BoolOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverWebhooksConfig) bool { return v.GoogleChat }).(pulumi.BoolOutput) +} + +// Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams. +func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) MsTeams() pulumi.BoolOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverWebhooksConfig) bool { return v.MsTeams }).(pulumi.BoolOutput) +} + +// Whether to notify about resolved alerts. +func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) SendResolved() pulumi.BoolOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverWebhooksConfig) bool { return v.SendResolved }).(pulumi.BoolOutput) +} + +// The endpoint to send HTTP POST requests to. Must be a valid URL +func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) Url() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigReceiverWebhooksConfig) string { return v.Url }).(pulumi.StringOutput) +} + +type GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput struct{ *pulumi.OutputState } + +func (GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() +} + +func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput() GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { + return o +} + +func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) ToGetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { + return o +} + +func (o GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) Index(i pulumi.IntInput) GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityInstanceAlertConfigReceiverWebhooksConfig { + return vs[0].([]GetObservabilityInstanceAlertConfigReceiverWebhooksConfig)[vs[1].(int)] + }).(GetObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) +} + +type GetObservabilityInstanceAlertConfigRoute struct { + // Whether an alert should continue matching subsequent sibling nodes. + Continue bool `pulumi:"continue"` + // The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. + GroupBies []string `pulumi:"groupBies"` + // How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) + GroupInterval string `pulumi:"groupInterval"` + // How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) . + GroupWait string `pulumi:"groupWait"` + // The name of the receiver to route the alerts to. + Receiver string `pulumi:"receiver"` + // How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). + RepeatInterval string `pulumi:"repeatInterval"` + // List of child routes. + Routes []GetObservabilityInstanceAlertConfigRouteRoute `pulumi:"routes"` +} + +// GetObservabilityInstanceAlertConfigRouteInput is an input type that accepts GetObservabilityInstanceAlertConfigRouteArgs and GetObservabilityInstanceAlertConfigRouteOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigRouteInput` via: +// +// GetObservabilityInstanceAlertConfigRouteArgs{...} +type GetObservabilityInstanceAlertConfigRouteInput interface { + pulumi.Input + + ToGetObservabilityInstanceAlertConfigRouteOutput() GetObservabilityInstanceAlertConfigRouteOutput + ToGetObservabilityInstanceAlertConfigRouteOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigRouteOutput +} + +type GetObservabilityInstanceAlertConfigRouteArgs struct { + // Whether an alert should continue matching subsequent sibling nodes. + Continue pulumi.BoolInput `pulumi:"continue"` + // The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. + GroupBies pulumi.StringArrayInput `pulumi:"groupBies"` + // How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) + GroupInterval pulumi.StringInput `pulumi:"groupInterval"` + // How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) . + GroupWait pulumi.StringInput `pulumi:"groupWait"` + // The name of the receiver to route the alerts to. + Receiver pulumi.StringInput `pulumi:"receiver"` + // How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). + RepeatInterval pulumi.StringInput `pulumi:"repeatInterval"` + // List of child routes. + Routes GetObservabilityInstanceAlertConfigRouteRouteArrayInput `pulumi:"routes"` +} + +func (GetObservabilityInstanceAlertConfigRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigRoute)(nil)).Elem() +} + +func (i GetObservabilityInstanceAlertConfigRouteArgs) ToGetObservabilityInstanceAlertConfigRouteOutput() GetObservabilityInstanceAlertConfigRouteOutput { + return i.ToGetObservabilityInstanceAlertConfigRouteOutputWithContext(context.Background()) +} + +func (i GetObservabilityInstanceAlertConfigRouteArgs) ToGetObservabilityInstanceAlertConfigRouteOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigRouteOutput) +} + +type GetObservabilityInstanceAlertConfigRouteOutput struct{ *pulumi.OutputState } + +func (GetObservabilityInstanceAlertConfigRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigRoute)(nil)).Elem() +} + +func (o GetObservabilityInstanceAlertConfigRouteOutput) ToGetObservabilityInstanceAlertConfigRouteOutput() GetObservabilityInstanceAlertConfigRouteOutput { + return o +} + +func (o GetObservabilityInstanceAlertConfigRouteOutput) ToGetObservabilityInstanceAlertConfigRouteOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteOutput { + return o +} + +// Whether an alert should continue matching subsequent sibling nodes. +func (o GetObservabilityInstanceAlertConfigRouteOutput) Continue() pulumi.BoolOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) bool { return v.Continue }).(pulumi.BoolOutput) +} + +// The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. +func (o GetObservabilityInstanceAlertConfigRouteOutput) GroupBies() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) []string { return v.GroupBies }).(pulumi.StringArrayOutput) +} + +// How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) +func (o GetObservabilityInstanceAlertConfigRouteOutput) GroupInterval() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) string { return v.GroupInterval }).(pulumi.StringOutput) +} + +// How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) . +func (o GetObservabilityInstanceAlertConfigRouteOutput) GroupWait() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) string { return v.GroupWait }).(pulumi.StringOutput) +} + +// The name of the receiver to route the alerts to. +func (o GetObservabilityInstanceAlertConfigRouteOutput) Receiver() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) string { return v.Receiver }).(pulumi.StringOutput) +} + +// How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). +func (o GetObservabilityInstanceAlertConfigRouteOutput) RepeatInterval() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) string { return v.RepeatInterval }).(pulumi.StringOutput) +} + +// List of child routes. +func (o GetObservabilityInstanceAlertConfigRouteOutput) Routes() GetObservabilityInstanceAlertConfigRouteRouteArrayOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRoute) []GetObservabilityInstanceAlertConfigRouteRoute { + return v.Routes + }).(GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) +} + +type GetObservabilityInstanceAlertConfigRouteRoute struct { + // Whether an alert should continue matching subsequent sibling nodes. + Continue bool `pulumi:"continue"` + // The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. + GroupBies []string `pulumi:"groupBies"` + // How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) + GroupInterval string `pulumi:"groupInterval"` + // How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) + GroupWait string `pulumi:"groupWait"` + // A set of equality matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead + // + // Deprecated: Use `matchers` in the `routes` instead. + Match map[string]string `pulumi:"match"` + // A set of regex-matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead + // + // Deprecated: Use `matchers` in the `routes` instead. + MatchRegex map[string]string `pulumi:"matchRegex"` + // A list of matchers that an alert has to fulfill to match the node. A matcher is a string with a syntax inspired by PromQL and OpenMetrics. + Matchers []string `pulumi:"matchers"` + // The name of the receiver to route the alerts to. + Receiver string `pulumi:"receiver"` + // How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). + RepeatInterval string `pulumi:"repeatInterval"` +} + +// GetObservabilityInstanceAlertConfigRouteRouteInput is an input type that accepts GetObservabilityInstanceAlertConfigRouteRouteArgs and GetObservabilityInstanceAlertConfigRouteRouteOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigRouteRouteInput` via: +// +// GetObservabilityInstanceAlertConfigRouteRouteArgs{...} +type GetObservabilityInstanceAlertConfigRouteRouteInput interface { + pulumi.Input + + ToGetObservabilityInstanceAlertConfigRouteRouteOutput() GetObservabilityInstanceAlertConfigRouteRouteOutput + ToGetObservabilityInstanceAlertConfigRouteRouteOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigRouteRouteOutput +} + +type GetObservabilityInstanceAlertConfigRouteRouteArgs struct { + // Whether an alert should continue matching subsequent sibling nodes. + Continue pulumi.BoolInput `pulumi:"continue"` + // The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. + GroupBies pulumi.StringArrayInput `pulumi:"groupBies"` + // How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) + GroupInterval pulumi.StringInput `pulumi:"groupInterval"` + // How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) + GroupWait pulumi.StringInput `pulumi:"groupWait"` + // A set of equality matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead + // + // Deprecated: Use `matchers` in the `routes` instead. + Match pulumi.StringMapInput `pulumi:"match"` + // A set of regex-matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead + // + // Deprecated: Use `matchers` in the `routes` instead. + MatchRegex pulumi.StringMapInput `pulumi:"matchRegex"` + // A list of matchers that an alert has to fulfill to match the node. A matcher is a string with a syntax inspired by PromQL and OpenMetrics. + Matchers pulumi.StringArrayInput `pulumi:"matchers"` + // The name of the receiver to route the alerts to. + Receiver pulumi.StringInput `pulumi:"receiver"` + // How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). + RepeatInterval pulumi.StringInput `pulumi:"repeatInterval"` +} + +func (GetObservabilityInstanceAlertConfigRouteRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() +} + +func (i GetObservabilityInstanceAlertConfigRouteRouteArgs) ToGetObservabilityInstanceAlertConfigRouteRouteOutput() GetObservabilityInstanceAlertConfigRouteRouteOutput { + return i.ToGetObservabilityInstanceAlertConfigRouteRouteOutputWithContext(context.Background()) +} + +func (i GetObservabilityInstanceAlertConfigRouteRouteArgs) ToGetObservabilityInstanceAlertConfigRouteRouteOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigRouteRouteOutput) +} + +// GetObservabilityInstanceAlertConfigRouteRouteArrayInput is an input type that accepts GetObservabilityInstanceAlertConfigRouteRouteArray and GetObservabilityInstanceAlertConfigRouteRouteArrayOutput values. +// You can construct a concrete instance of `GetObservabilityInstanceAlertConfigRouteRouteArrayInput` via: +// +// GetObservabilityInstanceAlertConfigRouteRouteArray{ GetObservabilityInstanceAlertConfigRouteRouteArgs{...} } +type GetObservabilityInstanceAlertConfigRouteRouteArrayInput interface { + pulumi.Input + + ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutput() GetObservabilityInstanceAlertConfigRouteRouteArrayOutput + ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(context.Context) GetObservabilityInstanceAlertConfigRouteRouteArrayOutput +} + +type GetObservabilityInstanceAlertConfigRouteRouteArray []GetObservabilityInstanceAlertConfigRouteRouteInput + +func (GetObservabilityInstanceAlertConfigRouteRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() +} + +func (i GetObservabilityInstanceAlertConfigRouteRouteArray) ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutput() GetObservabilityInstanceAlertConfigRouteRouteArrayOutput { + return i.ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(context.Background()) +} + +func (i GetObservabilityInstanceAlertConfigRouteRouteArray) ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) +} + +type GetObservabilityInstanceAlertConfigRouteRouteOutput struct{ *pulumi.OutputState } + +func (GetObservabilityInstanceAlertConfigRouteRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() +} + +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) ToGetObservabilityInstanceAlertConfigRouteRouteOutput() GetObservabilityInstanceAlertConfigRouteRouteOutput { + return o +} + +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) ToGetObservabilityInstanceAlertConfigRouteRouteOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteRouteOutput { + return o +} + +// Whether an alert should continue matching subsequent sibling nodes. +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) Continue() pulumi.BoolOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) bool { return v.Continue }).(pulumi.BoolOutput) +} + +// The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) GroupBies() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) []string { return v.GroupBies }).(pulumi.StringArrayOutput) +} + +// How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) GroupInterval() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) string { return v.GroupInterval }).(pulumi.StringOutput) +} + +// How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) GroupWait() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) string { return v.GroupWait }).(pulumi.StringOutput) +} + +// A set of equality matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead +// +// Deprecated: Use `matchers` in the `routes` instead. +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) Match() pulumi.StringMapOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) map[string]string { return v.Match }).(pulumi.StringMapOutput) +} + +// A set of regex-matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead +// +// Deprecated: Use `matchers` in the `routes` instead. +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) MatchRegex() pulumi.StringMapOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) map[string]string { return v.MatchRegex }).(pulumi.StringMapOutput) +} + +// A list of matchers that an alert has to fulfill to match the node. A matcher is a string with a syntax inspired by PromQL and OpenMetrics. +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) Matchers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) []string { return v.Matchers }).(pulumi.StringArrayOutput) +} + +// The name of the receiver to route the alerts to. +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) Receiver() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) string { return v.Receiver }).(pulumi.StringOutput) +} + +// How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). +func (o GetObservabilityInstanceAlertConfigRouteRouteOutput) RepeatInterval() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityInstanceAlertConfigRouteRoute) string { return v.RepeatInterval }).(pulumi.StringOutput) +} + +type GetObservabilityInstanceAlertConfigRouteRouteArrayOutput struct{ *pulumi.OutputState } + +func (GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() +} + +func (o GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutput() GetObservabilityInstanceAlertConfigRouteRouteArrayOutput { + return o +} + +func (o GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) ToGetObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(ctx context.Context) GetObservabilityInstanceAlertConfigRouteRouteArrayOutput { + return o +} + +func (o GetObservabilityInstanceAlertConfigRouteRouteArrayOutput) Index(i pulumi.IntInput) GetObservabilityInstanceAlertConfigRouteRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityInstanceAlertConfigRouteRoute { + return vs[0].([]GetObservabilityInstanceAlertConfigRouteRoute)[vs[1].(int)] + }).(GetObservabilityInstanceAlertConfigRouteRouteOutput) +} + +type GetObservabilityLogalertgroupRule struct { + // The name of the alert rule. Is the identifier and must be unique in the group. + Alert string `pulumi:"alert"` + // A map of key:value. Annotations to add or overwrite for each alert + Annotations map[string]string `pulumi:"annotations"` + // The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. + Expression string `pulumi:"expression"` + // Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s + For string `pulumi:"for"` + // A map of key:value. Labels to add or overwrite for each alert + Labels map[string]string `pulumi:"labels"` +} + +// GetObservabilityLogalertgroupRuleInput is an input type that accepts GetObservabilityLogalertgroupRuleArgs and GetObservabilityLogalertgroupRuleOutput values. +// You can construct a concrete instance of `GetObservabilityLogalertgroupRuleInput` via: +// +// GetObservabilityLogalertgroupRuleArgs{...} +type GetObservabilityLogalertgroupRuleInput interface { + pulumi.Input + + ToGetObservabilityLogalertgroupRuleOutput() GetObservabilityLogalertgroupRuleOutput + ToGetObservabilityLogalertgroupRuleOutputWithContext(context.Context) GetObservabilityLogalertgroupRuleOutput +} + +type GetObservabilityLogalertgroupRuleArgs struct { + // The name of the alert rule. Is the identifier and must be unique in the group. + Alert pulumi.StringInput `pulumi:"alert"` + // A map of key:value. Annotations to add or overwrite for each alert + Annotations pulumi.StringMapInput `pulumi:"annotations"` + // The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. + Expression pulumi.StringInput `pulumi:"expression"` + // Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s + For pulumi.StringInput `pulumi:"for"` + // A map of key:value. Labels to add or overwrite for each alert + Labels pulumi.StringMapInput `pulumi:"labels"` +} + +func (GetObservabilityLogalertgroupRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityLogalertgroupRule)(nil)).Elem() +} + +func (i GetObservabilityLogalertgroupRuleArgs) ToGetObservabilityLogalertgroupRuleOutput() GetObservabilityLogalertgroupRuleOutput { + return i.ToGetObservabilityLogalertgroupRuleOutputWithContext(context.Background()) +} + +func (i GetObservabilityLogalertgroupRuleArgs) ToGetObservabilityLogalertgroupRuleOutputWithContext(ctx context.Context) GetObservabilityLogalertgroupRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityLogalertgroupRuleOutput) +} + +// GetObservabilityLogalertgroupRuleArrayInput is an input type that accepts GetObservabilityLogalertgroupRuleArray and GetObservabilityLogalertgroupRuleArrayOutput values. +// You can construct a concrete instance of `GetObservabilityLogalertgroupRuleArrayInput` via: +// +// GetObservabilityLogalertgroupRuleArray{ GetObservabilityLogalertgroupRuleArgs{...} } +type GetObservabilityLogalertgroupRuleArrayInput interface { + pulumi.Input + + ToGetObservabilityLogalertgroupRuleArrayOutput() GetObservabilityLogalertgroupRuleArrayOutput + ToGetObservabilityLogalertgroupRuleArrayOutputWithContext(context.Context) GetObservabilityLogalertgroupRuleArrayOutput +} + +type GetObservabilityLogalertgroupRuleArray []GetObservabilityLogalertgroupRuleInput + +func (GetObservabilityLogalertgroupRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityLogalertgroupRule)(nil)).Elem() +} + +func (i GetObservabilityLogalertgroupRuleArray) ToGetObservabilityLogalertgroupRuleArrayOutput() GetObservabilityLogalertgroupRuleArrayOutput { + return i.ToGetObservabilityLogalertgroupRuleArrayOutputWithContext(context.Background()) +} + +func (i GetObservabilityLogalertgroupRuleArray) ToGetObservabilityLogalertgroupRuleArrayOutputWithContext(ctx context.Context) GetObservabilityLogalertgroupRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityLogalertgroupRuleArrayOutput) +} + +type GetObservabilityLogalertgroupRuleOutput struct{ *pulumi.OutputState } + +func (GetObservabilityLogalertgroupRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityLogalertgroupRule)(nil)).Elem() +} + +func (o GetObservabilityLogalertgroupRuleOutput) ToGetObservabilityLogalertgroupRuleOutput() GetObservabilityLogalertgroupRuleOutput { + return o +} + +func (o GetObservabilityLogalertgroupRuleOutput) ToGetObservabilityLogalertgroupRuleOutputWithContext(ctx context.Context) GetObservabilityLogalertgroupRuleOutput { + return o +} + +// The name of the alert rule. Is the identifier and must be unique in the group. +func (o GetObservabilityLogalertgroupRuleOutput) Alert() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityLogalertgroupRule) string { return v.Alert }).(pulumi.StringOutput) +} + +// A map of key:value. Annotations to add or overwrite for each alert +func (o GetObservabilityLogalertgroupRuleOutput) Annotations() pulumi.StringMapOutput { + return o.ApplyT(func(v GetObservabilityLogalertgroupRule) map[string]string { return v.Annotations }).(pulumi.StringMapOutput) +} + +// The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. +func (o GetObservabilityLogalertgroupRuleOutput) Expression() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityLogalertgroupRule) string { return v.Expression }).(pulumi.StringOutput) +} + +// Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s +func (o GetObservabilityLogalertgroupRuleOutput) For() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityLogalertgroupRule) string { return v.For }).(pulumi.StringOutput) +} + +// A map of key:value. Labels to add or overwrite for each alert +func (o GetObservabilityLogalertgroupRuleOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v GetObservabilityLogalertgroupRule) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +type GetObservabilityLogalertgroupRuleArrayOutput struct{ *pulumi.OutputState } + +func (GetObservabilityLogalertgroupRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityLogalertgroupRule)(nil)).Elem() +} + +func (o GetObservabilityLogalertgroupRuleArrayOutput) ToGetObservabilityLogalertgroupRuleArrayOutput() GetObservabilityLogalertgroupRuleArrayOutput { + return o +} + +func (o GetObservabilityLogalertgroupRuleArrayOutput) ToGetObservabilityLogalertgroupRuleArrayOutputWithContext(ctx context.Context) GetObservabilityLogalertgroupRuleArrayOutput { + return o +} + +func (o GetObservabilityLogalertgroupRuleArrayOutput) Index(i pulumi.IntInput) GetObservabilityLogalertgroupRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityLogalertgroupRule { + return vs[0].([]GetObservabilityLogalertgroupRule)[vs[1].(int)] + }).(GetObservabilityLogalertgroupRuleOutput) +} + +type GetObservabilityScrapeconfigBasicAuth struct { + // Specifies basic auth password. + Password string `pulumi:"password"` + // Specifies basic auth username. + Username string `pulumi:"username"` +} + +// GetObservabilityScrapeconfigBasicAuthInput is an input type that accepts GetObservabilityScrapeconfigBasicAuthArgs and GetObservabilityScrapeconfigBasicAuthOutput values. +// You can construct a concrete instance of `GetObservabilityScrapeconfigBasicAuthInput` via: +// +// GetObservabilityScrapeconfigBasicAuthArgs{...} +type GetObservabilityScrapeconfigBasicAuthInput interface { + pulumi.Input + + ToGetObservabilityScrapeconfigBasicAuthOutput() GetObservabilityScrapeconfigBasicAuthOutput + ToGetObservabilityScrapeconfigBasicAuthOutputWithContext(context.Context) GetObservabilityScrapeconfigBasicAuthOutput +} + +type GetObservabilityScrapeconfigBasicAuthArgs struct { + // Specifies basic auth password. + Password pulumi.StringInput `pulumi:"password"` + // Specifies basic auth username. + Username pulumi.StringInput `pulumi:"username"` +} + +func (GetObservabilityScrapeconfigBasicAuthArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityScrapeconfigBasicAuth)(nil)).Elem() +} + +func (i GetObservabilityScrapeconfigBasicAuthArgs) ToGetObservabilityScrapeconfigBasicAuthOutput() GetObservabilityScrapeconfigBasicAuthOutput { + return i.ToGetObservabilityScrapeconfigBasicAuthOutputWithContext(context.Background()) +} + +func (i GetObservabilityScrapeconfigBasicAuthArgs) ToGetObservabilityScrapeconfigBasicAuthOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigBasicAuthOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityScrapeconfigBasicAuthOutput) +} + +type GetObservabilityScrapeconfigBasicAuthOutput struct{ *pulumi.OutputState } + +func (GetObservabilityScrapeconfigBasicAuthOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityScrapeconfigBasicAuth)(nil)).Elem() +} + +func (o GetObservabilityScrapeconfigBasicAuthOutput) ToGetObservabilityScrapeconfigBasicAuthOutput() GetObservabilityScrapeconfigBasicAuthOutput { + return o +} + +func (o GetObservabilityScrapeconfigBasicAuthOutput) ToGetObservabilityScrapeconfigBasicAuthOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigBasicAuthOutput { + return o +} + +// Specifies basic auth password. +func (o GetObservabilityScrapeconfigBasicAuthOutput) Password() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityScrapeconfigBasicAuth) string { return v.Password }).(pulumi.StringOutput) +} + +// Specifies basic auth username. +func (o GetObservabilityScrapeconfigBasicAuthOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v GetObservabilityScrapeconfigBasicAuth) string { return v.Username }).(pulumi.StringOutput) +} + +type GetObservabilityScrapeconfigSaml2 struct { + // Specifies if URL parameters are enabled + EnableUrlParameters bool `pulumi:"enableUrlParameters"` +} + +// GetObservabilityScrapeconfigSaml2Input is an input type that accepts GetObservabilityScrapeconfigSaml2Args and GetObservabilityScrapeconfigSaml2Output values. +// You can construct a concrete instance of `GetObservabilityScrapeconfigSaml2Input` via: +// +// GetObservabilityScrapeconfigSaml2Args{...} +type GetObservabilityScrapeconfigSaml2Input interface { + pulumi.Input + + ToGetObservabilityScrapeconfigSaml2Output() GetObservabilityScrapeconfigSaml2Output + ToGetObservabilityScrapeconfigSaml2OutputWithContext(context.Context) GetObservabilityScrapeconfigSaml2Output +} + +type GetObservabilityScrapeconfigSaml2Args struct { + // Specifies if URL parameters are enabled + EnableUrlParameters pulumi.BoolInput `pulumi:"enableUrlParameters"` +} + +func (GetObservabilityScrapeconfigSaml2Args) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityScrapeconfigSaml2)(nil)).Elem() +} + +func (i GetObservabilityScrapeconfigSaml2Args) ToGetObservabilityScrapeconfigSaml2Output() GetObservabilityScrapeconfigSaml2Output { + return i.ToGetObservabilityScrapeconfigSaml2OutputWithContext(context.Background()) +} + +func (i GetObservabilityScrapeconfigSaml2Args) ToGetObservabilityScrapeconfigSaml2OutputWithContext(ctx context.Context) GetObservabilityScrapeconfigSaml2Output { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityScrapeconfigSaml2Output) +} + +type GetObservabilityScrapeconfigSaml2Output struct{ *pulumi.OutputState } + +func (GetObservabilityScrapeconfigSaml2Output) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityScrapeconfigSaml2)(nil)).Elem() +} + +func (o GetObservabilityScrapeconfigSaml2Output) ToGetObservabilityScrapeconfigSaml2Output() GetObservabilityScrapeconfigSaml2Output { + return o +} + +func (o GetObservabilityScrapeconfigSaml2Output) ToGetObservabilityScrapeconfigSaml2OutputWithContext(ctx context.Context) GetObservabilityScrapeconfigSaml2Output { + return o +} + +// Specifies if URL parameters are enabled +func (o GetObservabilityScrapeconfigSaml2Output) EnableUrlParameters() pulumi.BoolOutput { + return o.ApplyT(func(v GetObservabilityScrapeconfigSaml2) bool { return v.EnableUrlParameters }).(pulumi.BoolOutput) +} + +type GetObservabilityScrapeconfigTarget struct { + // Specifies labels. + Labels map[string]string `pulumi:"labels"` + // Specifies target URLs. + Urls []string `pulumi:"urls"` +} + +// GetObservabilityScrapeconfigTargetInput is an input type that accepts GetObservabilityScrapeconfigTargetArgs and GetObservabilityScrapeconfigTargetOutput values. +// You can construct a concrete instance of `GetObservabilityScrapeconfigTargetInput` via: +// +// GetObservabilityScrapeconfigTargetArgs{...} +type GetObservabilityScrapeconfigTargetInput interface { + pulumi.Input + + ToGetObservabilityScrapeconfigTargetOutput() GetObservabilityScrapeconfigTargetOutput + ToGetObservabilityScrapeconfigTargetOutputWithContext(context.Context) GetObservabilityScrapeconfigTargetOutput +} + +type GetObservabilityScrapeconfigTargetArgs struct { + // Specifies labels. + Labels pulumi.StringMapInput `pulumi:"labels"` + // Specifies target URLs. + Urls pulumi.StringArrayInput `pulumi:"urls"` +} + +func (GetObservabilityScrapeconfigTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityScrapeconfigTarget)(nil)).Elem() +} + +func (i GetObservabilityScrapeconfigTargetArgs) ToGetObservabilityScrapeconfigTargetOutput() GetObservabilityScrapeconfigTargetOutput { + return i.ToGetObservabilityScrapeconfigTargetOutputWithContext(context.Background()) +} + +func (i GetObservabilityScrapeconfigTargetArgs) ToGetObservabilityScrapeconfigTargetOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityScrapeconfigTargetOutput) +} + +// GetObservabilityScrapeconfigTargetArrayInput is an input type that accepts GetObservabilityScrapeconfigTargetArray and GetObservabilityScrapeconfigTargetArrayOutput values. +// You can construct a concrete instance of `GetObservabilityScrapeconfigTargetArrayInput` via: +// +// GetObservabilityScrapeconfigTargetArray{ GetObservabilityScrapeconfigTargetArgs{...} } +type GetObservabilityScrapeconfigTargetArrayInput interface { + pulumi.Input + + ToGetObservabilityScrapeconfigTargetArrayOutput() GetObservabilityScrapeconfigTargetArrayOutput + ToGetObservabilityScrapeconfigTargetArrayOutputWithContext(context.Context) GetObservabilityScrapeconfigTargetArrayOutput +} + +type GetObservabilityScrapeconfigTargetArray []GetObservabilityScrapeconfigTargetInput + +func (GetObservabilityScrapeconfigTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityScrapeconfigTarget)(nil)).Elem() +} + +func (i GetObservabilityScrapeconfigTargetArray) ToGetObservabilityScrapeconfigTargetArrayOutput() GetObservabilityScrapeconfigTargetArrayOutput { + return i.ToGetObservabilityScrapeconfigTargetArrayOutputWithContext(context.Background()) +} + +func (i GetObservabilityScrapeconfigTargetArray) ToGetObservabilityScrapeconfigTargetArrayOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetObservabilityScrapeconfigTargetArrayOutput) +} + +type GetObservabilityScrapeconfigTargetOutput struct{ *pulumi.OutputState } + +func (GetObservabilityScrapeconfigTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetObservabilityScrapeconfigTarget)(nil)).Elem() +} + +func (o GetObservabilityScrapeconfigTargetOutput) ToGetObservabilityScrapeconfigTargetOutput() GetObservabilityScrapeconfigTargetOutput { + return o +} + +func (o GetObservabilityScrapeconfigTargetOutput) ToGetObservabilityScrapeconfigTargetOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigTargetOutput { + return o +} + +// Specifies labels. +func (o GetObservabilityScrapeconfigTargetOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v GetObservabilityScrapeconfigTarget) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +// Specifies target URLs. +func (o GetObservabilityScrapeconfigTargetOutput) Urls() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetObservabilityScrapeconfigTarget) []string { return v.Urls }).(pulumi.StringArrayOutput) +} + +type GetObservabilityScrapeconfigTargetArrayOutput struct{ *pulumi.OutputState } + +func (GetObservabilityScrapeconfigTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetObservabilityScrapeconfigTarget)(nil)).Elem() +} + +func (o GetObservabilityScrapeconfigTargetArrayOutput) ToGetObservabilityScrapeconfigTargetArrayOutput() GetObservabilityScrapeconfigTargetArrayOutput { + return o +} + +func (o GetObservabilityScrapeconfigTargetArrayOutput) ToGetObservabilityScrapeconfigTargetArrayOutputWithContext(ctx context.Context) GetObservabilityScrapeconfigTargetArrayOutput { + return o +} + +func (o GetObservabilityScrapeconfigTargetArrayOutput) Index(i pulumi.IntInput) GetObservabilityScrapeconfigTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetObservabilityScrapeconfigTarget { + return vs[0].([]GetObservabilityScrapeconfigTarget)[vs[1].(int)] + }).(GetObservabilityScrapeconfigTargetOutput) +} + +type GetOpensearchInstanceParameters struct { + // Enable monitoring. + EnableMonitoring bool `pulumi:"enableMonitoring"` + // If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). + Graphite string `pulumi:"graphite"` + // The garbage collector to use for OpenSearch. + JavaGarbageCollector string `pulumi:"javaGarbageCollector"` + // The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. + JavaHeapspace int `pulumi:"javaHeapspace"` + // The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. + JavaMaxmetaspace int `pulumi:"javaMaxmetaspace"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold int `pulumi:"maxDiskThreshold"` + // The frequency in seconds at which metrics are emitted (in seconds). + MetricsFrequency int `pulumi:"metricsFrequency"` + // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. + MetricsPrefix string `pulumi:"metricsPrefix"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId string `pulumi:"monitoringInstanceId"` + // List of plugins to install. Must be a supported plugin name. The plugins `repository-s3` and `repository-azure` are enabled by default and cannot be disabled. + Plugins []string `pulumi:"plugins"` + // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + SgwAcl string `pulumi:"sgwAcl"` + // List of syslog servers to send logs to. + Syslogs []string `pulumi:"syslogs"` + // List of TLS ciphers to use. + TlsCiphers []string `pulumi:"tlsCiphers"` + // List of TLS protocols to use. + TlsProtocols []string `pulumi:"tlsProtocols"` +} + +// GetOpensearchInstanceParametersInput is an input type that accepts GetOpensearchInstanceParametersArgs and GetOpensearchInstanceParametersOutput values. +// You can construct a concrete instance of `GetOpensearchInstanceParametersInput` via: +// +// GetOpensearchInstanceParametersArgs{...} +type GetOpensearchInstanceParametersInput interface { + pulumi.Input + + ToGetOpensearchInstanceParametersOutput() GetOpensearchInstanceParametersOutput + ToGetOpensearchInstanceParametersOutputWithContext(context.Context) GetOpensearchInstanceParametersOutput +} + +type GetOpensearchInstanceParametersArgs struct { + // Enable monitoring. + EnableMonitoring pulumi.BoolInput `pulumi:"enableMonitoring"` + // If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). + Graphite pulumi.StringInput `pulumi:"graphite"` + // The garbage collector to use for OpenSearch. + JavaGarbageCollector pulumi.StringInput `pulumi:"javaGarbageCollector"` + // The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. + JavaHeapspace pulumi.IntInput `pulumi:"javaHeapspace"` + // The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. + JavaMaxmetaspace pulumi.IntInput `pulumi:"javaMaxmetaspace"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold pulumi.IntInput `pulumi:"maxDiskThreshold"` + // The frequency in seconds at which metrics are emitted (in seconds). + MetricsFrequency pulumi.IntInput `pulumi:"metricsFrequency"` + // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. + MetricsPrefix pulumi.StringInput `pulumi:"metricsPrefix"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId pulumi.StringInput `pulumi:"monitoringInstanceId"` + // List of plugins to install. Must be a supported plugin name. The plugins `repository-s3` and `repository-azure` are enabled by default and cannot be disabled. + Plugins pulumi.StringArrayInput `pulumi:"plugins"` + // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + SgwAcl pulumi.StringInput `pulumi:"sgwAcl"` + // List of syslog servers to send logs to. + Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` + // List of TLS ciphers to use. + TlsCiphers pulumi.StringArrayInput `pulumi:"tlsCiphers"` + // List of TLS protocols to use. + TlsProtocols pulumi.StringArrayInput `pulumi:"tlsProtocols"` +} + +func (GetOpensearchInstanceParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetOpensearchInstanceParameters)(nil)).Elem() +} + +func (i GetOpensearchInstanceParametersArgs) ToGetOpensearchInstanceParametersOutput() GetOpensearchInstanceParametersOutput { + return i.ToGetOpensearchInstanceParametersOutputWithContext(context.Background()) +} + +func (i GetOpensearchInstanceParametersArgs) ToGetOpensearchInstanceParametersOutputWithContext(ctx context.Context) GetOpensearchInstanceParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetOpensearchInstanceParametersOutput) +} + +type GetOpensearchInstanceParametersOutput struct{ *pulumi.OutputState } + +func (GetOpensearchInstanceParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetOpensearchInstanceParameters)(nil)).Elem() +} + +func (o GetOpensearchInstanceParametersOutput) ToGetOpensearchInstanceParametersOutput() GetOpensearchInstanceParametersOutput { + return o +} + +func (o GetOpensearchInstanceParametersOutput) ToGetOpensearchInstanceParametersOutputWithContext(ctx context.Context) GetOpensearchInstanceParametersOutput { + return o +} + +// Enable monitoring. +func (o GetOpensearchInstanceParametersOutput) EnableMonitoring() pulumi.BoolOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) bool { return v.EnableMonitoring }).(pulumi.BoolOutput) +} + +// If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). +func (o GetOpensearchInstanceParametersOutput) Graphite() pulumi.StringOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) string { return v.Graphite }).(pulumi.StringOutput) +} + +// The garbage collector to use for OpenSearch. +func (o GetOpensearchInstanceParametersOutput) JavaGarbageCollector() pulumi.StringOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) string { return v.JavaGarbageCollector }).(pulumi.StringOutput) +} + +// The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. +func (o GetOpensearchInstanceParametersOutput) JavaHeapspace() pulumi.IntOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) int { return v.JavaHeapspace }).(pulumi.IntOutput) +} + +// The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. +func (o GetOpensearchInstanceParametersOutput) JavaMaxmetaspace() pulumi.IntOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) int { return v.JavaMaxmetaspace }).(pulumi.IntOutput) +} + +// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. +func (o GetOpensearchInstanceParametersOutput) MaxDiskThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) int { return v.MaxDiskThreshold }).(pulumi.IntOutput) +} + +// The frequency in seconds at which metrics are emitted (in seconds). +func (o GetOpensearchInstanceParametersOutput) MetricsFrequency() pulumi.IntOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) int { return v.MetricsFrequency }).(pulumi.IntOutput) +} + +// The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. +func (o GetOpensearchInstanceParametersOutput) MetricsPrefix() pulumi.StringOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) string { return v.MetricsPrefix }).(pulumi.StringOutput) +} + +// The ID of the STACKIT monitoring instance. +func (o GetOpensearchInstanceParametersOutput) MonitoringInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) string { return v.MonitoringInstanceId }).(pulumi.StringOutput) +} + +// List of plugins to install. Must be a supported plugin name. The plugins `repository-s3` and `repository-azure` are enabled by default and cannot be disabled. +func (o GetOpensearchInstanceParametersOutput) Plugins() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) []string { return v.Plugins }).(pulumi.StringArrayOutput) +} + +// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. +func (o GetOpensearchInstanceParametersOutput) SgwAcl() pulumi.StringOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) string { return v.SgwAcl }).(pulumi.StringOutput) +} + +// List of syslog servers to send logs to. +func (o GetOpensearchInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +} + +// List of TLS ciphers to use. +func (o GetOpensearchInstanceParametersOutput) TlsCiphers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) []string { return v.TlsCiphers }).(pulumi.StringArrayOutput) +} + +// List of TLS protocols to use. +func (o GetOpensearchInstanceParametersOutput) TlsProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetOpensearchInstanceParameters) []string { return v.TlsProtocols }).(pulumi.StringArrayOutput) +} + +type GetPostgresflexInstanceFlavor struct { + Cpu int `pulumi:"cpu"` + Description string `pulumi:"description"` + Id string `pulumi:"id"` + Ram int `pulumi:"ram"` +} + +// GetPostgresflexInstanceFlavorInput is an input type that accepts GetPostgresflexInstanceFlavorArgs and GetPostgresflexInstanceFlavorOutput values. +// You can construct a concrete instance of `GetPostgresflexInstanceFlavorInput` via: +// +// GetPostgresflexInstanceFlavorArgs{...} +type GetPostgresflexInstanceFlavorInput interface { + pulumi.Input + + ToGetPostgresflexInstanceFlavorOutput() GetPostgresflexInstanceFlavorOutput + ToGetPostgresflexInstanceFlavorOutputWithContext(context.Context) GetPostgresflexInstanceFlavorOutput +} + +type GetPostgresflexInstanceFlavorArgs struct { + Cpu pulumi.IntInput `pulumi:"cpu"` + Description pulumi.StringInput `pulumi:"description"` + Id pulumi.StringInput `pulumi:"id"` + Ram pulumi.IntInput `pulumi:"ram"` +} + +func (GetPostgresflexInstanceFlavorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexInstanceFlavor)(nil)).Elem() +} + +func (i GetPostgresflexInstanceFlavorArgs) ToGetPostgresflexInstanceFlavorOutput() GetPostgresflexInstanceFlavorOutput { + return i.ToGetPostgresflexInstanceFlavorOutputWithContext(context.Background()) +} + +func (i GetPostgresflexInstanceFlavorArgs) ToGetPostgresflexInstanceFlavorOutputWithContext(ctx context.Context) GetPostgresflexInstanceFlavorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPostgresflexInstanceFlavorOutput) +} + +type GetPostgresflexInstanceFlavorOutput struct{ *pulumi.OutputState } + +func (GetPostgresflexInstanceFlavorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexInstanceFlavor)(nil)).Elem() +} + +func (o GetPostgresflexInstanceFlavorOutput) ToGetPostgresflexInstanceFlavorOutput() GetPostgresflexInstanceFlavorOutput { + return o +} + +func (o GetPostgresflexInstanceFlavorOutput) ToGetPostgresflexInstanceFlavorOutputWithContext(ctx context.Context) GetPostgresflexInstanceFlavorOutput { + return o +} + +func (o GetPostgresflexInstanceFlavorOutput) Cpu() pulumi.IntOutput { + return o.ApplyT(func(v GetPostgresflexInstanceFlavor) int { return v.Cpu }).(pulumi.IntOutput) +} + +func (o GetPostgresflexInstanceFlavorOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexInstanceFlavor) string { return v.Description }).(pulumi.StringOutput) +} + +func (o GetPostgresflexInstanceFlavorOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexInstanceFlavor) string { return v.Id }).(pulumi.StringOutput) +} + +func (o GetPostgresflexInstanceFlavorOutput) Ram() pulumi.IntOutput { + return o.ApplyT(func(v GetPostgresflexInstanceFlavor) int { return v.Ram }).(pulumi.IntOutput) +} + +type GetPostgresflexInstanceStorage struct { + Class string `pulumi:"class"` + Size int `pulumi:"size"` +} + +// GetPostgresflexInstanceStorageInput is an input type that accepts GetPostgresflexInstanceStorageArgs and GetPostgresflexInstanceStorageOutput values. +// You can construct a concrete instance of `GetPostgresflexInstanceStorageInput` via: +// +// GetPostgresflexInstanceStorageArgs{...} +type GetPostgresflexInstanceStorageInput interface { + pulumi.Input + + ToGetPostgresflexInstanceStorageOutput() GetPostgresflexInstanceStorageOutput + ToGetPostgresflexInstanceStorageOutputWithContext(context.Context) GetPostgresflexInstanceStorageOutput +} + +type GetPostgresflexInstanceStorageArgs struct { + Class pulumi.StringInput `pulumi:"class"` + Size pulumi.IntInput `pulumi:"size"` +} + +func (GetPostgresflexInstanceStorageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexInstanceStorage)(nil)).Elem() +} + +func (i GetPostgresflexInstanceStorageArgs) ToGetPostgresflexInstanceStorageOutput() GetPostgresflexInstanceStorageOutput { + return i.ToGetPostgresflexInstanceStorageOutputWithContext(context.Background()) +} + +func (i GetPostgresflexInstanceStorageArgs) ToGetPostgresflexInstanceStorageOutputWithContext(ctx context.Context) GetPostgresflexInstanceStorageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPostgresflexInstanceStorageOutput) +} + +type GetPostgresflexInstanceStorageOutput struct{ *pulumi.OutputState } + +func (GetPostgresflexInstanceStorageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPostgresflexInstanceStorage)(nil)).Elem() +} + +func (o GetPostgresflexInstanceStorageOutput) ToGetPostgresflexInstanceStorageOutput() GetPostgresflexInstanceStorageOutput { + return o +} + +func (o GetPostgresflexInstanceStorageOutput) ToGetPostgresflexInstanceStorageOutputWithContext(ctx context.Context) GetPostgresflexInstanceStorageOutput { + return o +} + +func (o GetPostgresflexInstanceStorageOutput) Class() pulumi.StringOutput { + return o.ApplyT(func(v GetPostgresflexInstanceStorage) string { return v.Class }).(pulumi.StringOutput) +} + +func (o GetPostgresflexInstanceStorageOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetPostgresflexInstanceStorage) int { return v.Size }).(pulumi.IntOutput) +} + +type GetPublicIpRangesPublicIpRange struct { + // Classless Inter-Domain Routing (CIDR) + Cidr string `pulumi:"cidr"` +} + +// GetPublicIpRangesPublicIpRangeInput is an input type that accepts GetPublicIpRangesPublicIpRangeArgs and GetPublicIpRangesPublicIpRangeOutput values. +// You can construct a concrete instance of `GetPublicIpRangesPublicIpRangeInput` via: +// +// GetPublicIpRangesPublicIpRangeArgs{...} +type GetPublicIpRangesPublicIpRangeInput interface { + pulumi.Input + + ToGetPublicIpRangesPublicIpRangeOutput() GetPublicIpRangesPublicIpRangeOutput + ToGetPublicIpRangesPublicIpRangeOutputWithContext(context.Context) GetPublicIpRangesPublicIpRangeOutput +} + +type GetPublicIpRangesPublicIpRangeArgs struct { + // Classless Inter-Domain Routing (CIDR) + Cidr pulumi.StringInput `pulumi:"cidr"` +} + +func (GetPublicIpRangesPublicIpRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetPublicIpRangesPublicIpRange)(nil)).Elem() +} + +func (i GetPublicIpRangesPublicIpRangeArgs) ToGetPublicIpRangesPublicIpRangeOutput() GetPublicIpRangesPublicIpRangeOutput { + return i.ToGetPublicIpRangesPublicIpRangeOutputWithContext(context.Background()) +} + +func (i GetPublicIpRangesPublicIpRangeArgs) ToGetPublicIpRangesPublicIpRangeOutputWithContext(ctx context.Context) GetPublicIpRangesPublicIpRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPublicIpRangesPublicIpRangeOutput) +} + +// GetPublicIpRangesPublicIpRangeArrayInput is an input type that accepts GetPublicIpRangesPublicIpRangeArray and GetPublicIpRangesPublicIpRangeArrayOutput values. +// You can construct a concrete instance of `GetPublicIpRangesPublicIpRangeArrayInput` via: +// +// GetPublicIpRangesPublicIpRangeArray{ GetPublicIpRangesPublicIpRangeArgs{...} } +type GetPublicIpRangesPublicIpRangeArrayInput interface { + pulumi.Input + + ToGetPublicIpRangesPublicIpRangeArrayOutput() GetPublicIpRangesPublicIpRangeArrayOutput + ToGetPublicIpRangesPublicIpRangeArrayOutputWithContext(context.Context) GetPublicIpRangesPublicIpRangeArrayOutput +} + +type GetPublicIpRangesPublicIpRangeArray []GetPublicIpRangesPublicIpRangeInput + +func (GetPublicIpRangesPublicIpRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPublicIpRangesPublicIpRange)(nil)).Elem() +} + +func (i GetPublicIpRangesPublicIpRangeArray) ToGetPublicIpRangesPublicIpRangeArrayOutput() GetPublicIpRangesPublicIpRangeArrayOutput { + return i.ToGetPublicIpRangesPublicIpRangeArrayOutputWithContext(context.Background()) +} + +func (i GetPublicIpRangesPublicIpRangeArray) ToGetPublicIpRangesPublicIpRangeArrayOutputWithContext(ctx context.Context) GetPublicIpRangesPublicIpRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetPublicIpRangesPublicIpRangeArrayOutput) +} + +type GetPublicIpRangesPublicIpRangeOutput struct{ *pulumi.OutputState } + +func (GetPublicIpRangesPublicIpRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetPublicIpRangesPublicIpRange)(nil)).Elem() +} + +func (o GetPublicIpRangesPublicIpRangeOutput) ToGetPublicIpRangesPublicIpRangeOutput() GetPublicIpRangesPublicIpRangeOutput { + return o +} + +func (o GetPublicIpRangesPublicIpRangeOutput) ToGetPublicIpRangesPublicIpRangeOutputWithContext(ctx context.Context) GetPublicIpRangesPublicIpRangeOutput { + return o +} + +// Classless Inter-Domain Routing (CIDR) +func (o GetPublicIpRangesPublicIpRangeOutput) Cidr() pulumi.StringOutput { + return o.ApplyT(func(v GetPublicIpRangesPublicIpRange) string { return v.Cidr }).(pulumi.StringOutput) +} + +type GetPublicIpRangesPublicIpRangeArrayOutput struct{ *pulumi.OutputState } + +func (GetPublicIpRangesPublicIpRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetPublicIpRangesPublicIpRange)(nil)).Elem() +} + +func (o GetPublicIpRangesPublicIpRangeArrayOutput) ToGetPublicIpRangesPublicIpRangeArrayOutput() GetPublicIpRangesPublicIpRangeArrayOutput { + return o +} + +func (o GetPublicIpRangesPublicIpRangeArrayOutput) ToGetPublicIpRangesPublicIpRangeArrayOutputWithContext(ctx context.Context) GetPublicIpRangesPublicIpRangeArrayOutput { + return o +} + +func (o GetPublicIpRangesPublicIpRangeArrayOutput) Index(i pulumi.IntInput) GetPublicIpRangesPublicIpRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetPublicIpRangesPublicIpRange { + return vs[0].([]GetPublicIpRangesPublicIpRange)[vs[1].(int)] + }).(GetPublicIpRangesPublicIpRangeOutput) +} + +type GetRabbitmqInstanceParameters struct { + // The timeout in milliseconds for the consumer. + ConsumerTimeout int `pulumi:"consumerTimeout"` + // Enable monitoring. + EnableMonitoring bool `pulumi:"enableMonitoring"` + // Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. + Graphite string `pulumi:"graphite"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold int `pulumi:"maxDiskThreshold"` + // The frequency in seconds at which metrics are emitted. + MetricsFrequency int `pulumi:"metricsFrequency"` + // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key + MetricsPrefix string `pulumi:"metricsPrefix"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId string `pulumi:"monitoringInstanceId"` + // List of plugins to install. Must be a supported plugin name. + Plugins []string `pulumi:"plugins"` + // List of roles to assign to the instance. + Roles []string `pulumi:"roles"` + // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + SgwAcl string `pulumi:"sgwAcl"` + // List of syslog servers to send logs to. + Syslogs []string `pulumi:"syslogs"` + // List of TLS ciphers to use. + TlsCiphers []string `pulumi:"tlsCiphers"` + // TLS protocol versions to use. + TlsProtocols []string `pulumi:"tlsProtocols"` +} + +// GetRabbitmqInstanceParametersInput is an input type that accepts GetRabbitmqInstanceParametersArgs and GetRabbitmqInstanceParametersOutput values. +// You can construct a concrete instance of `GetRabbitmqInstanceParametersInput` via: +// +// GetRabbitmqInstanceParametersArgs{...} +type GetRabbitmqInstanceParametersInput interface { + pulumi.Input + + ToGetRabbitmqInstanceParametersOutput() GetRabbitmqInstanceParametersOutput + ToGetRabbitmqInstanceParametersOutputWithContext(context.Context) GetRabbitmqInstanceParametersOutput +} + +type GetRabbitmqInstanceParametersArgs struct { + // The timeout in milliseconds for the consumer. + ConsumerTimeout pulumi.IntInput `pulumi:"consumerTimeout"` + // Enable monitoring. + EnableMonitoring pulumi.BoolInput `pulumi:"enableMonitoring"` + // Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. + Graphite pulumi.StringInput `pulumi:"graphite"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold pulumi.IntInput `pulumi:"maxDiskThreshold"` + // The frequency in seconds at which metrics are emitted. + MetricsFrequency pulumi.IntInput `pulumi:"metricsFrequency"` + // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key + MetricsPrefix pulumi.StringInput `pulumi:"metricsPrefix"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId pulumi.StringInput `pulumi:"monitoringInstanceId"` + // List of plugins to install. Must be a supported plugin name. + Plugins pulumi.StringArrayInput `pulumi:"plugins"` + // List of roles to assign to the instance. + Roles pulumi.StringArrayInput `pulumi:"roles"` + // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + SgwAcl pulumi.StringInput `pulumi:"sgwAcl"` + // List of syslog servers to send logs to. + Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` + // List of TLS ciphers to use. + TlsCiphers pulumi.StringArrayInput `pulumi:"tlsCiphers"` + // TLS protocol versions to use. + TlsProtocols pulumi.StringArrayInput `pulumi:"tlsProtocols"` +} + +func (GetRabbitmqInstanceParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRabbitmqInstanceParameters)(nil)).Elem() +} + +func (i GetRabbitmqInstanceParametersArgs) ToGetRabbitmqInstanceParametersOutput() GetRabbitmqInstanceParametersOutput { + return i.ToGetRabbitmqInstanceParametersOutputWithContext(context.Background()) +} + +func (i GetRabbitmqInstanceParametersArgs) ToGetRabbitmqInstanceParametersOutputWithContext(ctx context.Context) GetRabbitmqInstanceParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRabbitmqInstanceParametersOutput) +} + +type GetRabbitmqInstanceParametersOutput struct{ *pulumi.OutputState } + +func (GetRabbitmqInstanceParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRabbitmqInstanceParameters)(nil)).Elem() +} + +func (o GetRabbitmqInstanceParametersOutput) ToGetRabbitmqInstanceParametersOutput() GetRabbitmqInstanceParametersOutput { + return o +} + +func (o GetRabbitmqInstanceParametersOutput) ToGetRabbitmqInstanceParametersOutputWithContext(ctx context.Context) GetRabbitmqInstanceParametersOutput { + return o +} + +// The timeout in milliseconds for the consumer. +func (o GetRabbitmqInstanceParametersOutput) ConsumerTimeout() pulumi.IntOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) int { return v.ConsumerTimeout }).(pulumi.IntOutput) +} + +// Enable monitoring. +func (o GetRabbitmqInstanceParametersOutput) EnableMonitoring() pulumi.BoolOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) bool { return v.EnableMonitoring }).(pulumi.BoolOutput) +} + +// Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. +func (o GetRabbitmqInstanceParametersOutput) Graphite() pulumi.StringOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) string { return v.Graphite }).(pulumi.StringOutput) +} + +// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. +func (o GetRabbitmqInstanceParametersOutput) MaxDiskThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) int { return v.MaxDiskThreshold }).(pulumi.IntOutput) +} + +// The frequency in seconds at which metrics are emitted. +func (o GetRabbitmqInstanceParametersOutput) MetricsFrequency() pulumi.IntOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) int { return v.MetricsFrequency }).(pulumi.IntOutput) +} + +// The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key +func (o GetRabbitmqInstanceParametersOutput) MetricsPrefix() pulumi.StringOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) string { return v.MetricsPrefix }).(pulumi.StringOutput) +} + +// The ID of the STACKIT monitoring instance. +func (o GetRabbitmqInstanceParametersOutput) MonitoringInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) string { return v.MonitoringInstanceId }).(pulumi.StringOutput) +} + +// List of plugins to install. Must be a supported plugin name. +func (o GetRabbitmqInstanceParametersOutput) Plugins() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) []string { return v.Plugins }).(pulumi.StringArrayOutput) +} + +// List of roles to assign to the instance. +func (o GetRabbitmqInstanceParametersOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) []string { return v.Roles }).(pulumi.StringArrayOutput) +} + +// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. +func (o GetRabbitmqInstanceParametersOutput) SgwAcl() pulumi.StringOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) string { return v.SgwAcl }).(pulumi.StringOutput) +} + +// List of syslog servers to send logs to. +func (o GetRabbitmqInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +} + +// List of TLS ciphers to use. +func (o GetRabbitmqInstanceParametersOutput) TlsCiphers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) []string { return v.TlsCiphers }).(pulumi.StringArrayOutput) +} + +// TLS protocol versions to use. +func (o GetRabbitmqInstanceParametersOutput) TlsProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRabbitmqInstanceParameters) []string { return v.TlsProtocols }).(pulumi.StringArrayOutput) +} + +type GetRedisInstanceParameters struct { + // The number of milliseconds after which the instance is considered down. + DownAfterMilliseconds int `pulumi:"downAfterMilliseconds"` + // Enable monitoring. + EnableMonitoring bool `pulumi:"enableMonitoring"` + // The failover timeout in milliseconds. + FailoverTimeout int `pulumi:"failoverTimeout"` + // Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. + Graphite string `pulumi:"graphite"` + // The lazy eviction enablement (yes or no). + LazyfreeLazyEviction string `pulumi:"lazyfreeLazyEviction"` + // The lazy expire enablement (yes or no). + LazyfreeLazyExpire string `pulumi:"lazyfreeLazyExpire"` + // The Lua time limit. + LuaTimeLimit int `pulumi:"luaTimeLimit"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold int `pulumi:"maxDiskThreshold"` + // The maximum number of clients. + Maxclients int `pulumi:"maxclients"` + // The policy to handle the maximum memory (volatile-lru, noeviction, etc). + MaxmemoryPolicy string `pulumi:"maxmemoryPolicy"` + // The maximum memory samples. + MaxmemorySamples int `pulumi:"maxmemorySamples"` + // The frequency in seconds at which metrics are emitted. + MetricsFrequency int `pulumi:"metricsFrequency"` + // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key + MetricsPrefix string `pulumi:"metricsPrefix"` + // The minimum replicas maximum lag. + MinReplicasMaxLag int `pulumi:"minReplicasMaxLag"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId string `pulumi:"monitoringInstanceId"` + // The notify keyspace events. + NotifyKeyspaceEvents string `pulumi:"notifyKeyspaceEvents"` + // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + SgwAcl string `pulumi:"sgwAcl"` + // The snapshot configuration. + Snapshot string `pulumi:"snapshot"` + // List of syslog servers to send logs to. + Syslogs []string `pulumi:"syslogs"` + // List of TLS ciphers to use. + TlsCiphers []string `pulumi:"tlsCiphers"` + // TLS cipher suites to use. + TlsCiphersuites string `pulumi:"tlsCiphersuites"` + // TLS protocol to use. + TlsProtocols string `pulumi:"tlsProtocols"` +} + +// GetRedisInstanceParametersInput is an input type that accepts GetRedisInstanceParametersArgs and GetRedisInstanceParametersOutput values. +// You can construct a concrete instance of `GetRedisInstanceParametersInput` via: +// +// GetRedisInstanceParametersArgs{...} +type GetRedisInstanceParametersInput interface { + pulumi.Input + + ToGetRedisInstanceParametersOutput() GetRedisInstanceParametersOutput + ToGetRedisInstanceParametersOutputWithContext(context.Context) GetRedisInstanceParametersOutput +} + +type GetRedisInstanceParametersArgs struct { + // The number of milliseconds after which the instance is considered down. + DownAfterMilliseconds pulumi.IntInput `pulumi:"downAfterMilliseconds"` + // Enable monitoring. + EnableMonitoring pulumi.BoolInput `pulumi:"enableMonitoring"` + // The failover timeout in milliseconds. + FailoverTimeout pulumi.IntInput `pulumi:"failoverTimeout"` + // Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. + Graphite pulumi.StringInput `pulumi:"graphite"` + // The lazy eviction enablement (yes or no). + LazyfreeLazyEviction pulumi.StringInput `pulumi:"lazyfreeLazyEviction"` + // The lazy expire enablement (yes or no). + LazyfreeLazyExpire pulumi.StringInput `pulumi:"lazyfreeLazyExpire"` + // The Lua time limit. + LuaTimeLimit pulumi.IntInput `pulumi:"luaTimeLimit"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold pulumi.IntInput `pulumi:"maxDiskThreshold"` + // The maximum number of clients. + Maxclients pulumi.IntInput `pulumi:"maxclients"` + // The policy to handle the maximum memory (volatile-lru, noeviction, etc). + MaxmemoryPolicy pulumi.StringInput `pulumi:"maxmemoryPolicy"` + // The maximum memory samples. + MaxmemorySamples pulumi.IntInput `pulumi:"maxmemorySamples"` + // The frequency in seconds at which metrics are emitted. + MetricsFrequency pulumi.IntInput `pulumi:"metricsFrequency"` + // The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key + MetricsPrefix pulumi.StringInput `pulumi:"metricsPrefix"` + // The minimum replicas maximum lag. + MinReplicasMaxLag pulumi.IntInput `pulumi:"minReplicasMaxLag"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId pulumi.StringInput `pulumi:"monitoringInstanceId"` + // The notify keyspace events. + NotifyKeyspaceEvents pulumi.StringInput `pulumi:"notifyKeyspaceEvents"` + // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + SgwAcl pulumi.StringInput `pulumi:"sgwAcl"` + // The snapshot configuration. + Snapshot pulumi.StringInput `pulumi:"snapshot"` + // List of syslog servers to send logs to. + Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` + // List of TLS ciphers to use. + TlsCiphers pulumi.StringArrayInput `pulumi:"tlsCiphers"` + // TLS cipher suites to use. + TlsCiphersuites pulumi.StringInput `pulumi:"tlsCiphersuites"` + // TLS protocol to use. + TlsProtocols pulumi.StringInput `pulumi:"tlsProtocols"` +} + +func (GetRedisInstanceParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRedisInstanceParameters)(nil)).Elem() +} + +func (i GetRedisInstanceParametersArgs) ToGetRedisInstanceParametersOutput() GetRedisInstanceParametersOutput { + return i.ToGetRedisInstanceParametersOutputWithContext(context.Background()) +} + +func (i GetRedisInstanceParametersArgs) ToGetRedisInstanceParametersOutputWithContext(ctx context.Context) GetRedisInstanceParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRedisInstanceParametersOutput) +} + +type GetRedisInstanceParametersOutput struct{ *pulumi.OutputState } + +func (GetRedisInstanceParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRedisInstanceParameters)(nil)).Elem() +} + +func (o GetRedisInstanceParametersOutput) ToGetRedisInstanceParametersOutput() GetRedisInstanceParametersOutput { + return o +} + +func (o GetRedisInstanceParametersOutput) ToGetRedisInstanceParametersOutputWithContext(ctx context.Context) GetRedisInstanceParametersOutput { + return o +} + +// The number of milliseconds after which the instance is considered down. +func (o GetRedisInstanceParametersOutput) DownAfterMilliseconds() pulumi.IntOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.DownAfterMilliseconds }).(pulumi.IntOutput) +} + +// Enable monitoring. +func (o GetRedisInstanceParametersOutput) EnableMonitoring() pulumi.BoolOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) bool { return v.EnableMonitoring }).(pulumi.BoolOutput) +} + +// The failover timeout in milliseconds. +func (o GetRedisInstanceParametersOutput) FailoverTimeout() pulumi.IntOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.FailoverTimeout }).(pulumi.IntOutput) +} + +// Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. +func (o GetRedisInstanceParametersOutput) Graphite() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.Graphite }).(pulumi.StringOutput) +} + +// The lazy eviction enablement (yes or no). +func (o GetRedisInstanceParametersOutput) LazyfreeLazyEviction() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.LazyfreeLazyEviction }).(pulumi.StringOutput) +} + +// The lazy expire enablement (yes or no). +func (o GetRedisInstanceParametersOutput) LazyfreeLazyExpire() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.LazyfreeLazyExpire }).(pulumi.StringOutput) +} + +// The Lua time limit. +func (o GetRedisInstanceParametersOutput) LuaTimeLimit() pulumi.IntOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.LuaTimeLimit }).(pulumi.IntOutput) +} + +// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. +func (o GetRedisInstanceParametersOutput) MaxDiskThreshold() pulumi.IntOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.MaxDiskThreshold }).(pulumi.IntOutput) +} + +// The maximum number of clients. +func (o GetRedisInstanceParametersOutput) Maxclients() pulumi.IntOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.Maxclients }).(pulumi.IntOutput) +} + +// The policy to handle the maximum memory (volatile-lru, noeviction, etc). +func (o GetRedisInstanceParametersOutput) MaxmemoryPolicy() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.MaxmemoryPolicy }).(pulumi.StringOutput) +} + +// The maximum memory samples. +func (o GetRedisInstanceParametersOutput) MaxmemorySamples() pulumi.IntOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.MaxmemorySamples }).(pulumi.IntOutput) +} + +// The frequency in seconds at which metrics are emitted. +func (o GetRedisInstanceParametersOutput) MetricsFrequency() pulumi.IntOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.MetricsFrequency }).(pulumi.IntOutput) +} + +// The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key +func (o GetRedisInstanceParametersOutput) MetricsPrefix() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.MetricsPrefix }).(pulumi.StringOutput) +} + +// The minimum replicas maximum lag. +func (o GetRedisInstanceParametersOutput) MinReplicasMaxLag() pulumi.IntOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.MinReplicasMaxLag }).(pulumi.IntOutput) +} + +// The ID of the STACKIT monitoring instance. +func (o GetRedisInstanceParametersOutput) MonitoringInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.MonitoringInstanceId }).(pulumi.StringOutput) +} + +// The notify keyspace events. +func (o GetRedisInstanceParametersOutput) NotifyKeyspaceEvents() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.NotifyKeyspaceEvents }).(pulumi.StringOutput) +} + +// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. +func (o GetRedisInstanceParametersOutput) SgwAcl() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.SgwAcl }).(pulumi.StringOutput) +} + +// The snapshot configuration. +func (o GetRedisInstanceParametersOutput) Snapshot() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.Snapshot }).(pulumi.StringOutput) +} + +// List of syslog servers to send logs to. +func (o GetRedisInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +} + +// List of TLS ciphers to use. +func (o GetRedisInstanceParametersOutput) TlsCiphers() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) []string { return v.TlsCiphers }).(pulumi.StringArrayOutput) +} + +// TLS cipher suites to use. +func (o GetRedisInstanceParametersOutput) TlsCiphersuites() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.TlsCiphersuites }).(pulumi.StringOutput) +} + +// TLS protocol to use. +func (o GetRedisInstanceParametersOutput) TlsProtocols() pulumi.StringOutput { + return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.TlsProtocols }).(pulumi.StringOutput) +} + +type GetRoutingTableRouteDestination struct { + // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. + Type string `pulumi:"type"` + // An CIDR string. + Value string `pulumi:"value"` +} + +// GetRoutingTableRouteDestinationInput is an input type that accepts GetRoutingTableRouteDestinationArgs and GetRoutingTableRouteDestinationOutput values. +// You can construct a concrete instance of `GetRoutingTableRouteDestinationInput` via: +// +// GetRoutingTableRouteDestinationArgs{...} +type GetRoutingTableRouteDestinationInput interface { + pulumi.Input + + ToGetRoutingTableRouteDestinationOutput() GetRoutingTableRouteDestinationOutput + ToGetRoutingTableRouteDestinationOutputWithContext(context.Context) GetRoutingTableRouteDestinationOutput +} + +type GetRoutingTableRouteDestinationArgs struct { + // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. + Type pulumi.StringInput `pulumi:"type"` + // An CIDR string. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetRoutingTableRouteDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTableRouteDestination)(nil)).Elem() +} + +func (i GetRoutingTableRouteDestinationArgs) ToGetRoutingTableRouteDestinationOutput() GetRoutingTableRouteDestinationOutput { + return i.ToGetRoutingTableRouteDestinationOutputWithContext(context.Background()) +} + +func (i GetRoutingTableRouteDestinationArgs) ToGetRoutingTableRouteDestinationOutputWithContext(ctx context.Context) GetRoutingTableRouteDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRouteDestinationOutput) +} + +type GetRoutingTableRouteDestinationOutput struct{ *pulumi.OutputState } + +func (GetRoutingTableRouteDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTableRouteDestination)(nil)).Elem() +} + +func (o GetRoutingTableRouteDestinationOutput) ToGetRoutingTableRouteDestinationOutput() GetRoutingTableRouteDestinationOutput { + return o +} + +func (o GetRoutingTableRouteDestinationOutput) ToGetRoutingTableRouteDestinationOutputWithContext(ctx context.Context) GetRoutingTableRouteDestinationOutput { + return o +} + +// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. +func (o GetRoutingTableRouteDestinationOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRouteDestination) string { return v.Type }).(pulumi.StringOutput) +} + +// An CIDR string. +func (o GetRoutingTableRouteDestinationOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRouteDestination) string { return v.Value }).(pulumi.StringOutput) +} + +type GetRoutingTableRouteNextHop struct { + // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + Type string `pulumi:"type"` + // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. + Value string `pulumi:"value"` +} + +// GetRoutingTableRouteNextHopInput is an input type that accepts GetRoutingTableRouteNextHopArgs and GetRoutingTableRouteNextHopOutput values. +// You can construct a concrete instance of `GetRoutingTableRouteNextHopInput` via: +// +// GetRoutingTableRouteNextHopArgs{...} +type GetRoutingTableRouteNextHopInput interface { + pulumi.Input + + ToGetRoutingTableRouteNextHopOutput() GetRoutingTableRouteNextHopOutput + ToGetRoutingTableRouteNextHopOutputWithContext(context.Context) GetRoutingTableRouteNextHopOutput +} + +type GetRoutingTableRouteNextHopArgs struct { + // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + Type pulumi.StringInput `pulumi:"type"` + // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetRoutingTableRouteNextHopArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTableRouteNextHop)(nil)).Elem() +} + +func (i GetRoutingTableRouteNextHopArgs) ToGetRoutingTableRouteNextHopOutput() GetRoutingTableRouteNextHopOutput { + return i.ToGetRoutingTableRouteNextHopOutputWithContext(context.Background()) +} + +func (i GetRoutingTableRouteNextHopArgs) ToGetRoutingTableRouteNextHopOutputWithContext(ctx context.Context) GetRoutingTableRouteNextHopOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRouteNextHopOutput) +} + +type GetRoutingTableRouteNextHopOutput struct{ *pulumi.OutputState } + +func (GetRoutingTableRouteNextHopOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTableRouteNextHop)(nil)).Elem() +} + +func (o GetRoutingTableRouteNextHopOutput) ToGetRoutingTableRouteNextHopOutput() GetRoutingTableRouteNextHopOutput { + return o +} + +func (o GetRoutingTableRouteNextHopOutput) ToGetRoutingTableRouteNextHopOutputWithContext(ctx context.Context) GetRoutingTableRouteNextHopOutput { + return o +} + +// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. +func (o GetRoutingTableRouteNextHopOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRouteNextHop) string { return v.Type }).(pulumi.StringOutput) +} + +// Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. +func (o GetRoutingTableRouteNextHopOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRouteNextHop) string { return v.Value }).(pulumi.StringOutput) +} + +type GetRoutingTableRoutesRoute struct { + // Date-time when the route was created + CreatedAt string `pulumi:"createdAt"` + // Destination of the route. + Destination GetRoutingTableRoutesRouteDestination `pulumi:"destination"` + // Labels are key-value string pairs which can be attached to a resource container + Labels map[string]string `pulumi:"labels"` + // Next hop destination. + NextHop GetRoutingTableRoutesRouteNextHop `pulumi:"nextHop"` + // Route ID. + RouteId string `pulumi:"routeId"` + // Date-time when the route was updated + UpdatedAt string `pulumi:"updatedAt"` +} + +// GetRoutingTableRoutesRouteInput is an input type that accepts GetRoutingTableRoutesRouteArgs and GetRoutingTableRoutesRouteOutput values. +// You can construct a concrete instance of `GetRoutingTableRoutesRouteInput` via: +// +// GetRoutingTableRoutesRouteArgs{...} +type GetRoutingTableRoutesRouteInput interface { + pulumi.Input + + ToGetRoutingTableRoutesRouteOutput() GetRoutingTableRoutesRouteOutput + ToGetRoutingTableRoutesRouteOutputWithContext(context.Context) GetRoutingTableRoutesRouteOutput +} + +type GetRoutingTableRoutesRouteArgs struct { + // Date-time when the route was created + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // Destination of the route. + Destination GetRoutingTableRoutesRouteDestinationInput `pulumi:"destination"` + // Labels are key-value string pairs which can be attached to a resource container + Labels pulumi.StringMapInput `pulumi:"labels"` + // Next hop destination. + NextHop GetRoutingTableRoutesRouteNextHopInput `pulumi:"nextHop"` + // Route ID. + RouteId pulumi.StringInput `pulumi:"routeId"` + // Date-time when the route was updated + UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` +} + +func (GetRoutingTableRoutesRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTableRoutesRoute)(nil)).Elem() +} + +func (i GetRoutingTableRoutesRouteArgs) ToGetRoutingTableRoutesRouteOutput() GetRoutingTableRoutesRouteOutput { + return i.ToGetRoutingTableRoutesRouteOutputWithContext(context.Background()) +} + +func (i GetRoutingTableRoutesRouteArgs) ToGetRoutingTableRoutesRouteOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRoutesRouteOutput) +} + +// GetRoutingTableRoutesRouteArrayInput is an input type that accepts GetRoutingTableRoutesRouteArray and GetRoutingTableRoutesRouteArrayOutput values. +// You can construct a concrete instance of `GetRoutingTableRoutesRouteArrayInput` via: +// +// GetRoutingTableRoutesRouteArray{ GetRoutingTableRoutesRouteArgs{...} } +type GetRoutingTableRoutesRouteArrayInput interface { + pulumi.Input + + ToGetRoutingTableRoutesRouteArrayOutput() GetRoutingTableRoutesRouteArrayOutput + ToGetRoutingTableRoutesRouteArrayOutputWithContext(context.Context) GetRoutingTableRoutesRouteArrayOutput +} + +type GetRoutingTableRoutesRouteArray []GetRoutingTableRoutesRouteInput + +func (GetRoutingTableRoutesRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRoutingTableRoutesRoute)(nil)).Elem() +} + +func (i GetRoutingTableRoutesRouteArray) ToGetRoutingTableRoutesRouteArrayOutput() GetRoutingTableRoutesRouteArrayOutput { + return i.ToGetRoutingTableRoutesRouteArrayOutputWithContext(context.Background()) +} + +func (i GetRoutingTableRoutesRouteArray) ToGetRoutingTableRoutesRouteArrayOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRoutesRouteArrayOutput) +} + +type GetRoutingTableRoutesRouteOutput struct{ *pulumi.OutputState } + +func (GetRoutingTableRoutesRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTableRoutesRoute)(nil)).Elem() +} + +func (o GetRoutingTableRoutesRouteOutput) ToGetRoutingTableRoutesRouteOutput() GetRoutingTableRoutesRouteOutput { + return o +} + +func (o GetRoutingTableRoutesRouteOutput) ToGetRoutingTableRoutesRouteOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteOutput { + return o +} + +// Date-time when the route was created +func (o GetRoutingTableRoutesRouteOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRoutesRoute) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// Destination of the route. +func (o GetRoutingTableRoutesRouteOutput) Destination() GetRoutingTableRoutesRouteDestinationOutput { + return o.ApplyT(func(v GetRoutingTableRoutesRoute) GetRoutingTableRoutesRouteDestination { return v.Destination }).(GetRoutingTableRoutesRouteDestinationOutput) +} + +// Labels are key-value string pairs which can be attached to a resource container +func (o GetRoutingTableRoutesRouteOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v GetRoutingTableRoutesRoute) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +// Next hop destination. +func (o GetRoutingTableRoutesRouteOutput) NextHop() GetRoutingTableRoutesRouteNextHopOutput { + return o.ApplyT(func(v GetRoutingTableRoutesRoute) GetRoutingTableRoutesRouteNextHop { return v.NextHop }).(GetRoutingTableRoutesRouteNextHopOutput) +} + +// Route ID. +func (o GetRoutingTableRoutesRouteOutput) RouteId() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRoutesRoute) string { return v.RouteId }).(pulumi.StringOutput) +} + +// Date-time when the route was updated +func (o GetRoutingTableRoutesRouteOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRoutesRoute) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type GetRoutingTableRoutesRouteArrayOutput struct{ *pulumi.OutputState } + +func (GetRoutingTableRoutesRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRoutingTableRoutesRoute)(nil)).Elem() +} + +func (o GetRoutingTableRoutesRouteArrayOutput) ToGetRoutingTableRoutesRouteArrayOutput() GetRoutingTableRoutesRouteArrayOutput { + return o +} + +func (o GetRoutingTableRoutesRouteArrayOutput) ToGetRoutingTableRoutesRouteArrayOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteArrayOutput { + return o +} + +func (o GetRoutingTableRoutesRouteArrayOutput) Index(i pulumi.IntInput) GetRoutingTableRoutesRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRoutingTableRoutesRoute { + return vs[0].([]GetRoutingTableRoutesRoute)[vs[1].(int)] + }).(GetRoutingTableRoutesRouteOutput) +} + +type GetRoutingTableRoutesRouteDestination struct { + // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. + Type string `pulumi:"type"` + // An CIDR string. + Value string `pulumi:"value"` +} + +// GetRoutingTableRoutesRouteDestinationInput is an input type that accepts GetRoutingTableRoutesRouteDestinationArgs and GetRoutingTableRoutesRouteDestinationOutput values. +// You can construct a concrete instance of `GetRoutingTableRoutesRouteDestinationInput` via: +// +// GetRoutingTableRoutesRouteDestinationArgs{...} +type GetRoutingTableRoutesRouteDestinationInput interface { + pulumi.Input + + ToGetRoutingTableRoutesRouteDestinationOutput() GetRoutingTableRoutesRouteDestinationOutput + ToGetRoutingTableRoutesRouteDestinationOutputWithContext(context.Context) GetRoutingTableRoutesRouteDestinationOutput +} + +type GetRoutingTableRoutesRouteDestinationArgs struct { + // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. + Type pulumi.StringInput `pulumi:"type"` + // An CIDR string. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetRoutingTableRoutesRouteDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTableRoutesRouteDestination)(nil)).Elem() +} + +func (i GetRoutingTableRoutesRouteDestinationArgs) ToGetRoutingTableRoutesRouteDestinationOutput() GetRoutingTableRoutesRouteDestinationOutput { + return i.ToGetRoutingTableRoutesRouteDestinationOutputWithContext(context.Background()) +} + +func (i GetRoutingTableRoutesRouteDestinationArgs) ToGetRoutingTableRoutesRouteDestinationOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRoutesRouteDestinationOutput) +} + +type GetRoutingTableRoutesRouteDestinationOutput struct{ *pulumi.OutputState } + +func (GetRoutingTableRoutesRouteDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTableRoutesRouteDestination)(nil)).Elem() +} + +func (o GetRoutingTableRoutesRouteDestinationOutput) ToGetRoutingTableRoutesRouteDestinationOutput() GetRoutingTableRoutesRouteDestinationOutput { + return o +} + +func (o GetRoutingTableRoutesRouteDestinationOutput) ToGetRoutingTableRoutesRouteDestinationOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteDestinationOutput { + return o +} + +// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. +func (o GetRoutingTableRoutesRouteDestinationOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRoutesRouteDestination) string { return v.Type }).(pulumi.StringOutput) +} + +// An CIDR string. +func (o GetRoutingTableRoutesRouteDestinationOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRoutesRouteDestination) string { return v.Value }).(pulumi.StringOutput) +} + +type GetRoutingTableRoutesRouteNextHop struct { + // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + Type string `pulumi:"type"` + // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. + Value string `pulumi:"value"` +} + +// GetRoutingTableRoutesRouteNextHopInput is an input type that accepts GetRoutingTableRoutesRouteNextHopArgs and GetRoutingTableRoutesRouteNextHopOutput values. +// You can construct a concrete instance of `GetRoutingTableRoutesRouteNextHopInput` via: +// +// GetRoutingTableRoutesRouteNextHopArgs{...} +type GetRoutingTableRoutesRouteNextHopInput interface { + pulumi.Input + + ToGetRoutingTableRoutesRouteNextHopOutput() GetRoutingTableRoutesRouteNextHopOutput + ToGetRoutingTableRoutesRouteNextHopOutputWithContext(context.Context) GetRoutingTableRoutesRouteNextHopOutput +} + +type GetRoutingTableRoutesRouteNextHopArgs struct { + // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + Type pulumi.StringInput `pulumi:"type"` + // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetRoutingTableRoutesRouteNextHopArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTableRoutesRouteNextHop)(nil)).Elem() +} + +func (i GetRoutingTableRoutesRouteNextHopArgs) ToGetRoutingTableRoutesRouteNextHopOutput() GetRoutingTableRoutesRouteNextHopOutput { + return i.ToGetRoutingTableRoutesRouteNextHopOutputWithContext(context.Background()) +} + +func (i GetRoutingTableRoutesRouteNextHopArgs) ToGetRoutingTableRoutesRouteNextHopOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteNextHopOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRoutesRouteNextHopOutput) +} + +type GetRoutingTableRoutesRouteNextHopOutput struct{ *pulumi.OutputState } + +func (GetRoutingTableRoutesRouteNextHopOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTableRoutesRouteNextHop)(nil)).Elem() +} + +func (o GetRoutingTableRoutesRouteNextHopOutput) ToGetRoutingTableRoutesRouteNextHopOutput() GetRoutingTableRoutesRouteNextHopOutput { + return o +} + +func (o GetRoutingTableRoutesRouteNextHopOutput) ToGetRoutingTableRoutesRouteNextHopOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteNextHopOutput { + return o +} + +// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. +func (o GetRoutingTableRoutesRouteNextHopOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRoutesRouteNextHop) string { return v.Type }).(pulumi.StringOutput) +} + +// Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. +func (o GetRoutingTableRoutesRouteNextHopOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTableRoutesRouteNextHop) string { return v.Value }).(pulumi.StringOutput) +} + +type GetRoutingTablesItem struct { + // Date-time when the routing table was created + CreatedAt string `pulumi:"createdAt"` + // When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise. + Default bool `pulumi:"default"` + // Description of the routing table. + Description string `pulumi:"description"` + // This controls whether dynamic routes are propagated to this routing table + DynamicRoutes bool `pulumi:"dynamicRoutes"` + // Labels are key-value string pairs which can be attached to a resource container + Labels map[string]string `pulumi:"labels"` + // The name of the routing table. + Name string `pulumi:"name"` + // The routing tables ID. + RoutingTableId string `pulumi:"routingTableId"` + // This controls whether the routes for project-to-project communication are created automatically or not. + SystemRoutes bool `pulumi:"systemRoutes"` + // Date-time when the routing table was updated + UpdatedAt string `pulumi:"updatedAt"` +} + +// GetRoutingTablesItemInput is an input type that accepts GetRoutingTablesItemArgs and GetRoutingTablesItemOutput values. +// You can construct a concrete instance of `GetRoutingTablesItemInput` via: +// +// GetRoutingTablesItemArgs{...} +type GetRoutingTablesItemInput interface { + pulumi.Input + + ToGetRoutingTablesItemOutput() GetRoutingTablesItemOutput + ToGetRoutingTablesItemOutputWithContext(context.Context) GetRoutingTablesItemOutput +} + +type GetRoutingTablesItemArgs struct { + // Date-time when the routing table was created + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise. + Default pulumi.BoolInput `pulumi:"default"` + // Description of the routing table. + Description pulumi.StringInput `pulumi:"description"` + // This controls whether dynamic routes are propagated to this routing table + DynamicRoutes pulumi.BoolInput `pulumi:"dynamicRoutes"` + // Labels are key-value string pairs which can be attached to a resource container + Labels pulumi.StringMapInput `pulumi:"labels"` + // The name of the routing table. + Name pulumi.StringInput `pulumi:"name"` + // The routing tables ID. + RoutingTableId pulumi.StringInput `pulumi:"routingTableId"` + // This controls whether the routes for project-to-project communication are created automatically or not. + SystemRoutes pulumi.BoolInput `pulumi:"systemRoutes"` + // Date-time when the routing table was updated + UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` +} + +func (GetRoutingTablesItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTablesItem)(nil)).Elem() +} + +func (i GetRoutingTablesItemArgs) ToGetRoutingTablesItemOutput() GetRoutingTablesItemOutput { + return i.ToGetRoutingTablesItemOutputWithContext(context.Background()) +} + +func (i GetRoutingTablesItemArgs) ToGetRoutingTablesItemOutputWithContext(ctx context.Context) GetRoutingTablesItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTablesItemOutput) +} + +// GetRoutingTablesItemArrayInput is an input type that accepts GetRoutingTablesItemArray and GetRoutingTablesItemArrayOutput values. +// You can construct a concrete instance of `GetRoutingTablesItemArrayInput` via: +// +// GetRoutingTablesItemArray{ GetRoutingTablesItemArgs{...} } +type GetRoutingTablesItemArrayInput interface { + pulumi.Input + + ToGetRoutingTablesItemArrayOutput() GetRoutingTablesItemArrayOutput + ToGetRoutingTablesItemArrayOutputWithContext(context.Context) GetRoutingTablesItemArrayOutput +} + +type GetRoutingTablesItemArray []GetRoutingTablesItemInput + +func (GetRoutingTablesItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRoutingTablesItem)(nil)).Elem() +} + +func (i GetRoutingTablesItemArray) ToGetRoutingTablesItemArrayOutput() GetRoutingTablesItemArrayOutput { + return i.ToGetRoutingTablesItemArrayOutputWithContext(context.Background()) +} + +func (i GetRoutingTablesItemArray) ToGetRoutingTablesItemArrayOutputWithContext(ctx context.Context) GetRoutingTablesItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTablesItemArrayOutput) +} + +type GetRoutingTablesItemOutput struct{ *pulumi.OutputState } + +func (GetRoutingTablesItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetRoutingTablesItem)(nil)).Elem() +} + +func (o GetRoutingTablesItemOutput) ToGetRoutingTablesItemOutput() GetRoutingTablesItemOutput { + return o +} + +func (o GetRoutingTablesItemOutput) ToGetRoutingTablesItemOutputWithContext(ctx context.Context) GetRoutingTablesItemOutput { + return o +} + +// Date-time when the routing table was created +func (o GetRoutingTablesItemOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTablesItem) string { return v.CreatedAt }).(pulumi.StringOutput) +} + +// When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise. +func (o GetRoutingTablesItemOutput) Default() pulumi.BoolOutput { + return o.ApplyT(func(v GetRoutingTablesItem) bool { return v.Default }).(pulumi.BoolOutput) +} + +// Description of the routing table. +func (o GetRoutingTablesItemOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTablesItem) string { return v.Description }).(pulumi.StringOutput) +} + +// This controls whether dynamic routes are propagated to this routing table +func (o GetRoutingTablesItemOutput) DynamicRoutes() pulumi.BoolOutput { + return o.ApplyT(func(v GetRoutingTablesItem) bool { return v.DynamicRoutes }).(pulumi.BoolOutput) +} + +// Labels are key-value string pairs which can be attached to a resource container +func (o GetRoutingTablesItemOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v GetRoutingTablesItem) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +// The name of the routing table. +func (o GetRoutingTablesItemOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTablesItem) string { return v.Name }).(pulumi.StringOutput) +} + +// The routing tables ID. +func (o GetRoutingTablesItemOutput) RoutingTableId() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTablesItem) string { return v.RoutingTableId }).(pulumi.StringOutput) +} + +// This controls whether the routes for project-to-project communication are created automatically or not. +func (o GetRoutingTablesItemOutput) SystemRoutes() pulumi.BoolOutput { + return o.ApplyT(func(v GetRoutingTablesItem) bool { return v.SystemRoutes }).(pulumi.BoolOutput) +} + +// Date-time when the routing table was updated +func (o GetRoutingTablesItemOutput) UpdatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetRoutingTablesItem) string { return v.UpdatedAt }).(pulumi.StringOutput) +} + +type GetRoutingTablesItemArrayOutput struct{ *pulumi.OutputState } + +func (GetRoutingTablesItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetRoutingTablesItem)(nil)).Elem() +} + +func (o GetRoutingTablesItemArrayOutput) ToGetRoutingTablesItemArrayOutput() GetRoutingTablesItemArrayOutput { + return o } -// The Lua time limit. -func (o GetRedisInstanceParametersOutput) LuaTimeLimit() pulumi.IntOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.LuaTimeLimit }).(pulumi.IntOutput) +func (o GetRoutingTablesItemArrayOutput) ToGetRoutingTablesItemArrayOutputWithContext(ctx context.Context) GetRoutingTablesItemArrayOutput { + return o } -// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. -func (o GetRedisInstanceParametersOutput) MaxDiskThreshold() pulumi.IntOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.MaxDiskThreshold }).(pulumi.IntOutput) +func (o GetRoutingTablesItemArrayOutput) Index(i pulumi.IntInput) GetRoutingTablesItemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRoutingTablesItem { + return vs[0].([]GetRoutingTablesItem)[vs[1].(int)] + }).(GetRoutingTablesItemOutput) } -// The maximum number of clients. -func (o GetRedisInstanceParametersOutput) Maxclients() pulumi.IntOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.Maxclients }).(pulumi.IntOutput) +type GetSecretsmanagerInstanceKmsKey struct { + // UUID of the key within the STACKIT-KMS to use for the encryption. + KeyId string `pulumi:"keyId"` + // UUID of the keyring where the key is located within the STACKTI-KMS. + KeyRingId string `pulumi:"keyRingId"` + // Version of the key within the STACKIT-KMS to use for the encryption. + KeyVersion int `pulumi:"keyVersion"` + // Service-Account linked to the Key within the STACKIT-KMS. + ServiceAccountEmail string `pulumi:"serviceAccountEmail"` } -// The policy to handle the maximum memory (volatile-lru, noeviction, etc). -func (o GetRedisInstanceParametersOutput) MaxmemoryPolicy() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.MaxmemoryPolicy }).(pulumi.StringOutput) -} +// GetSecretsmanagerInstanceKmsKeyInput is an input type that accepts GetSecretsmanagerInstanceKmsKeyArgs and GetSecretsmanagerInstanceKmsKeyOutput values. +// You can construct a concrete instance of `GetSecretsmanagerInstanceKmsKeyInput` via: +// +// GetSecretsmanagerInstanceKmsKeyArgs{...} +type GetSecretsmanagerInstanceKmsKeyInput interface { + pulumi.Input -// The maximum memory samples. -func (o GetRedisInstanceParametersOutput) MaxmemorySamples() pulumi.IntOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.MaxmemorySamples }).(pulumi.IntOutput) + ToGetSecretsmanagerInstanceKmsKeyOutput() GetSecretsmanagerInstanceKmsKeyOutput + ToGetSecretsmanagerInstanceKmsKeyOutputWithContext(context.Context) GetSecretsmanagerInstanceKmsKeyOutput } -// The frequency in seconds at which metrics are emitted. -func (o GetRedisInstanceParametersOutput) MetricsFrequency() pulumi.IntOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.MetricsFrequency }).(pulumi.IntOutput) +type GetSecretsmanagerInstanceKmsKeyArgs struct { + // UUID of the key within the STACKIT-KMS to use for the encryption. + KeyId pulumi.StringInput `pulumi:"keyId"` + // UUID of the keyring where the key is located within the STACKTI-KMS. + KeyRingId pulumi.StringInput `pulumi:"keyRingId"` + // Version of the key within the STACKIT-KMS to use for the encryption. + KeyVersion pulumi.IntInput `pulumi:"keyVersion"` + // Service-Account linked to the Key within the STACKIT-KMS. + ServiceAccountEmail pulumi.StringInput `pulumi:"serviceAccountEmail"` } -// The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key -func (o GetRedisInstanceParametersOutput) MetricsPrefix() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.MetricsPrefix }).(pulumi.StringOutput) +func (GetSecretsmanagerInstanceKmsKeyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecretsmanagerInstanceKmsKey)(nil)).Elem() } -// The minimum replicas maximum lag. -func (o GetRedisInstanceParametersOutput) MinReplicasMaxLag() pulumi.IntOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) int { return v.MinReplicasMaxLag }).(pulumi.IntOutput) +func (i GetSecretsmanagerInstanceKmsKeyArgs) ToGetSecretsmanagerInstanceKmsKeyOutput() GetSecretsmanagerInstanceKmsKeyOutput { + return i.ToGetSecretsmanagerInstanceKmsKeyOutputWithContext(context.Background()) } -// The ID of the STACKIT monitoring instance. -func (o GetRedisInstanceParametersOutput) MonitoringInstanceId() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.MonitoringInstanceId }).(pulumi.StringOutput) +func (i GetSecretsmanagerInstanceKmsKeyArgs) ToGetSecretsmanagerInstanceKmsKeyOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceKmsKeyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerInstanceKmsKeyOutput) } -// The notify keyspace events. -func (o GetRedisInstanceParametersOutput) NotifyKeyspaceEvents() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.NotifyKeyspaceEvents }).(pulumi.StringOutput) +type GetSecretsmanagerInstanceKmsKeyOutput struct{ *pulumi.OutputState } + +func (GetSecretsmanagerInstanceKmsKeyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecretsmanagerInstanceKmsKey)(nil)).Elem() } -// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. -func (o GetRedisInstanceParametersOutput) SgwAcl() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.SgwAcl }).(pulumi.StringOutput) +func (o GetSecretsmanagerInstanceKmsKeyOutput) ToGetSecretsmanagerInstanceKmsKeyOutput() GetSecretsmanagerInstanceKmsKeyOutput { + return o } -// The snapshot configuration. -func (o GetRedisInstanceParametersOutput) Snapshot() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.Snapshot }).(pulumi.StringOutput) +func (o GetSecretsmanagerInstanceKmsKeyOutput) ToGetSecretsmanagerInstanceKmsKeyOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceKmsKeyOutput { + return o } -// List of syslog servers to send logs to. -func (o GetRedisInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +// UUID of the key within the STACKIT-KMS to use for the encryption. +func (o GetSecretsmanagerInstanceKmsKeyOutput) KeyId() pulumi.StringOutput { + return o.ApplyT(func(v GetSecretsmanagerInstanceKmsKey) string { return v.KeyId }).(pulumi.StringOutput) } -// List of TLS ciphers to use. -func (o GetRedisInstanceParametersOutput) TlsCiphers() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) []string { return v.TlsCiphers }).(pulumi.StringArrayOutput) +// UUID of the keyring where the key is located within the STACKTI-KMS. +func (o GetSecretsmanagerInstanceKmsKeyOutput) KeyRingId() pulumi.StringOutput { + return o.ApplyT(func(v GetSecretsmanagerInstanceKmsKey) string { return v.KeyRingId }).(pulumi.StringOutput) } -// TLS cipher suites to use. -func (o GetRedisInstanceParametersOutput) TlsCiphersuites() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.TlsCiphersuites }).(pulumi.StringOutput) +// Version of the key within the STACKIT-KMS to use for the encryption. +func (o GetSecretsmanagerInstanceKmsKeyOutput) KeyVersion() pulumi.IntOutput { + return o.ApplyT(func(v GetSecretsmanagerInstanceKmsKey) int { return v.KeyVersion }).(pulumi.IntOutput) } -// TLS protocol to use. -func (o GetRedisInstanceParametersOutput) TlsProtocols() pulumi.StringOutput { - return o.ApplyT(func(v GetRedisInstanceParameters) string { return v.TlsProtocols }).(pulumi.StringOutput) +// Service-Account linked to the Key within the STACKIT-KMS. +func (o GetSecretsmanagerInstanceKmsKeyOutput) ServiceAccountEmail() pulumi.StringOutput { + return o.ApplyT(func(v GetSecretsmanagerInstanceKmsKey) string { return v.ServiceAccountEmail }).(pulumi.StringOutput) } -type GetRoutingTableRouteDestination struct { - // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. - Type string `pulumi:"type"` - // An CIDR string. - Value string `pulumi:"value"` +type GetSecretsmanagerInstanceRoleBindingsV1RoleBinding struct { + // A valid role defined for the resource. + Role string `pulumi:"role"` + // Identifier of user, service account or client. Usually email address or name in case of clients. + Subject string `pulumi:"subject"` } -// GetRoutingTableRouteDestinationInput is an input type that accepts GetRoutingTableRouteDestinationArgs and GetRoutingTableRouteDestinationOutput values. -// You can construct a concrete instance of `GetRoutingTableRouteDestinationInput` via: +// GetSecretsmanagerInstanceRoleBindingsV1RoleBindingInput is an input type that accepts GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs and GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput values. +// You can construct a concrete instance of `GetSecretsmanagerInstanceRoleBindingsV1RoleBindingInput` via: // -// GetRoutingTableRouteDestinationArgs{...} -type GetRoutingTableRouteDestinationInput interface { +// GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs{...} +type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingInput interface { pulumi.Input - ToGetRoutingTableRouteDestinationOutput() GetRoutingTableRouteDestinationOutput - ToGetRoutingTableRouteDestinationOutputWithContext(context.Context) GetRoutingTableRouteDestinationOutput + ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput + ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutputWithContext(context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput } -type GetRoutingTableRouteDestinationArgs struct { - // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. - Type pulumi.StringInput `pulumi:"type"` - // An CIDR string. - Value pulumi.StringInput `pulumi:"value"` +type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs struct { + // A valid role defined for the resource. + Role pulumi.StringInput `pulumi:"role"` + // Identifier of user, service account or client. Usually email address or name in case of clients. + Subject pulumi.StringInput `pulumi:"subject"` } -func (GetRoutingTableRouteDestinationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTableRouteDestination)(nil)).Elem() +func (GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)(nil)).Elem() } -func (i GetRoutingTableRouteDestinationArgs) ToGetRoutingTableRouteDestinationOutput() GetRoutingTableRouteDestinationOutput { - return i.ToGetRoutingTableRouteDestinationOutputWithContext(context.Background()) +func (i GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput { + return i.ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutputWithContext(context.Background()) } -func (i GetRoutingTableRouteDestinationArgs) ToGetRoutingTableRouteDestinationOutputWithContext(ctx context.Context) GetRoutingTableRouteDestinationOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRouteDestinationOutput) +func (i GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) } -type GetRoutingTableRouteDestinationOutput struct{ *pulumi.OutputState } - -func (GetRoutingTableRouteDestinationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTableRouteDestination)(nil)).Elem() -} +// GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayInput is an input type that accepts GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray and GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput values. +// You can construct a concrete instance of `GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayInput` via: +// +// GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray{ GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs{...} } +type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayInput interface { + pulumi.Input -func (o GetRoutingTableRouteDestinationOutput) ToGetRoutingTableRouteDestinationOutput() GetRoutingTableRouteDestinationOutput { - return o + ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput + ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutputWithContext(context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput } -func (o GetRoutingTableRouteDestinationOutput) ToGetRoutingTableRouteDestinationOutputWithContext(ctx context.Context) GetRoutingTableRouteDestinationOutput { - return o -} +type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray []GetSecretsmanagerInstanceRoleBindingsV1RoleBindingInput -// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. -func (o GetRoutingTableRouteDestinationOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRouteDestination) string { return v.Type }).(pulumi.StringOutput) +func (GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)(nil)).Elem() } -// An CIDR string. -func (o GetRoutingTableRouteDestinationOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRouteDestination) string { return v.Value }).(pulumi.StringOutput) +func (i GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput { + return i.ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutputWithContext(context.Background()) } -type GetRoutingTableRouteNextHop struct { - // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. - Type string `pulumi:"type"` - // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. - Value string `pulumi:"value"` +func (i GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) } -// GetRoutingTableRouteNextHopInput is an input type that accepts GetRoutingTableRouteNextHopArgs and GetRoutingTableRouteNextHopOutput values. -// You can construct a concrete instance of `GetRoutingTableRouteNextHopInput` via: -// -// GetRoutingTableRouteNextHopArgs{...} -type GetRoutingTableRouteNextHopInput interface { - pulumi.Input +type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput struct{ *pulumi.OutputState } - ToGetRoutingTableRouteNextHopOutput() GetRoutingTableRouteNextHopOutput - ToGetRoutingTableRouteNextHopOutputWithContext(context.Context) GetRoutingTableRouteNextHopOutput +func (GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)(nil)).Elem() } -type GetRoutingTableRouteNextHopArgs struct { - // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. - Type pulumi.StringInput `pulumi:"type"` - // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. - Value pulumi.StringInput `pulumi:"value"` +func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput { + return o } -func (GetRoutingTableRouteNextHopArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTableRouteNextHop)(nil)).Elem() +func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput { + return o } -func (i GetRoutingTableRouteNextHopArgs) ToGetRoutingTableRouteNextHopOutput() GetRoutingTableRouteNextHopOutput { - return i.ToGetRoutingTableRouteNextHopOutputWithContext(context.Background()) +// A valid role defined for the resource. +func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v GetSecretsmanagerInstanceRoleBindingsV1RoleBinding) string { return v.Role }).(pulumi.StringOutput) } -func (i GetRoutingTableRouteNextHopArgs) ToGetRoutingTableRouteNextHopOutputWithContext(ctx context.Context) GetRoutingTableRouteNextHopOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRouteNextHopOutput) +// Identifier of user, service account or client. Usually email address or name in case of clients. +func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) Subject() pulumi.StringOutput { + return o.ApplyT(func(v GetSecretsmanagerInstanceRoleBindingsV1RoleBinding) string { return v.Subject }).(pulumi.StringOutput) } -type GetRoutingTableRouteNextHopOutput struct{ *pulumi.OutputState } +type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput struct{ *pulumi.OutputState } -func (GetRoutingTableRouteNextHopOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTableRouteNextHop)(nil)).Elem() +func (GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)(nil)).Elem() } -func (o GetRoutingTableRouteNextHopOutput) ToGetRoutingTableRouteNextHopOutput() GetRoutingTableRouteNextHopOutput { +func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput { return o } -func (o GetRoutingTableRouteNextHopOutput) ToGetRoutingTableRouteNextHopOutputWithContext(ctx context.Context) GetRoutingTableRouteNextHopOutput { +func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput { return o } -// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. -func (o GetRoutingTableRouteNextHopOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRouteNextHop) string { return v.Type }).(pulumi.StringOutput) -} - -// Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. -func (o GetRoutingTableRouteNextHopOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRouteNextHop) string { return v.Value }).(pulumi.StringOutput) +func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) Index(i pulumi.IntInput) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSecretsmanagerInstanceRoleBindingsV1RoleBinding { + return vs[0].([]GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)[vs[1].(int)] + }).(GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) } -type GetRoutingTableRoutesRoute struct { - // Date-time when the route was created - CreatedAt string `pulumi:"createdAt"` - // Destination of the route. - Destination GetRoutingTableRoutesRouteDestination `pulumi:"destination"` - // Labels are key-value string pairs which can be attached to a resource container - Labels map[string]string `pulumi:"labels"` - // Next hop destination. - NextHop GetRoutingTableRoutesRouteNextHop `pulumi:"nextHop"` - // Route ID. - RouteId string `pulumi:"routeId"` - // Date-time when the route was updated - UpdatedAt string `pulumi:"updatedAt"` +type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding struct { + // A valid role defined for the resource. + Role string `pulumi:"role"` + // Identifier of user, service account or client. Usually email address or name in case of clients. + Subject string `pulumi:"subject"` } -// GetRoutingTableRoutesRouteInput is an input type that accepts GetRoutingTableRoutesRouteArgs and GetRoutingTableRoutesRouteOutput values. -// You can construct a concrete instance of `GetRoutingTableRoutesRouteInput` via: +// GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingInput is an input type that accepts GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs and GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput values. +// You can construct a concrete instance of `GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingInput` via: // -// GetRoutingTableRoutesRouteArgs{...} -type GetRoutingTableRoutesRouteInput interface { +// GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs{...} +type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingInput interface { pulumi.Input - ToGetRoutingTableRoutesRouteOutput() GetRoutingTableRoutesRouteOutput - ToGetRoutingTableRoutesRouteOutputWithContext(context.Context) GetRoutingTableRoutesRouteOutput + ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput + ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutputWithContext(context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput } -type GetRoutingTableRoutesRouteArgs struct { - // Date-time when the route was created - CreatedAt pulumi.StringInput `pulumi:"createdAt"` - // Destination of the route. - Destination GetRoutingTableRoutesRouteDestinationInput `pulumi:"destination"` - // Labels are key-value string pairs which can be attached to a resource container - Labels pulumi.StringMapInput `pulumi:"labels"` - // Next hop destination. - NextHop GetRoutingTableRoutesRouteNextHopInput `pulumi:"nextHop"` - // Route ID. - RouteId pulumi.StringInput `pulumi:"routeId"` - // Date-time when the route was updated - UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` +type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs struct { + // A valid role defined for the resource. + Role pulumi.StringInput `pulumi:"role"` + // Identifier of user, service account or client. Usually email address or name in case of clients. + Subject pulumi.StringInput `pulumi:"subject"` } -func (GetRoutingTableRoutesRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTableRoutesRoute)(nil)).Elem() +func (GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)(nil)).Elem() } -func (i GetRoutingTableRoutesRouteArgs) ToGetRoutingTableRoutesRouteOutput() GetRoutingTableRoutesRouteOutput { - return i.ToGetRoutingTableRoutesRouteOutputWithContext(context.Background()) +func (i GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput { + return i.ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutputWithContext(context.Background()) } -func (i GetRoutingTableRoutesRouteArgs) ToGetRoutingTableRoutesRouteOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRoutesRouteOutput) +func (i GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutputWithContext(ctx context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) } -// GetRoutingTableRoutesRouteArrayInput is an input type that accepts GetRoutingTableRoutesRouteArray and GetRoutingTableRoutesRouteArrayOutput values. -// You can construct a concrete instance of `GetRoutingTableRoutesRouteArrayInput` via: +// GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayInput is an input type that accepts GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray and GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput values. +// You can construct a concrete instance of `GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayInput` via: // -// GetRoutingTableRoutesRouteArray{ GetRoutingTableRoutesRouteArgs{...} } -type GetRoutingTableRoutesRouteArrayInput interface { +// GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray{ GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs{...} } +type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayInput interface { pulumi.Input - ToGetRoutingTableRoutesRouteArrayOutput() GetRoutingTableRoutesRouteArrayOutput - ToGetRoutingTableRoutesRouteArrayOutputWithContext(context.Context) GetRoutingTableRoutesRouteArrayOutput + ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput + ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutputWithContext(context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput } -type GetRoutingTableRoutesRouteArray []GetRoutingTableRoutesRouteInput +type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray []GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingInput -func (GetRoutingTableRoutesRouteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRoutingTableRoutesRoute)(nil)).Elem() +func (GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)(nil)).Elem() } -func (i GetRoutingTableRoutesRouteArray) ToGetRoutingTableRoutesRouteArrayOutput() GetRoutingTableRoutesRouteArrayOutput { - return i.ToGetRoutingTableRoutesRouteArrayOutputWithContext(context.Background()) +func (i GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput { + return i.ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutputWithContext(context.Background()) } -func (i GetRoutingTableRoutesRouteArray) ToGetRoutingTableRoutesRouteArrayOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRoutesRouteArrayOutput) +func (i GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutputWithContext(ctx context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) } -type GetRoutingTableRoutesRouteOutput struct{ *pulumi.OutputState } +type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput struct{ *pulumi.OutputState } -func (GetRoutingTableRoutesRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTableRoutesRoute)(nil)).Elem() +func (GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)(nil)).Elem() } -func (o GetRoutingTableRoutesRouteOutput) ToGetRoutingTableRoutesRouteOutput() GetRoutingTableRoutesRouteOutput { +func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput { return o } -func (o GetRoutingTableRoutesRouteOutput) ToGetRoutingTableRoutesRouteOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteOutput { +func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutputWithContext(ctx context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput { return o } -// Date-time when the route was created -func (o GetRoutingTableRoutesRouteOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRoutesRoute) string { return v.CreatedAt }).(pulumi.StringOutput) -} - -// Destination of the route. -func (o GetRoutingTableRoutesRouteOutput) Destination() GetRoutingTableRoutesRouteDestinationOutput { - return o.ApplyT(func(v GetRoutingTableRoutesRoute) GetRoutingTableRoutesRouteDestination { return v.Destination }).(GetRoutingTableRoutesRouteDestinationOutput) -} - -// Labels are key-value string pairs which can be attached to a resource container -func (o GetRoutingTableRoutesRouteOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v GetRoutingTableRoutesRoute) map[string]string { return v.Labels }).(pulumi.StringMapOutput) -} - -// Next hop destination. -func (o GetRoutingTableRoutesRouteOutput) NextHop() GetRoutingTableRoutesRouteNextHopOutput { - return o.ApplyT(func(v GetRoutingTableRoutesRoute) GetRoutingTableRoutesRouteNextHop { return v.NextHop }).(GetRoutingTableRoutesRouteNextHopOutput) -} - -// Route ID. -func (o GetRoutingTableRoutesRouteOutput) RouteId() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRoutesRoute) string { return v.RouteId }).(pulumi.StringOutput) +// A valid role defined for the resource. +func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding) string { return v.Role }).(pulumi.StringOutput) } -// Date-time when the route was updated -func (o GetRoutingTableRoutesRouteOutput) UpdatedAt() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRoutesRoute) string { return v.UpdatedAt }).(pulumi.StringOutput) +// Identifier of user, service account or client. Usually email address or name in case of clients. +func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) Subject() pulumi.StringOutput { + return o.ApplyT(func(v GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding) string { return v.Subject }).(pulumi.StringOutput) } -type GetRoutingTableRoutesRouteArrayOutput struct{ *pulumi.OutputState } +type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput struct{ *pulumi.OutputState } -func (GetRoutingTableRoutesRouteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRoutingTableRoutesRoute)(nil)).Elem() +func (GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)(nil)).Elem() } -func (o GetRoutingTableRoutesRouteArrayOutput) ToGetRoutingTableRoutesRouteArrayOutput() GetRoutingTableRoutesRouteArrayOutput { +func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput { return o } -func (o GetRoutingTableRoutesRouteArrayOutput) ToGetRoutingTableRoutesRouteArrayOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteArrayOutput { +func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutputWithContext(ctx context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput { return o } -func (o GetRoutingTableRoutesRouteArrayOutput) Index(i pulumi.IntInput) GetRoutingTableRoutesRouteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRoutingTableRoutesRoute { - return vs[0].([]GetRoutingTableRoutesRoute)[vs[1].(int)] - }).(GetRoutingTableRoutesRouteOutput) +func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) Index(i pulumi.IntInput) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding { + return vs[0].([]GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)[vs[1].(int)] + }).(GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) } -type GetRoutingTableRoutesRouteDestination struct { - // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. - Type string `pulumi:"type"` - // An CIDR string. - Value string `pulumi:"value"` +type GetSecurityGroupRuleIcmpParameters struct { + // ICMP code. Can be set if the protocol is ICMP. + Code int `pulumi:"code"` + // ICMP type. Can be set if the protocol is ICMP. + Type int `pulumi:"type"` } -// GetRoutingTableRoutesRouteDestinationInput is an input type that accepts GetRoutingTableRoutesRouteDestinationArgs and GetRoutingTableRoutesRouteDestinationOutput values. -// You can construct a concrete instance of `GetRoutingTableRoutesRouteDestinationInput` via: +// GetSecurityGroupRuleIcmpParametersInput is an input type that accepts GetSecurityGroupRuleIcmpParametersArgs and GetSecurityGroupRuleIcmpParametersOutput values. +// You can construct a concrete instance of `GetSecurityGroupRuleIcmpParametersInput` via: // -// GetRoutingTableRoutesRouteDestinationArgs{...} -type GetRoutingTableRoutesRouteDestinationInput interface { +// GetSecurityGroupRuleIcmpParametersArgs{...} +type GetSecurityGroupRuleIcmpParametersInput interface { pulumi.Input - ToGetRoutingTableRoutesRouteDestinationOutput() GetRoutingTableRoutesRouteDestinationOutput - ToGetRoutingTableRoutesRouteDestinationOutputWithContext(context.Context) GetRoutingTableRoutesRouteDestinationOutput + ToGetSecurityGroupRuleIcmpParametersOutput() GetSecurityGroupRuleIcmpParametersOutput + ToGetSecurityGroupRuleIcmpParametersOutputWithContext(context.Context) GetSecurityGroupRuleIcmpParametersOutput } -type GetRoutingTableRoutesRouteDestinationArgs struct { - // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. - Type pulumi.StringInput `pulumi:"type"` - // An CIDR string. - Value pulumi.StringInput `pulumi:"value"` +type GetSecurityGroupRuleIcmpParametersArgs struct { + // ICMP code. Can be set if the protocol is ICMP. + Code pulumi.IntInput `pulumi:"code"` + // ICMP type. Can be set if the protocol is ICMP. + Type pulumi.IntInput `pulumi:"type"` } -func (GetRoutingTableRoutesRouteDestinationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTableRoutesRouteDestination)(nil)).Elem() +func (GetSecurityGroupRuleIcmpParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityGroupRuleIcmpParameters)(nil)).Elem() } -func (i GetRoutingTableRoutesRouteDestinationArgs) ToGetRoutingTableRoutesRouteDestinationOutput() GetRoutingTableRoutesRouteDestinationOutput { - return i.ToGetRoutingTableRoutesRouteDestinationOutputWithContext(context.Background()) +func (i GetSecurityGroupRuleIcmpParametersArgs) ToGetSecurityGroupRuleIcmpParametersOutput() GetSecurityGroupRuleIcmpParametersOutput { + return i.ToGetSecurityGroupRuleIcmpParametersOutputWithContext(context.Background()) } -func (i GetRoutingTableRoutesRouteDestinationArgs) ToGetRoutingTableRoutesRouteDestinationOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteDestinationOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRoutesRouteDestinationOutput) +func (i GetSecurityGroupRuleIcmpParametersArgs) ToGetSecurityGroupRuleIcmpParametersOutputWithContext(ctx context.Context) GetSecurityGroupRuleIcmpParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecurityGroupRuleIcmpParametersOutput) } -type GetRoutingTableRoutesRouteDestinationOutput struct{ *pulumi.OutputState } +type GetSecurityGroupRuleIcmpParametersOutput struct{ *pulumi.OutputState } -func (GetRoutingTableRoutesRouteDestinationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTableRoutesRouteDestination)(nil)).Elem() +func (GetSecurityGroupRuleIcmpParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityGroupRuleIcmpParameters)(nil)).Elem() } -func (o GetRoutingTableRoutesRouteDestinationOutput) ToGetRoutingTableRoutesRouteDestinationOutput() GetRoutingTableRoutesRouteDestinationOutput { +func (o GetSecurityGroupRuleIcmpParametersOutput) ToGetSecurityGroupRuleIcmpParametersOutput() GetSecurityGroupRuleIcmpParametersOutput { return o } -func (o GetRoutingTableRoutesRouteDestinationOutput) ToGetRoutingTableRoutesRouteDestinationOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteDestinationOutput { +func (o GetSecurityGroupRuleIcmpParametersOutput) ToGetSecurityGroupRuleIcmpParametersOutputWithContext(ctx context.Context) GetSecurityGroupRuleIcmpParametersOutput { return o } -// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. -func (o GetRoutingTableRoutesRouteDestinationOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRoutesRouteDestination) string { return v.Type }).(pulumi.StringOutput) +// ICMP code. Can be set if the protocol is ICMP. +func (o GetSecurityGroupRuleIcmpParametersOutput) Code() pulumi.IntOutput { + return o.ApplyT(func(v GetSecurityGroupRuleIcmpParameters) int { return v.Code }).(pulumi.IntOutput) } -// An CIDR string. -func (o GetRoutingTableRoutesRouteDestinationOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRoutesRouteDestination) string { return v.Value }).(pulumi.StringOutput) +// ICMP type. Can be set if the protocol is ICMP. +func (o GetSecurityGroupRuleIcmpParametersOutput) Type() pulumi.IntOutput { + return o.ApplyT(func(v GetSecurityGroupRuleIcmpParameters) int { return v.Type }).(pulumi.IntOutput) } -type GetRoutingTableRoutesRouteNextHop struct { - // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. - Type string `pulumi:"type"` - // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. - Value string `pulumi:"value"` +type GetSecurityGroupRulePortRange struct { + // The maximum port number. Should be greater or equal to the minimum. + Max int `pulumi:"max"` + // The minimum port number. Should be less or equal to the minimum. + Min int `pulumi:"min"` } -// GetRoutingTableRoutesRouteNextHopInput is an input type that accepts GetRoutingTableRoutesRouteNextHopArgs and GetRoutingTableRoutesRouteNextHopOutput values. -// You can construct a concrete instance of `GetRoutingTableRoutesRouteNextHopInput` via: +// GetSecurityGroupRulePortRangeInput is an input type that accepts GetSecurityGroupRulePortRangeArgs and GetSecurityGroupRulePortRangeOutput values. +// You can construct a concrete instance of `GetSecurityGroupRulePortRangeInput` via: // -// GetRoutingTableRoutesRouteNextHopArgs{...} -type GetRoutingTableRoutesRouteNextHopInput interface { +// GetSecurityGroupRulePortRangeArgs{...} +type GetSecurityGroupRulePortRangeInput interface { pulumi.Input - ToGetRoutingTableRoutesRouteNextHopOutput() GetRoutingTableRoutesRouteNextHopOutput - ToGetRoutingTableRoutesRouteNextHopOutputWithContext(context.Context) GetRoutingTableRoutesRouteNextHopOutput -} - -type GetRoutingTableRoutesRouteNextHopArgs struct { - // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. - Type pulumi.StringInput `pulumi:"type"` - // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. - Value pulumi.StringInput `pulumi:"value"` -} - -func (GetRoutingTableRoutesRouteNextHopArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTableRoutesRouteNextHop)(nil)).Elem() -} - -func (i GetRoutingTableRoutesRouteNextHopArgs) ToGetRoutingTableRoutesRouteNextHopOutput() GetRoutingTableRoutesRouteNextHopOutput { - return i.ToGetRoutingTableRoutesRouteNextHopOutputWithContext(context.Background()) -} - -func (i GetRoutingTableRoutesRouteNextHopArgs) ToGetRoutingTableRoutesRouteNextHopOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteNextHopOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTableRoutesRouteNextHopOutput) -} - -type GetRoutingTableRoutesRouteNextHopOutput struct{ *pulumi.OutputState } - -func (GetRoutingTableRoutesRouteNextHopOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTableRoutesRouteNextHop)(nil)).Elem() + ToGetSecurityGroupRulePortRangeOutput() GetSecurityGroupRulePortRangeOutput + ToGetSecurityGroupRulePortRangeOutputWithContext(context.Context) GetSecurityGroupRulePortRangeOutput } -func (o GetRoutingTableRoutesRouteNextHopOutput) ToGetRoutingTableRoutesRouteNextHopOutput() GetRoutingTableRoutesRouteNextHopOutput { - return o +type GetSecurityGroupRulePortRangeArgs struct { + // The maximum port number. Should be greater or equal to the minimum. + Max pulumi.IntInput `pulumi:"max"` + // The minimum port number. Should be less or equal to the minimum. + Min pulumi.IntInput `pulumi:"min"` } -func (o GetRoutingTableRoutesRouteNextHopOutput) ToGetRoutingTableRoutesRouteNextHopOutputWithContext(ctx context.Context) GetRoutingTableRoutesRouteNextHopOutput { - return o +func (GetSecurityGroupRulePortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityGroupRulePortRange)(nil)).Elem() } -// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. -func (o GetRoutingTableRoutesRouteNextHopOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRoutesRouteNextHop) string { return v.Type }).(pulumi.StringOutput) +func (i GetSecurityGroupRulePortRangeArgs) ToGetSecurityGroupRulePortRangeOutput() GetSecurityGroupRulePortRangeOutput { + return i.ToGetSecurityGroupRulePortRangeOutputWithContext(context.Background()) } -// Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. -func (o GetRoutingTableRoutesRouteNextHopOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTableRoutesRouteNextHop) string { return v.Value }).(pulumi.StringOutput) +func (i GetSecurityGroupRulePortRangeArgs) ToGetSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) GetSecurityGroupRulePortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecurityGroupRulePortRangeOutput) } -type GetRoutingTablesItem struct { - // Date-time when the routing table was created - CreatedAt string `pulumi:"createdAt"` - // When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise. - Default bool `pulumi:"default"` - // Description of the routing table. - Description string `pulumi:"description"` - // This controls whether dynamic routes are propagated to this routing table - DynamicRoutes bool `pulumi:"dynamicRoutes"` - // Labels are key-value string pairs which can be attached to a resource container - Labels map[string]string `pulumi:"labels"` - // The name of the routing table. - Name string `pulumi:"name"` - // The routing tables ID. - RoutingTableId string `pulumi:"routingTableId"` - // This controls whether the routes for project-to-project communication are created automatically or not. - SystemRoutes bool `pulumi:"systemRoutes"` - // Date-time when the routing table was updated - UpdatedAt string `pulumi:"updatedAt"` -} +type GetSecurityGroupRulePortRangeOutput struct{ *pulumi.OutputState } -// GetRoutingTablesItemInput is an input type that accepts GetRoutingTablesItemArgs and GetRoutingTablesItemOutput values. -// You can construct a concrete instance of `GetRoutingTablesItemInput` via: -// -// GetRoutingTablesItemArgs{...} -type GetRoutingTablesItemInput interface { - pulumi.Input +func (GetSecurityGroupRulePortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityGroupRulePortRange)(nil)).Elem() +} - ToGetRoutingTablesItemOutput() GetRoutingTablesItemOutput - ToGetRoutingTablesItemOutputWithContext(context.Context) GetRoutingTablesItemOutput +func (o GetSecurityGroupRulePortRangeOutput) ToGetSecurityGroupRulePortRangeOutput() GetSecurityGroupRulePortRangeOutput { + return o } -type GetRoutingTablesItemArgs struct { - // Date-time when the routing table was created - CreatedAt pulumi.StringInput `pulumi:"createdAt"` - // When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise. - Default pulumi.BoolInput `pulumi:"default"` - // Description of the routing table. - Description pulumi.StringInput `pulumi:"description"` - // This controls whether dynamic routes are propagated to this routing table - DynamicRoutes pulumi.BoolInput `pulumi:"dynamicRoutes"` - // Labels are key-value string pairs which can be attached to a resource container - Labels pulumi.StringMapInput `pulumi:"labels"` - // The name of the routing table. - Name pulumi.StringInput `pulumi:"name"` - // The routing tables ID. - RoutingTableId pulumi.StringInput `pulumi:"routingTableId"` - // This controls whether the routes for project-to-project communication are created automatically or not. - SystemRoutes pulumi.BoolInput `pulumi:"systemRoutes"` - // Date-time when the routing table was updated - UpdatedAt pulumi.StringInput `pulumi:"updatedAt"` +func (o GetSecurityGroupRulePortRangeOutput) ToGetSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) GetSecurityGroupRulePortRangeOutput { + return o } -func (GetRoutingTablesItemArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTablesItem)(nil)).Elem() +// The maximum port number. Should be greater or equal to the minimum. +func (o GetSecurityGroupRulePortRangeOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v GetSecurityGroupRulePortRange) int { return v.Max }).(pulumi.IntOutput) } -func (i GetRoutingTablesItemArgs) ToGetRoutingTablesItemOutput() GetRoutingTablesItemOutput { - return i.ToGetRoutingTablesItemOutputWithContext(context.Background()) +// The minimum port number. Should be less or equal to the minimum. +func (o GetSecurityGroupRulePortRangeOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v GetSecurityGroupRulePortRange) int { return v.Min }).(pulumi.IntOutput) } -func (i GetRoutingTablesItemArgs) ToGetRoutingTablesItemOutputWithContext(ctx context.Context) GetRoutingTablesItemOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTablesItemOutput) +type GetSecurityGroupRuleProtocol struct { + // The protocol name which the rule should match. + Name string `pulumi:"name"` + // The protocol number which the rule should match. + Number int `pulumi:"number"` } -// GetRoutingTablesItemArrayInput is an input type that accepts GetRoutingTablesItemArray and GetRoutingTablesItemArrayOutput values. -// You can construct a concrete instance of `GetRoutingTablesItemArrayInput` via: +// GetSecurityGroupRuleProtocolInput is an input type that accepts GetSecurityGroupRuleProtocolArgs and GetSecurityGroupRuleProtocolOutput values. +// You can construct a concrete instance of `GetSecurityGroupRuleProtocolInput` via: // -// GetRoutingTablesItemArray{ GetRoutingTablesItemArgs{...} } -type GetRoutingTablesItemArrayInput interface { +// GetSecurityGroupRuleProtocolArgs{...} +type GetSecurityGroupRuleProtocolInput interface { pulumi.Input - ToGetRoutingTablesItemArrayOutput() GetRoutingTablesItemArrayOutput - ToGetRoutingTablesItemArrayOutputWithContext(context.Context) GetRoutingTablesItemArrayOutput + ToGetSecurityGroupRuleProtocolOutput() GetSecurityGroupRuleProtocolOutput + ToGetSecurityGroupRuleProtocolOutputWithContext(context.Context) GetSecurityGroupRuleProtocolOutput } -type GetRoutingTablesItemArray []GetRoutingTablesItemInput +type GetSecurityGroupRuleProtocolArgs struct { + // The protocol name which the rule should match. + Name pulumi.StringInput `pulumi:"name"` + // The protocol number which the rule should match. + Number pulumi.IntInput `pulumi:"number"` +} -func (GetRoutingTablesItemArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRoutingTablesItem)(nil)).Elem() +func (GetSecurityGroupRuleProtocolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityGroupRuleProtocol)(nil)).Elem() } -func (i GetRoutingTablesItemArray) ToGetRoutingTablesItemArrayOutput() GetRoutingTablesItemArrayOutput { - return i.ToGetRoutingTablesItemArrayOutputWithContext(context.Background()) +func (i GetSecurityGroupRuleProtocolArgs) ToGetSecurityGroupRuleProtocolOutput() GetSecurityGroupRuleProtocolOutput { + return i.ToGetSecurityGroupRuleProtocolOutputWithContext(context.Background()) } -func (i GetRoutingTablesItemArray) ToGetRoutingTablesItemArrayOutputWithContext(ctx context.Context) GetRoutingTablesItemArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetRoutingTablesItemArrayOutput) +func (i GetSecurityGroupRuleProtocolArgs) ToGetSecurityGroupRuleProtocolOutputWithContext(ctx context.Context) GetSecurityGroupRuleProtocolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSecurityGroupRuleProtocolOutput) } -type GetRoutingTablesItemOutput struct{ *pulumi.OutputState } +type GetSecurityGroupRuleProtocolOutput struct{ *pulumi.OutputState } -func (GetRoutingTablesItemOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetRoutingTablesItem)(nil)).Elem() +func (GetSecurityGroupRuleProtocolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSecurityGroupRuleProtocol)(nil)).Elem() } -func (o GetRoutingTablesItemOutput) ToGetRoutingTablesItemOutput() GetRoutingTablesItemOutput { +func (o GetSecurityGroupRuleProtocolOutput) ToGetSecurityGroupRuleProtocolOutput() GetSecurityGroupRuleProtocolOutput { return o } -func (o GetRoutingTablesItemOutput) ToGetRoutingTablesItemOutputWithContext(ctx context.Context) GetRoutingTablesItemOutput { +func (o GetSecurityGroupRuleProtocolOutput) ToGetSecurityGroupRuleProtocolOutputWithContext(ctx context.Context) GetSecurityGroupRuleProtocolOutput { return o } -// Date-time when the routing table was created -func (o GetRoutingTablesItemOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTablesItem) string { return v.CreatedAt }).(pulumi.StringOutput) +// The protocol name which the rule should match. +func (o GetSecurityGroupRuleProtocolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetSecurityGroupRuleProtocol) string { return v.Name }).(pulumi.StringOutput) } -// When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise. -func (o GetRoutingTablesItemOutput) Default() pulumi.BoolOutput { - return o.ApplyT(func(v GetRoutingTablesItem) bool { return v.Default }).(pulumi.BoolOutput) +// The protocol number which the rule should match. +func (o GetSecurityGroupRuleProtocolOutput) Number() pulumi.IntOutput { + return o.ApplyT(func(v GetSecurityGroupRuleProtocol) int { return v.Number }).(pulumi.IntOutput) } -// Description of the routing table. -func (o GetRoutingTablesItemOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTablesItem) string { return v.Description }).(pulumi.StringOutput) +type GetServerAgent struct { + // Whether a STACKIT Server Agent is provisioned at the server + Provisioned bool `pulumi:"provisioned"` } -// This controls whether dynamic routes are propagated to this routing table -func (o GetRoutingTablesItemOutput) DynamicRoutes() pulumi.BoolOutput { - return o.ApplyT(func(v GetRoutingTablesItem) bool { return v.DynamicRoutes }).(pulumi.BoolOutput) -} +// GetServerAgentInput is an input type that accepts GetServerAgentArgs and GetServerAgentOutput values. +// You can construct a concrete instance of `GetServerAgentInput` via: +// +// GetServerAgentArgs{...} +type GetServerAgentInput interface { + pulumi.Input -// Labels are key-value string pairs which can be attached to a resource container -func (o GetRoutingTablesItemOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v GetRoutingTablesItem) map[string]string { return v.Labels }).(pulumi.StringMapOutput) + ToGetServerAgentOutput() GetServerAgentOutput + ToGetServerAgentOutputWithContext(context.Context) GetServerAgentOutput } -// The name of the routing table. -func (o GetRoutingTablesItemOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTablesItem) string { return v.Name }).(pulumi.StringOutput) +type GetServerAgentArgs struct { + // Whether a STACKIT Server Agent is provisioned at the server + Provisioned pulumi.BoolInput `pulumi:"provisioned"` } -// The routing tables ID. -func (o GetRoutingTablesItemOutput) RoutingTableId() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTablesItem) string { return v.RoutingTableId }).(pulumi.StringOutput) +func (GetServerAgentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerAgent)(nil)).Elem() } -// This controls whether the routes for project-to-project communication are created automatically or not. -func (o GetRoutingTablesItemOutput) SystemRoutes() pulumi.BoolOutput { - return o.ApplyT(func(v GetRoutingTablesItem) bool { return v.SystemRoutes }).(pulumi.BoolOutput) +func (i GetServerAgentArgs) ToGetServerAgentOutput() GetServerAgentOutput { + return i.ToGetServerAgentOutputWithContext(context.Background()) } -// Date-time when the routing table was updated -func (o GetRoutingTablesItemOutput) UpdatedAt() pulumi.StringOutput { - return o.ApplyT(func(v GetRoutingTablesItem) string { return v.UpdatedAt }).(pulumi.StringOutput) +func (i GetServerAgentArgs) ToGetServerAgentOutputWithContext(ctx context.Context) GetServerAgentOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServerAgentOutput) } -type GetRoutingTablesItemArrayOutput struct{ *pulumi.OutputState } +type GetServerAgentOutput struct{ *pulumi.OutputState } -func (GetRoutingTablesItemArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetRoutingTablesItem)(nil)).Elem() +func (GetServerAgentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerAgent)(nil)).Elem() } -func (o GetRoutingTablesItemArrayOutput) ToGetRoutingTablesItemArrayOutput() GetRoutingTablesItemArrayOutput { +func (o GetServerAgentOutput) ToGetServerAgentOutput() GetServerAgentOutput { return o } -func (o GetRoutingTablesItemArrayOutput) ToGetRoutingTablesItemArrayOutputWithContext(ctx context.Context) GetRoutingTablesItemArrayOutput { +func (o GetServerAgentOutput) ToGetServerAgentOutputWithContext(ctx context.Context) GetServerAgentOutput { return o } -func (o GetRoutingTablesItemArrayOutput) Index(i pulumi.IntInput) GetRoutingTablesItemOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetRoutingTablesItem { - return vs[0].([]GetRoutingTablesItem)[vs[1].(int)] - }).(GetRoutingTablesItemOutput) +// Whether a STACKIT Server Agent is provisioned at the server +func (o GetServerAgentOutput) Provisioned() pulumi.BoolOutput { + return o.ApplyT(func(v GetServerAgent) bool { return v.Provisioned }).(pulumi.BoolOutput) } -type GetSecretsmanagerInstanceKmsKey struct { - // UUID of the key within the STACKIT-KMS to use for the encryption. - KeyId string `pulumi:"keyId"` - // UUID of the keyring where the key is located within the STACKTI-KMS. - KeyRingId string `pulumi:"keyRingId"` - // Version of the key within the STACKIT-KMS to use for the encryption. - KeyVersion int `pulumi:"keyVersion"` - // Service-Account linked to the Key within the STACKIT-KMS. - ServiceAccountEmail string `pulumi:"serviceAccountEmail"` +type GetServerBackupScheduleBackupProperties struct { + Name string `pulumi:"name"` + RetentionPeriod int `pulumi:"retentionPeriod"` + VolumeIds []string `pulumi:"volumeIds"` } -// GetSecretsmanagerInstanceKmsKeyInput is an input type that accepts GetSecretsmanagerInstanceKmsKeyArgs and GetSecretsmanagerInstanceKmsKeyOutput values. -// You can construct a concrete instance of `GetSecretsmanagerInstanceKmsKeyInput` via: +// GetServerBackupScheduleBackupPropertiesInput is an input type that accepts GetServerBackupScheduleBackupPropertiesArgs and GetServerBackupScheduleBackupPropertiesOutput values. +// You can construct a concrete instance of `GetServerBackupScheduleBackupPropertiesInput` via: // -// GetSecretsmanagerInstanceKmsKeyArgs{...} -type GetSecretsmanagerInstanceKmsKeyInput interface { +// GetServerBackupScheduleBackupPropertiesArgs{...} +type GetServerBackupScheduleBackupPropertiesInput interface { pulumi.Input - ToGetSecretsmanagerInstanceKmsKeyOutput() GetSecretsmanagerInstanceKmsKeyOutput - ToGetSecretsmanagerInstanceKmsKeyOutputWithContext(context.Context) GetSecretsmanagerInstanceKmsKeyOutput + ToGetServerBackupScheduleBackupPropertiesOutput() GetServerBackupScheduleBackupPropertiesOutput + ToGetServerBackupScheduleBackupPropertiesOutputWithContext(context.Context) GetServerBackupScheduleBackupPropertiesOutput } -type GetSecretsmanagerInstanceKmsKeyArgs struct { - // UUID of the key within the STACKIT-KMS to use for the encryption. - KeyId pulumi.StringInput `pulumi:"keyId"` - // UUID of the keyring where the key is located within the STACKTI-KMS. - KeyRingId pulumi.StringInput `pulumi:"keyRingId"` - // Version of the key within the STACKIT-KMS to use for the encryption. - KeyVersion pulumi.IntInput `pulumi:"keyVersion"` - // Service-Account linked to the Key within the STACKIT-KMS. - ServiceAccountEmail pulumi.StringInput `pulumi:"serviceAccountEmail"` +type GetServerBackupScheduleBackupPropertiesArgs struct { + Name pulumi.StringInput `pulumi:"name"` + RetentionPeriod pulumi.IntInput `pulumi:"retentionPeriod"` + VolumeIds pulumi.StringArrayInput `pulumi:"volumeIds"` } -func (GetSecretsmanagerInstanceKmsKeyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecretsmanagerInstanceKmsKey)(nil)).Elem() +func (GetServerBackupScheduleBackupPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerBackupScheduleBackupProperties)(nil)).Elem() } -func (i GetSecretsmanagerInstanceKmsKeyArgs) ToGetSecretsmanagerInstanceKmsKeyOutput() GetSecretsmanagerInstanceKmsKeyOutput { - return i.ToGetSecretsmanagerInstanceKmsKeyOutputWithContext(context.Background()) +func (i GetServerBackupScheduleBackupPropertiesArgs) ToGetServerBackupScheduleBackupPropertiesOutput() GetServerBackupScheduleBackupPropertiesOutput { + return i.ToGetServerBackupScheduleBackupPropertiesOutputWithContext(context.Background()) } -func (i GetSecretsmanagerInstanceKmsKeyArgs) ToGetSecretsmanagerInstanceKmsKeyOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceKmsKeyOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerInstanceKmsKeyOutput) +func (i GetServerBackupScheduleBackupPropertiesArgs) ToGetServerBackupScheduleBackupPropertiesOutputWithContext(ctx context.Context) GetServerBackupScheduleBackupPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServerBackupScheduleBackupPropertiesOutput) } -type GetSecretsmanagerInstanceKmsKeyOutput struct{ *pulumi.OutputState } - -func (GetSecretsmanagerInstanceKmsKeyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecretsmanagerInstanceKmsKey)(nil)).Elem() -} +type GetServerBackupScheduleBackupPropertiesOutput struct{ *pulumi.OutputState } -func (o GetSecretsmanagerInstanceKmsKeyOutput) ToGetSecretsmanagerInstanceKmsKeyOutput() GetSecretsmanagerInstanceKmsKeyOutput { - return o +func (GetServerBackupScheduleBackupPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerBackupScheduleBackupProperties)(nil)).Elem() } -func (o GetSecretsmanagerInstanceKmsKeyOutput) ToGetSecretsmanagerInstanceKmsKeyOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceKmsKeyOutput { +func (o GetServerBackupScheduleBackupPropertiesOutput) ToGetServerBackupScheduleBackupPropertiesOutput() GetServerBackupScheduleBackupPropertiesOutput { return o } -// UUID of the key within the STACKIT-KMS to use for the encryption. -func (o GetSecretsmanagerInstanceKmsKeyOutput) KeyId() pulumi.StringOutput { - return o.ApplyT(func(v GetSecretsmanagerInstanceKmsKey) string { return v.KeyId }).(pulumi.StringOutput) +func (o GetServerBackupScheduleBackupPropertiesOutput) ToGetServerBackupScheduleBackupPropertiesOutputWithContext(ctx context.Context) GetServerBackupScheduleBackupPropertiesOutput { + return o } -// UUID of the keyring where the key is located within the STACKTI-KMS. -func (o GetSecretsmanagerInstanceKmsKeyOutput) KeyRingId() pulumi.StringOutput { - return o.ApplyT(func(v GetSecretsmanagerInstanceKmsKey) string { return v.KeyRingId }).(pulumi.StringOutput) +func (o GetServerBackupScheduleBackupPropertiesOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetServerBackupScheduleBackupProperties) string { return v.Name }).(pulumi.StringOutput) } -// Version of the key within the STACKIT-KMS to use for the encryption. -func (o GetSecretsmanagerInstanceKmsKeyOutput) KeyVersion() pulumi.IntOutput { - return o.ApplyT(func(v GetSecretsmanagerInstanceKmsKey) int { return v.KeyVersion }).(pulumi.IntOutput) +func (o GetServerBackupScheduleBackupPropertiesOutput) RetentionPeriod() pulumi.IntOutput { + return o.ApplyT(func(v GetServerBackupScheduleBackupProperties) int { return v.RetentionPeriod }).(pulumi.IntOutput) } -// Service-Account linked to the Key within the STACKIT-KMS. -func (o GetSecretsmanagerInstanceKmsKeyOutput) ServiceAccountEmail() pulumi.StringOutput { - return o.ApplyT(func(v GetSecretsmanagerInstanceKmsKey) string { return v.ServiceAccountEmail }).(pulumi.StringOutput) +func (o GetServerBackupScheduleBackupPropertiesOutput) VolumeIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetServerBackupScheduleBackupProperties) []string { return v.VolumeIds }).(pulumi.StringArrayOutput) } -type GetSecretsmanagerInstanceRoleBindingsV1RoleBinding struct { - // A valid role defined for the resource. - Role string `pulumi:"role"` - // Identifier of user, service account or client. Usually email address or name in case of clients. - Subject string `pulumi:"subject"` +type GetServerBackupSchedulesItem struct { + // Backup schedule details for the backups. + BackupProperties GetServerBackupSchedulesItemBackupProperties `pulumi:"backupProperties"` + BackupScheduleId int `pulumi:"backupScheduleId"` + // Is the backup schedule enabled or disabled. + Enabled bool `pulumi:"enabled"` + // The backup schedule name. + Name string `pulumi:"name"` + // An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. + Rrule string `pulumi:"rrule"` } -// GetSecretsmanagerInstanceRoleBindingsV1RoleBindingInput is an input type that accepts GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs and GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput values. -// You can construct a concrete instance of `GetSecretsmanagerInstanceRoleBindingsV1RoleBindingInput` via: +// GetServerBackupSchedulesItemInput is an input type that accepts GetServerBackupSchedulesItemArgs and GetServerBackupSchedulesItemOutput values. +// You can construct a concrete instance of `GetServerBackupSchedulesItemInput` via: // -// GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs{...} -type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingInput interface { +// GetServerBackupSchedulesItemArgs{...} +type GetServerBackupSchedulesItemInput interface { pulumi.Input - ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput - ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutputWithContext(context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput + ToGetServerBackupSchedulesItemOutput() GetServerBackupSchedulesItemOutput + ToGetServerBackupSchedulesItemOutputWithContext(context.Context) GetServerBackupSchedulesItemOutput } -type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs struct { - // A valid role defined for the resource. - Role pulumi.StringInput `pulumi:"role"` - // Identifier of user, service account or client. Usually email address or name in case of clients. - Subject pulumi.StringInput `pulumi:"subject"` +type GetServerBackupSchedulesItemArgs struct { + // Backup schedule details for the backups. + BackupProperties GetServerBackupSchedulesItemBackupPropertiesInput `pulumi:"backupProperties"` + BackupScheduleId pulumi.IntInput `pulumi:"backupScheduleId"` + // Is the backup schedule enabled or disabled. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // The backup schedule name. + Name pulumi.StringInput `pulumi:"name"` + // An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. + Rrule pulumi.StringInput `pulumi:"rrule"` } -func (GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)(nil)).Elem() +func (GetServerBackupSchedulesItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerBackupSchedulesItem)(nil)).Elem() } -func (i GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput { - return i.ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutputWithContext(context.Background()) +func (i GetServerBackupSchedulesItemArgs) ToGetServerBackupSchedulesItemOutput() GetServerBackupSchedulesItemOutput { + return i.ToGetServerBackupSchedulesItemOutputWithContext(context.Background()) } -func (i GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) +func (i GetServerBackupSchedulesItemArgs) ToGetServerBackupSchedulesItemOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServerBackupSchedulesItemOutput) } -// GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayInput is an input type that accepts GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray and GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput values. -// You can construct a concrete instance of `GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayInput` via: +// GetServerBackupSchedulesItemArrayInput is an input type that accepts GetServerBackupSchedulesItemArray and GetServerBackupSchedulesItemArrayOutput values. +// You can construct a concrete instance of `GetServerBackupSchedulesItemArrayInput` via: // -// GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray{ GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArgs{...} } -type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayInput interface { +// GetServerBackupSchedulesItemArray{ GetServerBackupSchedulesItemArgs{...} } +type GetServerBackupSchedulesItemArrayInput interface { pulumi.Input - ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput - ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutputWithContext(context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput + ToGetServerBackupSchedulesItemArrayOutput() GetServerBackupSchedulesItemArrayOutput + ToGetServerBackupSchedulesItemArrayOutputWithContext(context.Context) GetServerBackupSchedulesItemArrayOutput } -type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray []GetSecretsmanagerInstanceRoleBindingsV1RoleBindingInput +type GetServerBackupSchedulesItemArray []GetServerBackupSchedulesItemInput -func (GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)(nil)).Elem() +func (GetServerBackupSchedulesItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetServerBackupSchedulesItem)(nil)).Elem() } -func (i GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput { - return i.ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutputWithContext(context.Background()) +func (i GetServerBackupSchedulesItemArray) ToGetServerBackupSchedulesItemArrayOutput() GetServerBackupSchedulesItemArrayOutput { + return i.ToGetServerBackupSchedulesItemArrayOutputWithContext(context.Background()) } -func (i GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArray) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) +func (i GetServerBackupSchedulesItemArray) ToGetServerBackupSchedulesItemArrayOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServerBackupSchedulesItemArrayOutput) } -type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput struct{ *pulumi.OutputState } +type GetServerBackupSchedulesItemOutput struct{ *pulumi.OutputState } -func (GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)(nil)).Elem() +func (GetServerBackupSchedulesItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerBackupSchedulesItem)(nil)).Elem() } -func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput { +func (o GetServerBackupSchedulesItemOutput) ToGetServerBackupSchedulesItemOutput() GetServerBackupSchedulesItemOutput { return o } -func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput { +func (o GetServerBackupSchedulesItemOutput) ToGetServerBackupSchedulesItemOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemOutput { return o } -// A valid role defined for the resource. -func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) Role() pulumi.StringOutput { - return o.ApplyT(func(v GetSecretsmanagerInstanceRoleBindingsV1RoleBinding) string { return v.Role }).(pulumi.StringOutput) +// Backup schedule details for the backups. +func (o GetServerBackupSchedulesItemOutput) BackupProperties() GetServerBackupSchedulesItemBackupPropertiesOutput { + return o.ApplyT(func(v GetServerBackupSchedulesItem) GetServerBackupSchedulesItemBackupProperties { + return v.BackupProperties + }).(GetServerBackupSchedulesItemBackupPropertiesOutput) } -// Identifier of user, service account or client. Usually email address or name in case of clients. -func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) Subject() pulumi.StringOutput { - return o.ApplyT(func(v GetSecretsmanagerInstanceRoleBindingsV1RoleBinding) string { return v.Subject }).(pulumi.StringOutput) +func (o GetServerBackupSchedulesItemOutput) BackupScheduleId() pulumi.IntOutput { + return o.ApplyT(func(v GetServerBackupSchedulesItem) int { return v.BackupScheduleId }).(pulumi.IntOutput) } -type GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput struct{ *pulumi.OutputState } +// Is the backup schedule enabled or disabled. +func (o GetServerBackupSchedulesItemOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetServerBackupSchedulesItem) bool { return v.Enabled }).(pulumi.BoolOutput) +} -func (GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)(nil)).Elem() +// The backup schedule name. +func (o GetServerBackupSchedulesItemOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetServerBackupSchedulesItem) string { return v.Name }).(pulumi.StringOutput) } -func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput { +// An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. +func (o GetServerBackupSchedulesItemOutput) Rrule() pulumi.StringOutput { + return o.ApplyT(func(v GetServerBackupSchedulesItem) string { return v.Rrule }).(pulumi.StringOutput) +} + +type GetServerBackupSchedulesItemArrayOutput struct{ *pulumi.OutputState } + +func (GetServerBackupSchedulesItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetServerBackupSchedulesItem)(nil)).Elem() +} + +func (o GetServerBackupSchedulesItemArrayOutput) ToGetServerBackupSchedulesItemArrayOutput() GetServerBackupSchedulesItemArrayOutput { return o } -func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) ToGetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutputWithContext(ctx context.Context) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput { +func (o GetServerBackupSchedulesItemArrayOutput) ToGetServerBackupSchedulesItemArrayOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemArrayOutput { return o } -func (o GetSecretsmanagerInstanceRoleBindingsV1RoleBindingArrayOutput) Index(i pulumi.IntInput) GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSecretsmanagerInstanceRoleBindingsV1RoleBinding { - return vs[0].([]GetSecretsmanagerInstanceRoleBindingsV1RoleBinding)[vs[1].(int)] - }).(GetSecretsmanagerInstanceRoleBindingsV1RoleBindingOutput) +func (o GetServerBackupSchedulesItemArrayOutput) Index(i pulumi.IntInput) GetServerBackupSchedulesItemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetServerBackupSchedulesItem { + return vs[0].([]GetServerBackupSchedulesItem)[vs[1].(int)] + }).(GetServerBackupSchedulesItemOutput) } -type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding struct { - // A valid role defined for the resource. - Role string `pulumi:"role"` - // Identifier of user, service account or client. Usually email address or name in case of clients. - Subject string `pulumi:"subject"` +type GetServerBackupSchedulesItemBackupProperties struct { + Name string `pulumi:"name"` + RetentionPeriod int `pulumi:"retentionPeriod"` + VolumeIds []string `pulumi:"volumeIds"` } -// GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingInput is an input type that accepts GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs and GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput values. -// You can construct a concrete instance of `GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingInput` via: +// GetServerBackupSchedulesItemBackupPropertiesInput is an input type that accepts GetServerBackupSchedulesItemBackupPropertiesArgs and GetServerBackupSchedulesItemBackupPropertiesOutput values. +// You can construct a concrete instance of `GetServerBackupSchedulesItemBackupPropertiesInput` via: // -// GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs{...} -type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingInput interface { +// GetServerBackupSchedulesItemBackupPropertiesArgs{...} +type GetServerBackupSchedulesItemBackupPropertiesInput interface { pulumi.Input - ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput - ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutputWithContext(context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput + ToGetServerBackupSchedulesItemBackupPropertiesOutput() GetServerBackupSchedulesItemBackupPropertiesOutput + ToGetServerBackupSchedulesItemBackupPropertiesOutputWithContext(context.Context) GetServerBackupSchedulesItemBackupPropertiesOutput } -type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs struct { - // A valid role defined for the resource. - Role pulumi.StringInput `pulumi:"role"` - // Identifier of user, service account or client. Usually email address or name in case of clients. - Subject pulumi.StringInput `pulumi:"subject"` +type GetServerBackupSchedulesItemBackupPropertiesArgs struct { + Name pulumi.StringInput `pulumi:"name"` + RetentionPeriod pulumi.IntInput `pulumi:"retentionPeriod"` + VolumeIds pulumi.StringArrayInput `pulumi:"volumeIds"` } -func (GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)(nil)).Elem() +func (GetServerBackupSchedulesItemBackupPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerBackupSchedulesItemBackupProperties)(nil)).Elem() } -func (i GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput { - return i.ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutputWithContext(context.Background()) +func (i GetServerBackupSchedulesItemBackupPropertiesArgs) ToGetServerBackupSchedulesItemBackupPropertiesOutput() GetServerBackupSchedulesItemBackupPropertiesOutput { + return i.ToGetServerBackupSchedulesItemBackupPropertiesOutputWithContext(context.Background()) } -func (i GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutputWithContext(ctx context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) +func (i GetServerBackupSchedulesItemBackupPropertiesArgs) ToGetServerBackupSchedulesItemBackupPropertiesOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemBackupPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServerBackupSchedulesItemBackupPropertiesOutput) } -// GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayInput is an input type that accepts GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray and GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput values. -// You can construct a concrete instance of `GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayInput` via: +type GetServerBackupSchedulesItemBackupPropertiesOutput struct{ *pulumi.OutputState } + +func (GetServerBackupSchedulesItemBackupPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerBackupSchedulesItemBackupProperties)(nil)).Elem() +} + +func (o GetServerBackupSchedulesItemBackupPropertiesOutput) ToGetServerBackupSchedulesItemBackupPropertiesOutput() GetServerBackupSchedulesItemBackupPropertiesOutput { + return o +} + +func (o GetServerBackupSchedulesItemBackupPropertiesOutput) ToGetServerBackupSchedulesItemBackupPropertiesOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemBackupPropertiesOutput { + return o +} + +func (o GetServerBackupSchedulesItemBackupPropertiesOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetServerBackupSchedulesItemBackupProperties) string { return v.Name }).(pulumi.StringOutput) +} + +func (o GetServerBackupSchedulesItemBackupPropertiesOutput) RetentionPeriod() pulumi.IntOutput { + return o.ApplyT(func(v GetServerBackupSchedulesItemBackupProperties) int { return v.RetentionPeriod }).(pulumi.IntOutput) +} + +func (o GetServerBackupSchedulesItemBackupPropertiesOutput) VolumeIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetServerBackupSchedulesItemBackupProperties) []string { return v.VolumeIds }).(pulumi.StringArrayOutput) +} + +type GetServerBootVolume struct { + // Delete the volume during the termination of the server. + DeleteOnTermination bool `pulumi:"deleteOnTermination"` + // The ID of the boot volume + Id string `pulumi:"id"` +} + +// GetServerBootVolumeInput is an input type that accepts GetServerBootVolumeArgs and GetServerBootVolumeOutput values. +// You can construct a concrete instance of `GetServerBootVolumeInput` via: // -// GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray{ GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArgs{...} } -type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayInput interface { +// GetServerBootVolumeArgs{...} +type GetServerBootVolumeInput interface { pulumi.Input - ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput - ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutputWithContext(context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput + ToGetServerBootVolumeOutput() GetServerBootVolumeOutput + ToGetServerBootVolumeOutputWithContext(context.Context) GetServerBootVolumeOutput } -type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray []GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingInput +type GetServerBootVolumeArgs struct { + // Delete the volume during the termination of the server. + DeleteOnTermination pulumi.BoolInput `pulumi:"deleteOnTermination"` + // The ID of the boot volume + Id pulumi.StringInput `pulumi:"id"` +} -func (GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)(nil)).Elem() +func (GetServerBootVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerBootVolume)(nil)).Elem() } -func (i GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput { - return i.ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutputWithContext(context.Background()) +func (i GetServerBootVolumeArgs) ToGetServerBootVolumeOutput() GetServerBootVolumeOutput { + return i.ToGetServerBootVolumeOutputWithContext(context.Background()) } -func (i GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArray) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutputWithContext(ctx context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) +func (i GetServerBootVolumeArgs) ToGetServerBootVolumeOutputWithContext(ctx context.Context) GetServerBootVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServerBootVolumeOutput) } -type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput struct{ *pulumi.OutputState } +type GetServerBootVolumeOutput struct{ *pulumi.OutputState } -func (GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)(nil)).Elem() +func (GetServerBootVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerBootVolume)(nil)).Elem() } -func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput { +func (o GetServerBootVolumeOutput) ToGetServerBootVolumeOutput() GetServerBootVolumeOutput { return o } -func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutputWithContext(ctx context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput { +func (o GetServerBootVolumeOutput) ToGetServerBootVolumeOutputWithContext(ctx context.Context) GetServerBootVolumeOutput { return o } -// A valid role defined for the resource. -func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) Role() pulumi.StringOutput { - return o.ApplyT(func(v GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding) string { return v.Role }).(pulumi.StringOutput) +// Delete the volume during the termination of the server. +func (o GetServerBootVolumeOutput) DeleteOnTermination() pulumi.BoolOutput { + return o.ApplyT(func(v GetServerBootVolume) bool { return v.DeleteOnTermination }).(pulumi.BoolOutput) } -// Identifier of user, service account or client. Usually email address or name in case of clients. -func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) Subject() pulumi.StringOutput { - return o.ApplyT(func(v GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding) string { return v.Subject }).(pulumi.StringOutput) +// The ID of the boot volume +func (o GetServerBootVolumeOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetServerBootVolume) string { return v.Id }).(pulumi.StringOutput) } -type GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput struct{ *pulumi.OutputState } +type GetServerUpdateSchedulesItem struct { + // Is the update schedule enabled or disabled. + Enabled bool `pulumi:"enabled"` + // Maintenance window [1..24]. Updates start within the defined hourly window. Depending on the updates, the process may exceed this timeframe and require an automatic restart. + MaintenanceWindow int `pulumi:"maintenanceWindow"` + // The update schedule name. + Name string `pulumi:"name"` + // An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. + Rrule string `pulumi:"rrule"` + UpdateScheduleId int `pulumi:"updateScheduleId"` +} -func (GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)(nil)).Elem() +// GetServerUpdateSchedulesItemInput is an input type that accepts GetServerUpdateSchedulesItemArgs and GetServerUpdateSchedulesItemOutput values. +// You can construct a concrete instance of `GetServerUpdateSchedulesItemInput` via: +// +// GetServerUpdateSchedulesItemArgs{...} +type GetServerUpdateSchedulesItemInput interface { + pulumi.Input + + ToGetServerUpdateSchedulesItemOutput() GetServerUpdateSchedulesItemOutput + ToGetServerUpdateSchedulesItemOutputWithContext(context.Context) GetServerUpdateSchedulesItemOutput } -func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput() GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput { - return o +type GetServerUpdateSchedulesItemArgs struct { + // Is the update schedule enabled or disabled. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // Maintenance window [1..24]. Updates start within the defined hourly window. Depending on the updates, the process may exceed this timeframe and require an automatic restart. + MaintenanceWindow pulumi.IntInput `pulumi:"maintenanceWindow"` + // The update schedule name. + Name pulumi.StringInput `pulumi:"name"` + // An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. + Rrule pulumi.StringInput `pulumi:"rrule"` + UpdateScheduleId pulumi.IntInput `pulumi:"updateScheduleId"` } -func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) ToGetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutputWithContext(ctx context.Context) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput { - return o +func (GetServerUpdateSchedulesItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerUpdateSchedulesItem)(nil)).Elem() } -func (o GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingArrayOutput) Index(i pulumi.IntInput) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding { - return vs[0].([]GetSecretsmanagerSecretGroupRoleBindingsV1RoleBinding)[vs[1].(int)] - }).(GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingOutput) +func (i GetServerUpdateSchedulesItemArgs) ToGetServerUpdateSchedulesItemOutput() GetServerUpdateSchedulesItemOutput { + return i.ToGetServerUpdateSchedulesItemOutputWithContext(context.Background()) } -type GetSecurityGroupRuleIcmpParameters struct { - // ICMP code. Can be set if the protocol is ICMP. - Code int `pulumi:"code"` - // ICMP type. Can be set if the protocol is ICMP. - Type int `pulumi:"type"` +func (i GetServerUpdateSchedulesItemArgs) ToGetServerUpdateSchedulesItemOutputWithContext(ctx context.Context) GetServerUpdateSchedulesItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServerUpdateSchedulesItemOutput) } -// GetSecurityGroupRuleIcmpParametersInput is an input type that accepts GetSecurityGroupRuleIcmpParametersArgs and GetSecurityGroupRuleIcmpParametersOutput values. -// You can construct a concrete instance of `GetSecurityGroupRuleIcmpParametersInput` via: +// GetServerUpdateSchedulesItemArrayInput is an input type that accepts GetServerUpdateSchedulesItemArray and GetServerUpdateSchedulesItemArrayOutput values. +// You can construct a concrete instance of `GetServerUpdateSchedulesItemArrayInput` via: // -// GetSecurityGroupRuleIcmpParametersArgs{...} -type GetSecurityGroupRuleIcmpParametersInput interface { +// GetServerUpdateSchedulesItemArray{ GetServerUpdateSchedulesItemArgs{...} } +type GetServerUpdateSchedulesItemArrayInput interface { pulumi.Input - ToGetSecurityGroupRuleIcmpParametersOutput() GetSecurityGroupRuleIcmpParametersOutput - ToGetSecurityGroupRuleIcmpParametersOutputWithContext(context.Context) GetSecurityGroupRuleIcmpParametersOutput + ToGetServerUpdateSchedulesItemArrayOutput() GetServerUpdateSchedulesItemArrayOutput + ToGetServerUpdateSchedulesItemArrayOutputWithContext(context.Context) GetServerUpdateSchedulesItemArrayOutput } -type GetSecurityGroupRuleIcmpParametersArgs struct { - // ICMP code. Can be set if the protocol is ICMP. - Code pulumi.IntInput `pulumi:"code"` - // ICMP type. Can be set if the protocol is ICMP. - Type pulumi.IntInput `pulumi:"type"` -} +type GetServerUpdateSchedulesItemArray []GetServerUpdateSchedulesItemInput -func (GetSecurityGroupRuleIcmpParametersArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecurityGroupRuleIcmpParameters)(nil)).Elem() +func (GetServerUpdateSchedulesItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetServerUpdateSchedulesItem)(nil)).Elem() } -func (i GetSecurityGroupRuleIcmpParametersArgs) ToGetSecurityGroupRuleIcmpParametersOutput() GetSecurityGroupRuleIcmpParametersOutput { - return i.ToGetSecurityGroupRuleIcmpParametersOutputWithContext(context.Background()) +func (i GetServerUpdateSchedulesItemArray) ToGetServerUpdateSchedulesItemArrayOutput() GetServerUpdateSchedulesItemArrayOutput { + return i.ToGetServerUpdateSchedulesItemArrayOutputWithContext(context.Background()) } -func (i GetSecurityGroupRuleIcmpParametersArgs) ToGetSecurityGroupRuleIcmpParametersOutputWithContext(ctx context.Context) GetSecurityGroupRuleIcmpParametersOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSecurityGroupRuleIcmpParametersOutput) +func (i GetServerUpdateSchedulesItemArray) ToGetServerUpdateSchedulesItemArrayOutputWithContext(ctx context.Context) GetServerUpdateSchedulesItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServerUpdateSchedulesItemArrayOutput) } -type GetSecurityGroupRuleIcmpParametersOutput struct{ *pulumi.OutputState } +type GetServerUpdateSchedulesItemOutput struct{ *pulumi.OutputState } -func (GetSecurityGroupRuleIcmpParametersOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecurityGroupRuleIcmpParameters)(nil)).Elem() +func (GetServerUpdateSchedulesItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetServerUpdateSchedulesItem)(nil)).Elem() } -func (o GetSecurityGroupRuleIcmpParametersOutput) ToGetSecurityGroupRuleIcmpParametersOutput() GetSecurityGroupRuleIcmpParametersOutput { +func (o GetServerUpdateSchedulesItemOutput) ToGetServerUpdateSchedulesItemOutput() GetServerUpdateSchedulesItemOutput { return o } -func (o GetSecurityGroupRuleIcmpParametersOutput) ToGetSecurityGroupRuleIcmpParametersOutputWithContext(ctx context.Context) GetSecurityGroupRuleIcmpParametersOutput { +func (o GetServerUpdateSchedulesItemOutput) ToGetServerUpdateSchedulesItemOutputWithContext(ctx context.Context) GetServerUpdateSchedulesItemOutput { return o } -// ICMP code. Can be set if the protocol is ICMP. -func (o GetSecurityGroupRuleIcmpParametersOutput) Code() pulumi.IntOutput { - return o.ApplyT(func(v GetSecurityGroupRuleIcmpParameters) int { return v.Code }).(pulumi.IntOutput) +// Is the update schedule enabled or disabled. +func (o GetServerUpdateSchedulesItemOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetServerUpdateSchedulesItem) bool { return v.Enabled }).(pulumi.BoolOutput) } -// ICMP type. Can be set if the protocol is ICMP. -func (o GetSecurityGroupRuleIcmpParametersOutput) Type() pulumi.IntOutput { - return o.ApplyT(func(v GetSecurityGroupRuleIcmpParameters) int { return v.Type }).(pulumi.IntOutput) +// Maintenance window [1..24]. Updates start within the defined hourly window. Depending on the updates, the process may exceed this timeframe and require an automatic restart. +func (o GetServerUpdateSchedulesItemOutput) MaintenanceWindow() pulumi.IntOutput { + return o.ApplyT(func(v GetServerUpdateSchedulesItem) int { return v.MaintenanceWindow }).(pulumi.IntOutput) } -type GetSecurityGroupRulePortRange struct { - // The maximum port number. Should be greater or equal to the minimum. - Max int `pulumi:"max"` - // The minimum port number. Should be less or equal to the minimum. - Min int `pulumi:"min"` +// The update schedule name. +func (o GetServerUpdateSchedulesItemOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetServerUpdateSchedulesItem) string { return v.Name }).(pulumi.StringOutput) } -// GetSecurityGroupRulePortRangeInput is an input type that accepts GetSecurityGroupRulePortRangeArgs and GetSecurityGroupRulePortRangeOutput values. -// You can construct a concrete instance of `GetSecurityGroupRulePortRangeInput` via: -// -// GetSecurityGroupRulePortRangeArgs{...} -type GetSecurityGroupRulePortRangeInput interface { - pulumi.Input - - ToGetSecurityGroupRulePortRangeOutput() GetSecurityGroupRulePortRangeOutput - ToGetSecurityGroupRulePortRangeOutputWithContext(context.Context) GetSecurityGroupRulePortRangeOutput +// An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. +func (o GetServerUpdateSchedulesItemOutput) Rrule() pulumi.StringOutput { + return o.ApplyT(func(v GetServerUpdateSchedulesItem) string { return v.Rrule }).(pulumi.StringOutput) } -type GetSecurityGroupRulePortRangeArgs struct { - // The maximum port number. Should be greater or equal to the minimum. - Max pulumi.IntInput `pulumi:"max"` - // The minimum port number. Should be less or equal to the minimum. - Min pulumi.IntInput `pulumi:"min"` +func (o GetServerUpdateSchedulesItemOutput) UpdateScheduleId() pulumi.IntOutput { + return o.ApplyT(func(v GetServerUpdateSchedulesItem) int { return v.UpdateScheduleId }).(pulumi.IntOutput) } -func (GetSecurityGroupRulePortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecurityGroupRulePortRange)(nil)).Elem() +type GetServerUpdateSchedulesItemArrayOutput struct{ *pulumi.OutputState } + +func (GetServerUpdateSchedulesItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetServerUpdateSchedulesItem)(nil)).Elem() } -func (i GetSecurityGroupRulePortRangeArgs) ToGetSecurityGroupRulePortRangeOutput() GetSecurityGroupRulePortRangeOutput { - return i.ToGetSecurityGroupRulePortRangeOutputWithContext(context.Background()) +func (o GetServerUpdateSchedulesItemArrayOutput) ToGetServerUpdateSchedulesItemArrayOutput() GetServerUpdateSchedulesItemArrayOutput { + return o } -func (i GetSecurityGroupRulePortRangeArgs) ToGetSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) GetSecurityGroupRulePortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSecurityGroupRulePortRangeOutput) +func (o GetServerUpdateSchedulesItemArrayOutput) ToGetServerUpdateSchedulesItemArrayOutputWithContext(ctx context.Context) GetServerUpdateSchedulesItemArrayOutput { + return o } -type GetSecurityGroupRulePortRangeOutput struct{ *pulumi.OutputState } +func (o GetServerUpdateSchedulesItemArrayOutput) Index(i pulumi.IntInput) GetServerUpdateSchedulesItemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetServerUpdateSchedulesItem { + return vs[0].([]GetServerUpdateSchedulesItem)[vs[1].(int)] + }).(GetServerUpdateSchedulesItemOutput) +} -func (GetSecurityGroupRulePortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecurityGroupRulePortRange)(nil)).Elem() +type GetServiceAccountFederatedIdentityProviderAssertion struct { + // The assertion claim. At least one assertion with the claim "aud" is required for security reasons. + Item string `pulumi:"item"` + // The assertion operator. Currently, the only supported operator is "equals". + Operator string `pulumi:"operator"` + // The assertion value. + Value string `pulumi:"value"` } -func (o GetSecurityGroupRulePortRangeOutput) ToGetSecurityGroupRulePortRangeOutput() GetSecurityGroupRulePortRangeOutput { - return o +// GetServiceAccountFederatedIdentityProviderAssertionInput is an input type that accepts GetServiceAccountFederatedIdentityProviderAssertionArgs and GetServiceAccountFederatedIdentityProviderAssertionOutput values. +// You can construct a concrete instance of `GetServiceAccountFederatedIdentityProviderAssertionInput` via: +// +// GetServiceAccountFederatedIdentityProviderAssertionArgs{...} +type GetServiceAccountFederatedIdentityProviderAssertionInput interface { + pulumi.Input + + ToGetServiceAccountFederatedIdentityProviderAssertionOutput() GetServiceAccountFederatedIdentityProviderAssertionOutput + ToGetServiceAccountFederatedIdentityProviderAssertionOutputWithContext(context.Context) GetServiceAccountFederatedIdentityProviderAssertionOutput } -func (o GetSecurityGroupRulePortRangeOutput) ToGetSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) GetSecurityGroupRulePortRangeOutput { - return o +type GetServiceAccountFederatedIdentityProviderAssertionArgs struct { + // The assertion claim. At least one assertion with the claim "aud" is required for security reasons. + Item pulumi.StringInput `pulumi:"item"` + // The assertion operator. Currently, the only supported operator is "equals". + Operator pulumi.StringInput `pulumi:"operator"` + // The assertion value. + Value pulumi.StringInput `pulumi:"value"` } -// The maximum port number. Should be greater or equal to the minimum. -func (o GetSecurityGroupRulePortRangeOutput) Max() pulumi.IntOutput { - return o.ApplyT(func(v GetSecurityGroupRulePortRange) int { return v.Max }).(pulumi.IntOutput) +func (GetServiceAccountFederatedIdentityProviderAssertionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() } -// The minimum port number. Should be less or equal to the minimum. -func (o GetSecurityGroupRulePortRangeOutput) Min() pulumi.IntOutput { - return o.ApplyT(func(v GetSecurityGroupRulePortRange) int { return v.Min }).(pulumi.IntOutput) +func (i GetServiceAccountFederatedIdentityProviderAssertionArgs) ToGetServiceAccountFederatedIdentityProviderAssertionOutput() GetServiceAccountFederatedIdentityProviderAssertionOutput { + return i.ToGetServiceAccountFederatedIdentityProviderAssertionOutputWithContext(context.Background()) } -type GetSecurityGroupRuleProtocol struct { - // The protocol name which the rule should match. - Name string `pulumi:"name"` - // The protocol number which the rule should match. - Number int `pulumi:"number"` +func (i GetServiceAccountFederatedIdentityProviderAssertionArgs) ToGetServiceAccountFederatedIdentityProviderAssertionOutputWithContext(ctx context.Context) GetServiceAccountFederatedIdentityProviderAssertionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServiceAccountFederatedIdentityProviderAssertionOutput) } -// GetSecurityGroupRuleProtocolInput is an input type that accepts GetSecurityGroupRuleProtocolArgs and GetSecurityGroupRuleProtocolOutput values. -// You can construct a concrete instance of `GetSecurityGroupRuleProtocolInput` via: +// GetServiceAccountFederatedIdentityProviderAssertionArrayInput is an input type that accepts GetServiceAccountFederatedIdentityProviderAssertionArray and GetServiceAccountFederatedIdentityProviderAssertionArrayOutput values. +// You can construct a concrete instance of `GetServiceAccountFederatedIdentityProviderAssertionArrayInput` via: // -// GetSecurityGroupRuleProtocolArgs{...} -type GetSecurityGroupRuleProtocolInput interface { +// GetServiceAccountFederatedIdentityProviderAssertionArray{ GetServiceAccountFederatedIdentityProviderAssertionArgs{...} } +type GetServiceAccountFederatedIdentityProviderAssertionArrayInput interface { pulumi.Input - ToGetSecurityGroupRuleProtocolOutput() GetSecurityGroupRuleProtocolOutput - ToGetSecurityGroupRuleProtocolOutputWithContext(context.Context) GetSecurityGroupRuleProtocolOutput + ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutput() GetServiceAccountFederatedIdentityProviderAssertionArrayOutput + ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(context.Context) GetServiceAccountFederatedIdentityProviderAssertionArrayOutput } -type GetSecurityGroupRuleProtocolArgs struct { - // The protocol name which the rule should match. - Name pulumi.StringInput `pulumi:"name"` - // The protocol number which the rule should match. - Number pulumi.IntInput `pulumi:"number"` -} +type GetServiceAccountFederatedIdentityProviderAssertionArray []GetServiceAccountFederatedIdentityProviderAssertionInput -func (GetSecurityGroupRuleProtocolArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecurityGroupRuleProtocol)(nil)).Elem() +func (GetServiceAccountFederatedIdentityProviderAssertionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() } -func (i GetSecurityGroupRuleProtocolArgs) ToGetSecurityGroupRuleProtocolOutput() GetSecurityGroupRuleProtocolOutput { - return i.ToGetSecurityGroupRuleProtocolOutputWithContext(context.Background()) +func (i GetServiceAccountFederatedIdentityProviderAssertionArray) ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutput() GetServiceAccountFederatedIdentityProviderAssertionArrayOutput { + return i.ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(context.Background()) } -func (i GetSecurityGroupRuleProtocolArgs) ToGetSecurityGroupRuleProtocolOutputWithContext(ctx context.Context) GetSecurityGroupRuleProtocolOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSecurityGroupRuleProtocolOutput) +func (i GetServiceAccountFederatedIdentityProviderAssertionArray) ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(ctx context.Context) GetServiceAccountFederatedIdentityProviderAssertionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) } -type GetSecurityGroupRuleProtocolOutput struct{ *pulumi.OutputState } +type GetServiceAccountFederatedIdentityProviderAssertionOutput struct{ *pulumi.OutputState } -func (GetSecurityGroupRuleProtocolOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSecurityGroupRuleProtocol)(nil)).Elem() +func (GetServiceAccountFederatedIdentityProviderAssertionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() } -func (o GetSecurityGroupRuleProtocolOutput) ToGetSecurityGroupRuleProtocolOutput() GetSecurityGroupRuleProtocolOutput { +func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) ToGetServiceAccountFederatedIdentityProviderAssertionOutput() GetServiceAccountFederatedIdentityProviderAssertionOutput { return o } -func (o GetSecurityGroupRuleProtocolOutput) ToGetSecurityGroupRuleProtocolOutputWithContext(ctx context.Context) GetSecurityGroupRuleProtocolOutput { +func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) ToGetServiceAccountFederatedIdentityProviderAssertionOutputWithContext(ctx context.Context) GetServiceAccountFederatedIdentityProviderAssertionOutput { return o } -// The protocol name which the rule should match. -func (o GetSecurityGroupRuleProtocolOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetSecurityGroupRuleProtocol) string { return v.Name }).(pulumi.StringOutput) +// The assertion claim. At least one assertion with the claim "aud" is required for security reasons. +func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) Item() pulumi.StringOutput { + return o.ApplyT(func(v GetServiceAccountFederatedIdentityProviderAssertion) string { return v.Item }).(pulumi.StringOutput) } -// The protocol number which the rule should match. -func (o GetSecurityGroupRuleProtocolOutput) Number() pulumi.IntOutput { - return o.ApplyT(func(v GetSecurityGroupRuleProtocol) int { return v.Number }).(pulumi.IntOutput) +// The assertion operator. Currently, the only supported operator is "equals". +func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v GetServiceAccountFederatedIdentityProviderAssertion) string { return v.Operator }).(pulumi.StringOutput) } -type GetServerAgent struct { - // Whether a STACKIT Server Agent is provisioned at the server - Provisioned bool `pulumi:"provisioned"` +// The assertion value. +func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetServiceAccountFederatedIdentityProviderAssertion) string { return v.Value }).(pulumi.StringOutput) } -// GetServerAgentInput is an input type that accepts GetServerAgentArgs and GetServerAgentOutput values. -// You can construct a concrete instance of `GetServerAgentInput` via: -// -// GetServerAgentArgs{...} -type GetServerAgentInput interface { - pulumi.Input +type GetServiceAccountFederatedIdentityProviderAssertionArrayOutput struct{ *pulumi.OutputState } - ToGetServerAgentOutput() GetServerAgentOutput - ToGetServerAgentOutputWithContext(context.Context) GetServerAgentOutput +func (GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() } -type GetServerAgentArgs struct { - // Whether a STACKIT Server Agent is provisioned at the server - Provisioned pulumi.BoolInput `pulumi:"provisioned"` +func (o GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutput() GetServiceAccountFederatedIdentityProviderAssertionArrayOutput { + return o } -func (GetServerAgentArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerAgent)(nil)).Elem() +func (o GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(ctx context.Context) GetServiceAccountFederatedIdentityProviderAssertionArrayOutput { + return o } -func (i GetServerAgentArgs) ToGetServerAgentOutput() GetServerAgentOutput { - return i.ToGetServerAgentOutputWithContext(context.Background()) +func (o GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) Index(i pulumi.IntInput) GetServiceAccountFederatedIdentityProviderAssertionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetServiceAccountFederatedIdentityProviderAssertion { + return vs[0].([]GetServiceAccountFederatedIdentityProviderAssertion)[vs[1].(int)] + }).(GetServiceAccountFederatedIdentityProviderAssertionOutput) } -func (i GetServerAgentArgs) ToGetServerAgentOutputWithContext(ctx context.Context) GetServerAgentOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServerAgentOutput) +type GetServiceAccountsItem struct { + // Email of the service account. + Email string `pulumi:"email"` + // Name of the service account. + Name string `pulumi:"name"` + // The internal UUID of the service account. + ServiceAccountId string `pulumi:"serviceAccountId"` } -type GetServerAgentOutput struct{ *pulumi.OutputState } +// GetServiceAccountsItemInput is an input type that accepts GetServiceAccountsItemArgs and GetServiceAccountsItemOutput values. +// You can construct a concrete instance of `GetServiceAccountsItemInput` via: +// +// GetServiceAccountsItemArgs{...} +type GetServiceAccountsItemInput interface { + pulumi.Input -func (GetServerAgentOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerAgent)(nil)).Elem() + ToGetServiceAccountsItemOutput() GetServiceAccountsItemOutput + ToGetServiceAccountsItemOutputWithContext(context.Context) GetServiceAccountsItemOutput } -func (o GetServerAgentOutput) ToGetServerAgentOutput() GetServerAgentOutput { - return o +type GetServiceAccountsItemArgs struct { + // Email of the service account. + Email pulumi.StringInput `pulumi:"email"` + // Name of the service account. + Name pulumi.StringInput `pulumi:"name"` + // The internal UUID of the service account. + ServiceAccountId pulumi.StringInput `pulumi:"serviceAccountId"` } -func (o GetServerAgentOutput) ToGetServerAgentOutputWithContext(ctx context.Context) GetServerAgentOutput { - return o +func (GetServiceAccountsItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetServiceAccountsItem)(nil)).Elem() } -// Whether a STACKIT Server Agent is provisioned at the server -func (o GetServerAgentOutput) Provisioned() pulumi.BoolOutput { - return o.ApplyT(func(v GetServerAgent) bool { return v.Provisioned }).(pulumi.BoolOutput) +func (i GetServiceAccountsItemArgs) ToGetServiceAccountsItemOutput() GetServiceAccountsItemOutput { + return i.ToGetServiceAccountsItemOutputWithContext(context.Background()) } -type GetServerBackupScheduleBackupProperties struct { - Name string `pulumi:"name"` - RetentionPeriod int `pulumi:"retentionPeriod"` - VolumeIds []string `pulumi:"volumeIds"` +func (i GetServiceAccountsItemArgs) ToGetServiceAccountsItemOutputWithContext(ctx context.Context) GetServiceAccountsItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServiceAccountsItemOutput) } -// GetServerBackupScheduleBackupPropertiesInput is an input type that accepts GetServerBackupScheduleBackupPropertiesArgs and GetServerBackupScheduleBackupPropertiesOutput values. -// You can construct a concrete instance of `GetServerBackupScheduleBackupPropertiesInput` via: +// GetServiceAccountsItemArrayInput is an input type that accepts GetServiceAccountsItemArray and GetServiceAccountsItemArrayOutput values. +// You can construct a concrete instance of `GetServiceAccountsItemArrayInput` via: // -// GetServerBackupScheduleBackupPropertiesArgs{...} -type GetServerBackupScheduleBackupPropertiesInput interface { +// GetServiceAccountsItemArray{ GetServiceAccountsItemArgs{...} } +type GetServiceAccountsItemArrayInput interface { pulumi.Input - ToGetServerBackupScheduleBackupPropertiesOutput() GetServerBackupScheduleBackupPropertiesOutput - ToGetServerBackupScheduleBackupPropertiesOutputWithContext(context.Context) GetServerBackupScheduleBackupPropertiesOutput + ToGetServiceAccountsItemArrayOutput() GetServiceAccountsItemArrayOutput + ToGetServiceAccountsItemArrayOutputWithContext(context.Context) GetServiceAccountsItemArrayOutput } -type GetServerBackupScheduleBackupPropertiesArgs struct { - Name pulumi.StringInput `pulumi:"name"` - RetentionPeriod pulumi.IntInput `pulumi:"retentionPeriod"` - VolumeIds pulumi.StringArrayInput `pulumi:"volumeIds"` -} +type GetServiceAccountsItemArray []GetServiceAccountsItemInput -func (GetServerBackupScheduleBackupPropertiesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerBackupScheduleBackupProperties)(nil)).Elem() +func (GetServiceAccountsItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetServiceAccountsItem)(nil)).Elem() } -func (i GetServerBackupScheduleBackupPropertiesArgs) ToGetServerBackupScheduleBackupPropertiesOutput() GetServerBackupScheduleBackupPropertiesOutput { - return i.ToGetServerBackupScheduleBackupPropertiesOutputWithContext(context.Background()) +func (i GetServiceAccountsItemArray) ToGetServiceAccountsItemArrayOutput() GetServiceAccountsItemArrayOutput { + return i.ToGetServiceAccountsItemArrayOutputWithContext(context.Background()) } -func (i GetServerBackupScheduleBackupPropertiesArgs) ToGetServerBackupScheduleBackupPropertiesOutputWithContext(ctx context.Context) GetServerBackupScheduleBackupPropertiesOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServerBackupScheduleBackupPropertiesOutput) +func (i GetServiceAccountsItemArray) ToGetServiceAccountsItemArrayOutputWithContext(ctx context.Context) GetServiceAccountsItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServiceAccountsItemArrayOutput) } -type GetServerBackupScheduleBackupPropertiesOutput struct{ *pulumi.OutputState } +type GetServiceAccountsItemOutput struct{ *pulumi.OutputState } -func (GetServerBackupScheduleBackupPropertiesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerBackupScheduleBackupProperties)(nil)).Elem() +func (GetServiceAccountsItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetServiceAccountsItem)(nil)).Elem() } -func (o GetServerBackupScheduleBackupPropertiesOutput) ToGetServerBackupScheduleBackupPropertiesOutput() GetServerBackupScheduleBackupPropertiesOutput { +func (o GetServiceAccountsItemOutput) ToGetServiceAccountsItemOutput() GetServiceAccountsItemOutput { return o } -func (o GetServerBackupScheduleBackupPropertiesOutput) ToGetServerBackupScheduleBackupPropertiesOutputWithContext(ctx context.Context) GetServerBackupScheduleBackupPropertiesOutput { +func (o GetServiceAccountsItemOutput) ToGetServiceAccountsItemOutputWithContext(ctx context.Context) GetServiceAccountsItemOutput { return o } -func (o GetServerBackupScheduleBackupPropertiesOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetServerBackupScheduleBackupProperties) string { return v.Name }).(pulumi.StringOutput) -} - -func (o GetServerBackupScheduleBackupPropertiesOutput) RetentionPeriod() pulumi.IntOutput { - return o.ApplyT(func(v GetServerBackupScheduleBackupProperties) int { return v.RetentionPeriod }).(pulumi.IntOutput) +// Email of the service account. +func (o GetServiceAccountsItemOutput) Email() pulumi.StringOutput { + return o.ApplyT(func(v GetServiceAccountsItem) string { return v.Email }).(pulumi.StringOutput) } -func (o GetServerBackupScheduleBackupPropertiesOutput) VolumeIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetServerBackupScheduleBackupProperties) []string { return v.VolumeIds }).(pulumi.StringArrayOutput) +// Name of the service account. +func (o GetServiceAccountsItemOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetServiceAccountsItem) string { return v.Name }).(pulumi.StringOutput) } -type GetServerBackupSchedulesItem struct { - // Backup schedule details for the backups. - BackupProperties GetServerBackupSchedulesItemBackupProperties `pulumi:"backupProperties"` - BackupScheduleId int `pulumi:"backupScheduleId"` - // Is the backup schedule enabled or disabled. - Enabled bool `pulumi:"enabled"` - // The backup schedule name. - Name string `pulumi:"name"` - // An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. - Rrule string `pulumi:"rrule"` +// The internal UUID of the service account. +func (o GetServiceAccountsItemOutput) ServiceAccountId() pulumi.StringOutput { + return o.ApplyT(func(v GetServiceAccountsItem) string { return v.ServiceAccountId }).(pulumi.StringOutput) } -// GetServerBackupSchedulesItemInput is an input type that accepts GetServerBackupSchedulesItemArgs and GetServerBackupSchedulesItemOutput values. -// You can construct a concrete instance of `GetServerBackupSchedulesItemInput` via: -// -// GetServerBackupSchedulesItemArgs{...} -type GetServerBackupSchedulesItemInput interface { - pulumi.Input +type GetServiceAccountsItemArrayOutput struct{ *pulumi.OutputState } - ToGetServerBackupSchedulesItemOutput() GetServerBackupSchedulesItemOutput - ToGetServerBackupSchedulesItemOutputWithContext(context.Context) GetServerBackupSchedulesItemOutput +func (GetServiceAccountsItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetServiceAccountsItem)(nil)).Elem() } -type GetServerBackupSchedulesItemArgs struct { - // Backup schedule details for the backups. - BackupProperties GetServerBackupSchedulesItemBackupPropertiesInput `pulumi:"backupProperties"` - BackupScheduleId pulumi.IntInput `pulumi:"backupScheduleId"` - // Is the backup schedule enabled or disabled. - Enabled pulumi.BoolInput `pulumi:"enabled"` - // The backup schedule name. - Name pulumi.StringInput `pulumi:"name"` - // An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. - Rrule pulumi.StringInput `pulumi:"rrule"` +func (o GetServiceAccountsItemArrayOutput) ToGetServiceAccountsItemArrayOutput() GetServiceAccountsItemArrayOutput { + return o } -func (GetServerBackupSchedulesItemArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerBackupSchedulesItem)(nil)).Elem() +func (o GetServiceAccountsItemArrayOutput) ToGetServiceAccountsItemArrayOutputWithContext(ctx context.Context) GetServiceAccountsItemArrayOutput { + return o } -func (i GetServerBackupSchedulesItemArgs) ToGetServerBackupSchedulesItemOutput() GetServerBackupSchedulesItemOutput { - return i.ToGetServerBackupSchedulesItemOutputWithContext(context.Background()) +func (o GetServiceAccountsItemArrayOutput) Index(i pulumi.IntInput) GetServiceAccountsItemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetServiceAccountsItem { + return vs[0].([]GetServiceAccountsItem)[vs[1].(int)] + }).(GetServiceAccountsItemOutput) } -func (i GetServerBackupSchedulesItemArgs) ToGetServerBackupSchedulesItemOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServerBackupSchedulesItemOutput) +type GetSfsExportPolicyRule struct { + // Description of the Rule + Description *string `pulumi:"description"` + // IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + IpAcls []string `pulumi:"ipAcls"` + // Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + Order int `pulumi:"order"` + // Flag to indicate if client IPs matching this rule can only mount the share in read only mode + ReadOnly bool `pulumi:"readOnly"` + // Flag to honor set UUID + SetUuid bool `pulumi:"setUuid"` + // Flag to indicate if client IPs matching this rule have root access on the Share + SuperUser bool `pulumi:"superUser"` } -// GetServerBackupSchedulesItemArrayInput is an input type that accepts GetServerBackupSchedulesItemArray and GetServerBackupSchedulesItemArrayOutput values. -// You can construct a concrete instance of `GetServerBackupSchedulesItemArrayInput` via: +// GetSfsExportPolicyRuleInput is an input type that accepts GetSfsExportPolicyRuleArgs and GetSfsExportPolicyRuleOutput values. +// You can construct a concrete instance of `GetSfsExportPolicyRuleInput` via: // -// GetServerBackupSchedulesItemArray{ GetServerBackupSchedulesItemArgs{...} } -type GetServerBackupSchedulesItemArrayInput interface { +// GetSfsExportPolicyRuleArgs{...} +type GetSfsExportPolicyRuleInput interface { pulumi.Input - ToGetServerBackupSchedulesItemArrayOutput() GetServerBackupSchedulesItemArrayOutput - ToGetServerBackupSchedulesItemArrayOutputWithContext(context.Context) GetServerBackupSchedulesItemArrayOutput -} - -type GetServerBackupSchedulesItemArray []GetServerBackupSchedulesItemInput - -func (GetServerBackupSchedulesItemArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetServerBackupSchedulesItem)(nil)).Elem() -} - -func (i GetServerBackupSchedulesItemArray) ToGetServerBackupSchedulesItemArrayOutput() GetServerBackupSchedulesItemArrayOutput { - return i.ToGetServerBackupSchedulesItemArrayOutputWithContext(context.Background()) -} - -func (i GetServerBackupSchedulesItemArray) ToGetServerBackupSchedulesItemArrayOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServerBackupSchedulesItemArrayOutput) + ToGetSfsExportPolicyRuleOutput() GetSfsExportPolicyRuleOutput + ToGetSfsExportPolicyRuleOutputWithContext(context.Context) GetSfsExportPolicyRuleOutput } -type GetServerBackupSchedulesItemOutput struct{ *pulumi.OutputState } - -func (GetServerBackupSchedulesItemOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerBackupSchedulesItem)(nil)).Elem() +type GetSfsExportPolicyRuleArgs struct { + // Description of the Rule + Description pulumi.StringPtrInput `pulumi:"description"` + // IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + IpAcls pulumi.StringArrayInput `pulumi:"ipAcls"` + // Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + Order pulumi.IntInput `pulumi:"order"` + // Flag to indicate if client IPs matching this rule can only mount the share in read only mode + ReadOnly pulumi.BoolInput `pulumi:"readOnly"` + // Flag to honor set UUID + SetUuid pulumi.BoolInput `pulumi:"setUuid"` + // Flag to indicate if client IPs matching this rule have root access on the Share + SuperUser pulumi.BoolInput `pulumi:"superUser"` } -func (o GetServerBackupSchedulesItemOutput) ToGetServerBackupSchedulesItemOutput() GetServerBackupSchedulesItemOutput { - return o +func (GetSfsExportPolicyRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsExportPolicyRule)(nil)).Elem() } -func (o GetServerBackupSchedulesItemOutput) ToGetServerBackupSchedulesItemOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemOutput { - return o +func (i GetSfsExportPolicyRuleArgs) ToGetSfsExportPolicyRuleOutput() GetSfsExportPolicyRuleOutput { + return i.ToGetSfsExportPolicyRuleOutputWithContext(context.Background()) } -// Backup schedule details for the backups. -func (o GetServerBackupSchedulesItemOutput) BackupProperties() GetServerBackupSchedulesItemBackupPropertiesOutput { - return o.ApplyT(func(v GetServerBackupSchedulesItem) GetServerBackupSchedulesItemBackupProperties { - return v.BackupProperties - }).(GetServerBackupSchedulesItemBackupPropertiesOutput) +func (i GetSfsExportPolicyRuleArgs) ToGetSfsExportPolicyRuleOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsExportPolicyRuleOutput) } -func (o GetServerBackupSchedulesItemOutput) BackupScheduleId() pulumi.IntOutput { - return o.ApplyT(func(v GetServerBackupSchedulesItem) int { return v.BackupScheduleId }).(pulumi.IntOutput) +// GetSfsExportPolicyRuleArrayInput is an input type that accepts GetSfsExportPolicyRuleArray and GetSfsExportPolicyRuleArrayOutput values. +// You can construct a concrete instance of `GetSfsExportPolicyRuleArrayInput` via: +// +// GetSfsExportPolicyRuleArray{ GetSfsExportPolicyRuleArgs{...} } +type GetSfsExportPolicyRuleArrayInput interface { + pulumi.Input + + ToGetSfsExportPolicyRuleArrayOutput() GetSfsExportPolicyRuleArrayOutput + ToGetSfsExportPolicyRuleArrayOutputWithContext(context.Context) GetSfsExportPolicyRuleArrayOutput } -// Is the backup schedule enabled or disabled. -func (o GetServerBackupSchedulesItemOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetServerBackupSchedulesItem) bool { return v.Enabled }).(pulumi.BoolOutput) +type GetSfsExportPolicyRuleArray []GetSfsExportPolicyRuleInput + +func (GetSfsExportPolicyRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsExportPolicyRule)(nil)).Elem() } -// The backup schedule name. -func (o GetServerBackupSchedulesItemOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetServerBackupSchedulesItem) string { return v.Name }).(pulumi.StringOutput) +func (i GetSfsExportPolicyRuleArray) ToGetSfsExportPolicyRuleArrayOutput() GetSfsExportPolicyRuleArrayOutput { + return i.ToGetSfsExportPolicyRuleArrayOutputWithContext(context.Background()) } -// An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. -func (o GetServerBackupSchedulesItemOutput) Rrule() pulumi.StringOutput { - return o.ApplyT(func(v GetServerBackupSchedulesItem) string { return v.Rrule }).(pulumi.StringOutput) +func (i GetSfsExportPolicyRuleArray) ToGetSfsExportPolicyRuleArrayOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsExportPolicyRuleArrayOutput) } -type GetServerBackupSchedulesItemArrayOutput struct{ *pulumi.OutputState } +type GetSfsExportPolicyRuleOutput struct{ *pulumi.OutputState } -func (GetServerBackupSchedulesItemArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetServerBackupSchedulesItem)(nil)).Elem() +func (GetSfsExportPolicyRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsExportPolicyRule)(nil)).Elem() } -func (o GetServerBackupSchedulesItemArrayOutput) ToGetServerBackupSchedulesItemArrayOutput() GetServerBackupSchedulesItemArrayOutput { +func (o GetSfsExportPolicyRuleOutput) ToGetSfsExportPolicyRuleOutput() GetSfsExportPolicyRuleOutput { return o } -func (o GetServerBackupSchedulesItemArrayOutput) ToGetServerBackupSchedulesItemArrayOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemArrayOutput { +func (o GetSfsExportPolicyRuleOutput) ToGetSfsExportPolicyRuleOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleOutput { return o } -func (o GetServerBackupSchedulesItemArrayOutput) Index(i pulumi.IntInput) GetServerBackupSchedulesItemOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetServerBackupSchedulesItem { - return vs[0].([]GetServerBackupSchedulesItem)[vs[1].(int)] - }).(GetServerBackupSchedulesItemOutput) -} - -type GetServerBackupSchedulesItemBackupProperties struct { - Name string `pulumi:"name"` - RetentionPeriod int `pulumi:"retentionPeriod"` - VolumeIds []string `pulumi:"volumeIds"` +// Description of the Rule +func (o GetSfsExportPolicyRuleOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetSfsExportPolicyRule) *string { return v.Description }).(pulumi.StringPtrOutput) } -// GetServerBackupSchedulesItemBackupPropertiesInput is an input type that accepts GetServerBackupSchedulesItemBackupPropertiesArgs and GetServerBackupSchedulesItemBackupPropertiesOutput values. -// You can construct a concrete instance of `GetServerBackupSchedulesItemBackupPropertiesInput` via: -// -// GetServerBackupSchedulesItemBackupPropertiesArgs{...} -type GetServerBackupSchedulesItemBackupPropertiesInput interface { - pulumi.Input - - ToGetServerBackupSchedulesItemBackupPropertiesOutput() GetServerBackupSchedulesItemBackupPropertiesOutput - ToGetServerBackupSchedulesItemBackupPropertiesOutputWithContext(context.Context) GetServerBackupSchedulesItemBackupPropertiesOutput +// IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). +func (o GetSfsExportPolicyRuleOutput) IpAcls() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetSfsExportPolicyRule) []string { return v.IpAcls }).(pulumi.StringArrayOutput) } -type GetServerBackupSchedulesItemBackupPropertiesArgs struct { - Name pulumi.StringInput `pulumi:"name"` - RetentionPeriod pulumi.IntInput `pulumi:"retentionPeriod"` - VolumeIds pulumi.StringArrayInput `pulumi:"volumeIds"` +// Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied +func (o GetSfsExportPolicyRuleOutput) Order() pulumi.IntOutput { + return o.ApplyT(func(v GetSfsExportPolicyRule) int { return v.Order }).(pulumi.IntOutput) } -func (GetServerBackupSchedulesItemBackupPropertiesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerBackupSchedulesItemBackupProperties)(nil)).Elem() +// Flag to indicate if client IPs matching this rule can only mount the share in read only mode +func (o GetSfsExportPolicyRuleOutput) ReadOnly() pulumi.BoolOutput { + return o.ApplyT(func(v GetSfsExportPolicyRule) bool { return v.ReadOnly }).(pulumi.BoolOutput) } -func (i GetServerBackupSchedulesItemBackupPropertiesArgs) ToGetServerBackupSchedulesItemBackupPropertiesOutput() GetServerBackupSchedulesItemBackupPropertiesOutput { - return i.ToGetServerBackupSchedulesItemBackupPropertiesOutputWithContext(context.Background()) +// Flag to honor set UUID +func (o GetSfsExportPolicyRuleOutput) SetUuid() pulumi.BoolOutput { + return o.ApplyT(func(v GetSfsExportPolicyRule) bool { return v.SetUuid }).(pulumi.BoolOutput) } -func (i GetServerBackupSchedulesItemBackupPropertiesArgs) ToGetServerBackupSchedulesItemBackupPropertiesOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemBackupPropertiesOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServerBackupSchedulesItemBackupPropertiesOutput) +// Flag to indicate if client IPs matching this rule have root access on the Share +func (o GetSfsExportPolicyRuleOutput) SuperUser() pulumi.BoolOutput { + return o.ApplyT(func(v GetSfsExportPolicyRule) bool { return v.SuperUser }).(pulumi.BoolOutput) } -type GetServerBackupSchedulesItemBackupPropertiesOutput struct{ *pulumi.OutputState } +type GetSfsExportPolicyRuleArrayOutput struct{ *pulumi.OutputState } -func (GetServerBackupSchedulesItemBackupPropertiesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerBackupSchedulesItemBackupProperties)(nil)).Elem() +func (GetSfsExportPolicyRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsExportPolicyRule)(nil)).Elem() } -func (o GetServerBackupSchedulesItemBackupPropertiesOutput) ToGetServerBackupSchedulesItemBackupPropertiesOutput() GetServerBackupSchedulesItemBackupPropertiesOutput { +func (o GetSfsExportPolicyRuleArrayOutput) ToGetSfsExportPolicyRuleArrayOutput() GetSfsExportPolicyRuleArrayOutput { return o } -func (o GetServerBackupSchedulesItemBackupPropertiesOutput) ToGetServerBackupSchedulesItemBackupPropertiesOutputWithContext(ctx context.Context) GetServerBackupSchedulesItemBackupPropertiesOutput { +func (o GetSfsExportPolicyRuleArrayOutput) ToGetSfsExportPolicyRuleArrayOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleArrayOutput { return o } -func (o GetServerBackupSchedulesItemBackupPropertiesOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetServerBackupSchedulesItemBackupProperties) string { return v.Name }).(pulumi.StringOutput) -} - -func (o GetServerBackupSchedulesItemBackupPropertiesOutput) RetentionPeriod() pulumi.IntOutput { - return o.ApplyT(func(v GetServerBackupSchedulesItemBackupProperties) int { return v.RetentionPeriod }).(pulumi.IntOutput) -} - -func (o GetServerBackupSchedulesItemBackupPropertiesOutput) VolumeIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetServerBackupSchedulesItemBackupProperties) []string { return v.VolumeIds }).(pulumi.StringArrayOutput) +func (o GetSfsExportPolicyRuleArrayOutput) Index(i pulumi.IntInput) GetSfsExportPolicyRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSfsExportPolicyRule { + return vs[0].([]GetSfsExportPolicyRule)[vs[1].(int)] + }).(GetSfsExportPolicyRuleOutput) } -type GetServerBootVolume struct { - // Delete the volume during the termination of the server. - DeleteOnTermination bool `pulumi:"deleteOnTermination"` - // The ID of the boot volume +type GetSfsResourcePoolSnapshotPolicy struct { + // ID of the snapshot policy. Id string `pulumi:"id"` + // Name of the snapshot policy. + Name string `pulumi:"name"` } -// GetServerBootVolumeInput is an input type that accepts GetServerBootVolumeArgs and GetServerBootVolumeOutput values. -// You can construct a concrete instance of `GetServerBootVolumeInput` via: +// GetSfsResourcePoolSnapshotPolicyInput is an input type that accepts GetSfsResourcePoolSnapshotPolicyArgs and GetSfsResourcePoolSnapshotPolicyOutput values. +// You can construct a concrete instance of `GetSfsResourcePoolSnapshotPolicyInput` via: // -// GetServerBootVolumeArgs{...} -type GetServerBootVolumeInput interface { +// GetSfsResourcePoolSnapshotPolicyArgs{...} +type GetSfsResourcePoolSnapshotPolicyInput interface { pulumi.Input - ToGetServerBootVolumeOutput() GetServerBootVolumeOutput - ToGetServerBootVolumeOutputWithContext(context.Context) GetServerBootVolumeOutput + ToGetSfsResourcePoolSnapshotPolicyOutput() GetSfsResourcePoolSnapshotPolicyOutput + ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(context.Context) GetSfsResourcePoolSnapshotPolicyOutput } -type GetServerBootVolumeArgs struct { - // Delete the volume during the termination of the server. - DeleteOnTermination pulumi.BoolInput `pulumi:"deleteOnTermination"` - // The ID of the boot volume +type GetSfsResourcePoolSnapshotPolicyArgs struct { + // ID of the snapshot policy. Id pulumi.StringInput `pulumi:"id"` + // Name of the snapshot policy. + Name pulumi.StringInput `pulumi:"name"` } -func (GetServerBootVolumeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerBootVolume)(nil)).Elem() +func (GetSfsResourcePoolSnapshotPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsResourcePoolSnapshotPolicy)(nil)).Elem() } -func (i GetServerBootVolumeArgs) ToGetServerBootVolumeOutput() GetServerBootVolumeOutput { - return i.ToGetServerBootVolumeOutputWithContext(context.Background()) +func (i GetSfsResourcePoolSnapshotPolicyArgs) ToGetSfsResourcePoolSnapshotPolicyOutput() GetSfsResourcePoolSnapshotPolicyOutput { + return i.ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(context.Background()) } -func (i GetServerBootVolumeArgs) ToGetServerBootVolumeOutputWithContext(ctx context.Context) GetServerBootVolumeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServerBootVolumeOutput) +func (i GetSfsResourcePoolSnapshotPolicyArgs) ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsResourcePoolSnapshotPolicyOutput) } -type GetServerBootVolumeOutput struct{ *pulumi.OutputState } +type GetSfsResourcePoolSnapshotPolicyOutput struct{ *pulumi.OutputState } -func (GetServerBootVolumeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerBootVolume)(nil)).Elem() +func (GetSfsResourcePoolSnapshotPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsResourcePoolSnapshotPolicy)(nil)).Elem() } -func (o GetServerBootVolumeOutput) ToGetServerBootVolumeOutput() GetServerBootVolumeOutput { +func (o GetSfsResourcePoolSnapshotPolicyOutput) ToGetSfsResourcePoolSnapshotPolicyOutput() GetSfsResourcePoolSnapshotPolicyOutput { return o } -func (o GetServerBootVolumeOutput) ToGetServerBootVolumeOutputWithContext(ctx context.Context) GetServerBootVolumeOutput { +func (o GetSfsResourcePoolSnapshotPolicyOutput) ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotPolicyOutput { return o } -// Delete the volume during the termination of the server. -func (o GetServerBootVolumeOutput) DeleteOnTermination() pulumi.BoolOutput { - return o.ApplyT(func(v GetServerBootVolume) bool { return v.DeleteOnTermination }).(pulumi.BoolOutput) +// ID of the snapshot policy. +func (o GetSfsResourcePoolSnapshotPolicyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotPolicy) string { return v.Id }).(pulumi.StringOutput) } -// The ID of the boot volume -func (o GetServerBootVolumeOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetServerBootVolume) string { return v.Id }).(pulumi.StringOutput) +// Name of the snapshot policy. +func (o GetSfsResourcePoolSnapshotPolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotPolicy) string { return v.Name }).(pulumi.StringOutput) } -type GetServerUpdateSchedulesItem struct { - // Is the update schedule enabled or disabled. - Enabled bool `pulumi:"enabled"` - // Maintenance window [1..24]. Updates start within the defined hourly window. Depending on the updates, the process may exceed this timeframe and require an automatic restart. - MaintenanceWindow int `pulumi:"maintenanceWindow"` - // The update schedule name. - Name string `pulumi:"name"` - // An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. - Rrule string `pulumi:"rrule"` - UpdateScheduleId int `pulumi:"updateScheduleId"` +type GetSfsResourcePoolSnapshotSnapshot struct { + // (optional) A comment to add more information about a snapshot + Comment string `pulumi:"comment"` + // creation date of the snapshot + CreatedAt string `pulumi:"createdAt"` + // Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) + LogicalSizeGigabytes int `pulumi:"logicalSizeGigabytes"` + // ID of the Resource Pool of the Snapshot + ResourcePoolId string `pulumi:"resourcePoolId"` + // Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) + SizeGigabytes int `pulumi:"sizeGigabytes"` + // Name of the Resource Pool Snapshot + SnapshotName string `pulumi:"snapshotName"` } -// GetServerUpdateSchedulesItemInput is an input type that accepts GetServerUpdateSchedulesItemArgs and GetServerUpdateSchedulesItemOutput values. -// You can construct a concrete instance of `GetServerUpdateSchedulesItemInput` via: +// GetSfsResourcePoolSnapshotSnapshotInput is an input type that accepts GetSfsResourcePoolSnapshotSnapshotArgs and GetSfsResourcePoolSnapshotSnapshotOutput values. +// You can construct a concrete instance of `GetSfsResourcePoolSnapshotSnapshotInput` via: // -// GetServerUpdateSchedulesItemArgs{...} -type GetServerUpdateSchedulesItemInput interface { +// GetSfsResourcePoolSnapshotSnapshotArgs{...} +type GetSfsResourcePoolSnapshotSnapshotInput interface { pulumi.Input - ToGetServerUpdateSchedulesItemOutput() GetServerUpdateSchedulesItemOutput - ToGetServerUpdateSchedulesItemOutputWithContext(context.Context) GetServerUpdateSchedulesItemOutput + ToGetSfsResourcePoolSnapshotSnapshotOutput() GetSfsResourcePoolSnapshotSnapshotOutput + ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(context.Context) GetSfsResourcePoolSnapshotSnapshotOutput } -type GetServerUpdateSchedulesItemArgs struct { - // Is the update schedule enabled or disabled. - Enabled pulumi.BoolInput `pulumi:"enabled"` - // Maintenance window [1..24]. Updates start within the defined hourly window. Depending on the updates, the process may exceed this timeframe and require an automatic restart. - MaintenanceWindow pulumi.IntInput `pulumi:"maintenanceWindow"` - // The update schedule name. - Name pulumi.StringInput `pulumi:"name"` - // An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. - Rrule pulumi.StringInput `pulumi:"rrule"` - UpdateScheduleId pulumi.IntInput `pulumi:"updateScheduleId"` +type GetSfsResourcePoolSnapshotSnapshotArgs struct { + // (optional) A comment to add more information about a snapshot + Comment pulumi.StringInput `pulumi:"comment"` + // creation date of the snapshot + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) + LogicalSizeGigabytes pulumi.IntInput `pulumi:"logicalSizeGigabytes"` + // ID of the Resource Pool of the Snapshot + ResourcePoolId pulumi.StringInput `pulumi:"resourcePoolId"` + // Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) + SizeGigabytes pulumi.IntInput `pulumi:"sizeGigabytes"` + // Name of the Resource Pool Snapshot + SnapshotName pulumi.StringInput `pulumi:"snapshotName"` } -func (GetServerUpdateSchedulesItemArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerUpdateSchedulesItem)(nil)).Elem() +func (GetSfsResourcePoolSnapshotSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() } -func (i GetServerUpdateSchedulesItemArgs) ToGetServerUpdateSchedulesItemOutput() GetServerUpdateSchedulesItemOutput { - return i.ToGetServerUpdateSchedulesItemOutputWithContext(context.Background()) +func (i GetSfsResourcePoolSnapshotSnapshotArgs) ToGetSfsResourcePoolSnapshotSnapshotOutput() GetSfsResourcePoolSnapshotSnapshotOutput { + return i.ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(context.Background()) } -func (i GetServerUpdateSchedulesItemArgs) ToGetServerUpdateSchedulesItemOutputWithContext(ctx context.Context) GetServerUpdateSchedulesItemOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServerUpdateSchedulesItemOutput) +func (i GetSfsResourcePoolSnapshotSnapshotArgs) ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsResourcePoolSnapshotSnapshotOutput) } -// GetServerUpdateSchedulesItemArrayInput is an input type that accepts GetServerUpdateSchedulesItemArray and GetServerUpdateSchedulesItemArrayOutput values. -// You can construct a concrete instance of `GetServerUpdateSchedulesItemArrayInput` via: +// GetSfsResourcePoolSnapshotSnapshotArrayInput is an input type that accepts GetSfsResourcePoolSnapshotSnapshotArray and GetSfsResourcePoolSnapshotSnapshotArrayOutput values. +// You can construct a concrete instance of `GetSfsResourcePoolSnapshotSnapshotArrayInput` via: // -// GetServerUpdateSchedulesItemArray{ GetServerUpdateSchedulesItemArgs{...} } -type GetServerUpdateSchedulesItemArrayInput interface { +// GetSfsResourcePoolSnapshotSnapshotArray{ GetSfsResourcePoolSnapshotSnapshotArgs{...} } +type GetSfsResourcePoolSnapshotSnapshotArrayInput interface { pulumi.Input - ToGetServerUpdateSchedulesItemArrayOutput() GetServerUpdateSchedulesItemArrayOutput - ToGetServerUpdateSchedulesItemArrayOutputWithContext(context.Context) GetServerUpdateSchedulesItemArrayOutput + ToGetSfsResourcePoolSnapshotSnapshotArrayOutput() GetSfsResourcePoolSnapshotSnapshotArrayOutput + ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(context.Context) GetSfsResourcePoolSnapshotSnapshotArrayOutput } -type GetServerUpdateSchedulesItemArray []GetServerUpdateSchedulesItemInput +type GetSfsResourcePoolSnapshotSnapshotArray []GetSfsResourcePoolSnapshotSnapshotInput -func (GetServerUpdateSchedulesItemArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetServerUpdateSchedulesItem)(nil)).Elem() +func (GetSfsResourcePoolSnapshotSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() } -func (i GetServerUpdateSchedulesItemArray) ToGetServerUpdateSchedulesItemArrayOutput() GetServerUpdateSchedulesItemArrayOutput { - return i.ToGetServerUpdateSchedulesItemArrayOutputWithContext(context.Background()) +func (i GetSfsResourcePoolSnapshotSnapshotArray) ToGetSfsResourcePoolSnapshotSnapshotArrayOutput() GetSfsResourcePoolSnapshotSnapshotArrayOutput { + return i.ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(context.Background()) } -func (i GetServerUpdateSchedulesItemArray) ToGetServerUpdateSchedulesItemArrayOutputWithContext(ctx context.Context) GetServerUpdateSchedulesItemArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServerUpdateSchedulesItemArrayOutput) +func (i GetSfsResourcePoolSnapshotSnapshotArray) ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsResourcePoolSnapshotSnapshotArrayOutput) } -type GetServerUpdateSchedulesItemOutput struct{ *pulumi.OutputState } +type GetSfsResourcePoolSnapshotSnapshotOutput struct{ *pulumi.OutputState } -func (GetServerUpdateSchedulesItemOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetServerUpdateSchedulesItem)(nil)).Elem() +func (GetSfsResourcePoolSnapshotSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() } -func (o GetServerUpdateSchedulesItemOutput) ToGetServerUpdateSchedulesItemOutput() GetServerUpdateSchedulesItemOutput { +func (o GetSfsResourcePoolSnapshotSnapshotOutput) ToGetSfsResourcePoolSnapshotSnapshotOutput() GetSfsResourcePoolSnapshotSnapshotOutput { return o } -func (o GetServerUpdateSchedulesItemOutput) ToGetServerUpdateSchedulesItemOutputWithContext(ctx context.Context) GetServerUpdateSchedulesItemOutput { +func (o GetSfsResourcePoolSnapshotSnapshotOutput) ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotOutput { return o } -// Is the update schedule enabled or disabled. -func (o GetServerUpdateSchedulesItemOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetServerUpdateSchedulesItem) bool { return v.Enabled }).(pulumi.BoolOutput) +// (optional) A comment to add more information about a snapshot +func (o GetSfsResourcePoolSnapshotSnapshotOutput) Comment() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.Comment }).(pulumi.StringOutput) } -// Maintenance window [1..24]. Updates start within the defined hourly window. Depending on the updates, the process may exceed this timeframe and require an automatic restart. -func (o GetServerUpdateSchedulesItemOutput) MaintenanceWindow() pulumi.IntOutput { - return o.ApplyT(func(v GetServerUpdateSchedulesItem) int { return v.MaintenanceWindow }).(pulumi.IntOutput) +// creation date of the snapshot +func (o GetSfsResourcePoolSnapshotSnapshotOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.CreatedAt }).(pulumi.StringOutput) } -// The update schedule name. -func (o GetServerUpdateSchedulesItemOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetServerUpdateSchedulesItem) string { return v.Name }).(pulumi.StringOutput) +// Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) +func (o GetSfsResourcePoolSnapshotSnapshotOutput) LogicalSizeGigabytes() pulumi.IntOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) int { return v.LogicalSizeGigabytes }).(pulumi.IntOutput) } -// An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. -func (o GetServerUpdateSchedulesItemOutput) Rrule() pulumi.StringOutput { - return o.ApplyT(func(v GetServerUpdateSchedulesItem) string { return v.Rrule }).(pulumi.StringOutput) +// ID of the Resource Pool of the Snapshot +func (o GetSfsResourcePoolSnapshotSnapshotOutput) ResourcePoolId() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.ResourcePoolId }).(pulumi.StringOutput) } -func (o GetServerUpdateSchedulesItemOutput) UpdateScheduleId() pulumi.IntOutput { - return o.ApplyT(func(v GetServerUpdateSchedulesItem) int { return v.UpdateScheduleId }).(pulumi.IntOutput) +// Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) +func (o GetSfsResourcePoolSnapshotSnapshotOutput) SizeGigabytes() pulumi.IntOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) int { return v.SizeGigabytes }).(pulumi.IntOutput) } -type GetServerUpdateSchedulesItemArrayOutput struct{ *pulumi.OutputState } +// Name of the Resource Pool Snapshot +func (o GetSfsResourcePoolSnapshotSnapshotOutput) SnapshotName() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.SnapshotName }).(pulumi.StringOutput) +} -func (GetServerUpdateSchedulesItemArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetServerUpdateSchedulesItem)(nil)).Elem() +type GetSfsResourcePoolSnapshotSnapshotArrayOutput struct{ *pulumi.OutputState } + +func (GetSfsResourcePoolSnapshotSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() } -func (o GetServerUpdateSchedulesItemArrayOutput) ToGetServerUpdateSchedulesItemArrayOutput() GetServerUpdateSchedulesItemArrayOutput { +func (o GetSfsResourcePoolSnapshotSnapshotArrayOutput) ToGetSfsResourcePoolSnapshotSnapshotArrayOutput() GetSfsResourcePoolSnapshotSnapshotArrayOutput { return o } -func (o GetServerUpdateSchedulesItemArrayOutput) ToGetServerUpdateSchedulesItemArrayOutputWithContext(ctx context.Context) GetServerUpdateSchedulesItemArrayOutput { +func (o GetSfsResourcePoolSnapshotSnapshotArrayOutput) ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotArrayOutput { return o } -func (o GetServerUpdateSchedulesItemArrayOutput) Index(i pulumi.IntInput) GetServerUpdateSchedulesItemOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetServerUpdateSchedulesItem { - return vs[0].([]GetServerUpdateSchedulesItem)[vs[1].(int)] - }).(GetServerUpdateSchedulesItemOutput) +func (o GetSfsResourcePoolSnapshotSnapshotArrayOutput) Index(i pulumi.IntInput) GetSfsResourcePoolSnapshotSnapshotOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSfsResourcePoolSnapshotSnapshot { + return vs[0].([]GetSfsResourcePoolSnapshotSnapshot)[vs[1].(int)] + }).(GetSfsResourcePoolSnapshotSnapshotOutput) } -type GetServiceAccountFederatedIdentityProviderAssertion struct { - // The assertion claim. At least one assertion with the claim "aud" is required for security reasons. - Item string `pulumi:"item"` - // The assertion operator. Currently, the only supported operator is "equals". - Operator string `pulumi:"operator"` - // The assertion value. - Value string `pulumi:"value"` +type GetSfsSnapshotPoliciesItem struct { + // Comment of the Snapshot Policy. + Comment string `pulumi:"comment"` + // Created At timestamp. + CreatedAt string `pulumi:"createdAt"` + // Wether the Snapshot Policy is enabled. + Enabled bool `pulumi:"enabled"` + // ID of the Snapshot Policy. + Id string `pulumi:"id"` + // Name of the Snapshot Policy. + Name string `pulumi:"name"` + SnapshotSchedules []GetSfsSnapshotPoliciesItemSnapshotSchedule `pulumi:"snapshotSchedules"` } -// GetServiceAccountFederatedIdentityProviderAssertionInput is an input type that accepts GetServiceAccountFederatedIdentityProviderAssertionArgs and GetServiceAccountFederatedIdentityProviderAssertionOutput values. -// You can construct a concrete instance of `GetServiceAccountFederatedIdentityProviderAssertionInput` via: +// GetSfsSnapshotPoliciesItemInput is an input type that accepts GetSfsSnapshotPoliciesItemArgs and GetSfsSnapshotPoliciesItemOutput values. +// You can construct a concrete instance of `GetSfsSnapshotPoliciesItemInput` via: // -// GetServiceAccountFederatedIdentityProviderAssertionArgs{...} -type GetServiceAccountFederatedIdentityProviderAssertionInput interface { +// GetSfsSnapshotPoliciesItemArgs{...} +type GetSfsSnapshotPoliciesItemInput interface { pulumi.Input - ToGetServiceAccountFederatedIdentityProviderAssertionOutput() GetServiceAccountFederatedIdentityProviderAssertionOutput - ToGetServiceAccountFederatedIdentityProviderAssertionOutputWithContext(context.Context) GetServiceAccountFederatedIdentityProviderAssertionOutput + ToGetSfsSnapshotPoliciesItemOutput() GetSfsSnapshotPoliciesItemOutput + ToGetSfsSnapshotPoliciesItemOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemOutput } -type GetServiceAccountFederatedIdentityProviderAssertionArgs struct { - // The assertion claim. At least one assertion with the claim "aud" is required for security reasons. - Item pulumi.StringInput `pulumi:"item"` - // The assertion operator. Currently, the only supported operator is "equals". - Operator pulumi.StringInput `pulumi:"operator"` - // The assertion value. - Value pulumi.StringInput `pulumi:"value"` +type GetSfsSnapshotPoliciesItemArgs struct { + // Comment of the Snapshot Policy. + Comment pulumi.StringInput `pulumi:"comment"` + // Created At timestamp. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // Wether the Snapshot Policy is enabled. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // ID of the Snapshot Policy. + Id pulumi.StringInput `pulumi:"id"` + // Name of the Snapshot Policy. + Name pulumi.StringInput `pulumi:"name"` + SnapshotSchedules GetSfsSnapshotPoliciesItemSnapshotScheduleArrayInput `pulumi:"snapshotSchedules"` } -func (GetServiceAccountFederatedIdentityProviderAssertionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() +func (GetSfsSnapshotPoliciesItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsSnapshotPoliciesItem)(nil)).Elem() } -func (i GetServiceAccountFederatedIdentityProviderAssertionArgs) ToGetServiceAccountFederatedIdentityProviderAssertionOutput() GetServiceAccountFederatedIdentityProviderAssertionOutput { - return i.ToGetServiceAccountFederatedIdentityProviderAssertionOutputWithContext(context.Background()) +func (i GetSfsSnapshotPoliciesItemArgs) ToGetSfsSnapshotPoliciesItemOutput() GetSfsSnapshotPoliciesItemOutput { + return i.ToGetSfsSnapshotPoliciesItemOutputWithContext(context.Background()) } -func (i GetServiceAccountFederatedIdentityProviderAssertionArgs) ToGetServiceAccountFederatedIdentityProviderAssertionOutputWithContext(ctx context.Context) GetServiceAccountFederatedIdentityProviderAssertionOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServiceAccountFederatedIdentityProviderAssertionOutput) +func (i GetSfsSnapshotPoliciesItemArgs) ToGetSfsSnapshotPoliciesItemOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemOutput) } -// GetServiceAccountFederatedIdentityProviderAssertionArrayInput is an input type that accepts GetServiceAccountFederatedIdentityProviderAssertionArray and GetServiceAccountFederatedIdentityProviderAssertionArrayOutput values. -// You can construct a concrete instance of `GetServiceAccountFederatedIdentityProviderAssertionArrayInput` via: +// GetSfsSnapshotPoliciesItemArrayInput is an input type that accepts GetSfsSnapshotPoliciesItemArray and GetSfsSnapshotPoliciesItemArrayOutput values. +// You can construct a concrete instance of `GetSfsSnapshotPoliciesItemArrayInput` via: // -// GetServiceAccountFederatedIdentityProviderAssertionArray{ GetServiceAccountFederatedIdentityProviderAssertionArgs{...} } -type GetServiceAccountFederatedIdentityProviderAssertionArrayInput interface { +// GetSfsSnapshotPoliciesItemArray{ GetSfsSnapshotPoliciesItemArgs{...} } +type GetSfsSnapshotPoliciesItemArrayInput interface { pulumi.Input - ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutput() GetServiceAccountFederatedIdentityProviderAssertionArrayOutput - ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(context.Context) GetServiceAccountFederatedIdentityProviderAssertionArrayOutput + ToGetSfsSnapshotPoliciesItemArrayOutput() GetSfsSnapshotPoliciesItemArrayOutput + ToGetSfsSnapshotPoliciesItemArrayOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemArrayOutput } -type GetServiceAccountFederatedIdentityProviderAssertionArray []GetServiceAccountFederatedIdentityProviderAssertionInput +type GetSfsSnapshotPoliciesItemArray []GetSfsSnapshotPoliciesItemInput -func (GetServiceAccountFederatedIdentityProviderAssertionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() +func (GetSfsSnapshotPoliciesItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItem)(nil)).Elem() } -func (i GetServiceAccountFederatedIdentityProviderAssertionArray) ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutput() GetServiceAccountFederatedIdentityProviderAssertionArrayOutput { - return i.ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(context.Background()) +func (i GetSfsSnapshotPoliciesItemArray) ToGetSfsSnapshotPoliciesItemArrayOutput() GetSfsSnapshotPoliciesItemArrayOutput { + return i.ToGetSfsSnapshotPoliciesItemArrayOutputWithContext(context.Background()) } -func (i GetServiceAccountFederatedIdentityProviderAssertionArray) ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(ctx context.Context) GetServiceAccountFederatedIdentityProviderAssertionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) +func (i GetSfsSnapshotPoliciesItemArray) ToGetSfsSnapshotPoliciesItemArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemArrayOutput) } -type GetServiceAccountFederatedIdentityProviderAssertionOutput struct{ *pulumi.OutputState } +type GetSfsSnapshotPoliciesItemOutput struct{ *pulumi.OutputState } -func (GetServiceAccountFederatedIdentityProviderAssertionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() +func (GetSfsSnapshotPoliciesItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsSnapshotPoliciesItem)(nil)).Elem() } -func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) ToGetServiceAccountFederatedIdentityProviderAssertionOutput() GetServiceAccountFederatedIdentityProviderAssertionOutput { +func (o GetSfsSnapshotPoliciesItemOutput) ToGetSfsSnapshotPoliciesItemOutput() GetSfsSnapshotPoliciesItemOutput { return o } -func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) ToGetServiceAccountFederatedIdentityProviderAssertionOutputWithContext(ctx context.Context) GetServiceAccountFederatedIdentityProviderAssertionOutput { +func (o GetSfsSnapshotPoliciesItemOutput) ToGetSfsSnapshotPoliciesItemOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemOutput { return o } -// The assertion claim. At least one assertion with the claim "aud" is required for security reasons. -func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) Item() pulumi.StringOutput { - return o.ApplyT(func(v GetServiceAccountFederatedIdentityProviderAssertion) string { return v.Item }).(pulumi.StringOutput) +// Comment of the Snapshot Policy. +func (o GetSfsSnapshotPoliciesItemOutput) Comment() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) string { return v.Comment }).(pulumi.StringOutput) } -// The assertion operator. Currently, the only supported operator is "equals". -func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) Operator() pulumi.StringOutput { - return o.ApplyT(func(v GetServiceAccountFederatedIdentityProviderAssertion) string { return v.Operator }).(pulumi.StringOutput) +// Created At timestamp. +func (o GetSfsSnapshotPoliciesItemOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) string { return v.CreatedAt }).(pulumi.StringOutput) } -// The assertion value. -func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetServiceAccountFederatedIdentityProviderAssertion) string { return v.Value }).(pulumi.StringOutput) +// Wether the Snapshot Policy is enabled. +func (o GetSfsSnapshotPoliciesItemOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) bool { return v.Enabled }).(pulumi.BoolOutput) } -type GetServiceAccountFederatedIdentityProviderAssertionArrayOutput struct{ *pulumi.OutputState } +// ID of the Snapshot Policy. +func (o GetSfsSnapshotPoliciesItemOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) string { return v.Id }).(pulumi.StringOutput) +} -func (GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() +// Name of the Snapshot Policy. +func (o GetSfsSnapshotPoliciesItemOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) string { return v.Name }).(pulumi.StringOutput) } -func (o GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutput() GetServiceAccountFederatedIdentityProviderAssertionArrayOutput { +func (o GetSfsSnapshotPoliciesItemOutput) SnapshotSchedules() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) []GetSfsSnapshotPoliciesItemSnapshotSchedule { + return v.SnapshotSchedules + }).(GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) +} + +type GetSfsSnapshotPoliciesItemArrayOutput struct{ *pulumi.OutputState } + +func (GetSfsSnapshotPoliciesItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItem)(nil)).Elem() +} + +func (o GetSfsSnapshotPoliciesItemArrayOutput) ToGetSfsSnapshotPoliciesItemArrayOutput() GetSfsSnapshotPoliciesItemArrayOutput { return o } -func (o GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(ctx context.Context) GetServiceAccountFederatedIdentityProviderAssertionArrayOutput { +func (o GetSfsSnapshotPoliciesItemArrayOutput) ToGetSfsSnapshotPoliciesItemArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemArrayOutput { return o } -func (o GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) Index(i pulumi.IntInput) GetServiceAccountFederatedIdentityProviderAssertionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetServiceAccountFederatedIdentityProviderAssertion { - return vs[0].([]GetServiceAccountFederatedIdentityProviderAssertion)[vs[1].(int)] - }).(GetServiceAccountFederatedIdentityProviderAssertionOutput) +func (o GetSfsSnapshotPoliciesItemArrayOutput) Index(i pulumi.IntInput) GetSfsSnapshotPoliciesItemOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSfsSnapshotPoliciesItem { + return vs[0].([]GetSfsSnapshotPoliciesItem)[vs[1].(int)] + }).(GetSfsSnapshotPoliciesItemOutput) } -type GetServiceAccountsItem struct { - // Email of the service account. - Email string `pulumi:"email"` - // Name of the service account. +type GetSfsSnapshotPoliciesItemSnapshotSchedule struct { + // Created At timestamp. + CreatedAt string `pulumi:"createdAt"` + // ID of the Snapshot Schedule. + Id string `pulumi:"id"` + // Interval of the Snapshot Schedule (follows the cron schedule xpression in Unix-like systems). + Interval string `pulumi:"interval"` + // Name of the Snapshot Schedule. Name string `pulumi:"name"` - // The internal UUID of the service account. - ServiceAccountId string `pulumi:"serviceAccountId"` + // Prefix used for snapshots created by this policy. + Prefix string `pulumi:"prefix"` + // Retention Count. + RetentionCount int `pulumi:"retentionCount"` + // Retention Period (ISO 8601 format or 'infinite'). + RetentionPeriod string `pulumi:"retentionPeriod"` } -// GetServiceAccountsItemInput is an input type that accepts GetServiceAccountsItemArgs and GetServiceAccountsItemOutput values. -// You can construct a concrete instance of `GetServiceAccountsItemInput` via: +// GetSfsSnapshotPoliciesItemSnapshotScheduleInput is an input type that accepts GetSfsSnapshotPoliciesItemSnapshotScheduleArgs and GetSfsSnapshotPoliciesItemSnapshotScheduleOutput values. +// You can construct a concrete instance of `GetSfsSnapshotPoliciesItemSnapshotScheduleInput` via: // -// GetServiceAccountsItemArgs{...} -type GetServiceAccountsItemInput interface { +// GetSfsSnapshotPoliciesItemSnapshotScheduleArgs{...} +type GetSfsSnapshotPoliciesItemSnapshotScheduleInput interface { pulumi.Input - ToGetServiceAccountsItemOutput() GetServiceAccountsItemOutput - ToGetServiceAccountsItemOutputWithContext(context.Context) GetServiceAccountsItemOutput + ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleOutput + ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleOutput } -type GetServiceAccountsItemArgs struct { - // Email of the service account. - Email pulumi.StringInput `pulumi:"email"` - // Name of the service account. +type GetSfsSnapshotPoliciesItemSnapshotScheduleArgs struct { + // Created At timestamp. + CreatedAt pulumi.StringInput `pulumi:"createdAt"` + // ID of the Snapshot Schedule. + Id pulumi.StringInput `pulumi:"id"` + // Interval of the Snapshot Schedule (follows the cron schedule xpression in Unix-like systems). + Interval pulumi.StringInput `pulumi:"interval"` + // Name of the Snapshot Schedule. Name pulumi.StringInput `pulumi:"name"` - // The internal UUID of the service account. - ServiceAccountId pulumi.StringInput `pulumi:"serviceAccountId"` + // Prefix used for snapshots created by this policy. + Prefix pulumi.StringInput `pulumi:"prefix"` + // Retention Count. + RetentionCount pulumi.IntInput `pulumi:"retentionCount"` + // Retention Period (ISO 8601 format or 'infinite'). + RetentionPeriod pulumi.StringInput `pulumi:"retentionPeriod"` } -func (GetServiceAccountsItemArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetServiceAccountsItem)(nil)).Elem() +func (GetSfsSnapshotPoliciesItemSnapshotScheduleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() } -func (i GetServiceAccountsItemArgs) ToGetServiceAccountsItemOutput() GetServiceAccountsItemOutput { - return i.ToGetServiceAccountsItemOutputWithContext(context.Background()) +func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArgs) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { + return i.ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutputWithContext(context.Background()) } -func (i GetServiceAccountsItemArgs) ToGetServiceAccountsItemOutputWithContext(ctx context.Context) GetServiceAccountsItemOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServiceAccountsItemOutput) +func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArgs) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) } -// GetServiceAccountsItemArrayInput is an input type that accepts GetServiceAccountsItemArray and GetServiceAccountsItemArrayOutput values. -// You can construct a concrete instance of `GetServiceAccountsItemArrayInput` via: +// GetSfsSnapshotPoliciesItemSnapshotScheduleArrayInput is an input type that accepts GetSfsSnapshotPoliciesItemSnapshotScheduleArray and GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput values. +// You can construct a concrete instance of `GetSfsSnapshotPoliciesItemSnapshotScheduleArrayInput` via: // -// GetServiceAccountsItemArray{ GetServiceAccountsItemArgs{...} } -type GetServiceAccountsItemArrayInput interface { +// GetSfsSnapshotPoliciesItemSnapshotScheduleArray{ GetSfsSnapshotPoliciesItemSnapshotScheduleArgs{...} } +type GetSfsSnapshotPoliciesItemSnapshotScheduleArrayInput interface { pulumi.Input - ToGetServiceAccountsItemArrayOutput() GetServiceAccountsItemArrayOutput - ToGetServiceAccountsItemArrayOutputWithContext(context.Context) GetServiceAccountsItemArrayOutput + ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput + ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput } -type GetServiceAccountsItemArray []GetServiceAccountsItemInput +type GetSfsSnapshotPoliciesItemSnapshotScheduleArray []GetSfsSnapshotPoliciesItemSnapshotScheduleInput -func (GetServiceAccountsItemArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetServiceAccountsItem)(nil)).Elem() +func (GetSfsSnapshotPoliciesItemSnapshotScheduleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() } -func (i GetServiceAccountsItemArray) ToGetServiceAccountsItemArrayOutput() GetServiceAccountsItemArrayOutput { - return i.ToGetServiceAccountsItemArrayOutputWithContext(context.Background()) +func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArray) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { + return i.ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(context.Background()) } -func (i GetServiceAccountsItemArray) ToGetServiceAccountsItemArrayOutputWithContext(ctx context.Context) GetServiceAccountsItemArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServiceAccountsItemArrayOutput) +func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArray) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) } -type GetServiceAccountsItemOutput struct{ *pulumi.OutputState } +type GetSfsSnapshotPoliciesItemSnapshotScheduleOutput struct{ *pulumi.OutputState } -func (GetServiceAccountsItemOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetServiceAccountsItem)(nil)).Elem() +func (GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() } -func (o GetServiceAccountsItemOutput) ToGetServiceAccountsItemOutput() GetServiceAccountsItemOutput { +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { return o } -func (o GetServiceAccountsItemOutput) ToGetServiceAccountsItemOutputWithContext(ctx context.Context) GetServiceAccountsItemOutput { +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { return o } -// Email of the service account. -func (o GetServiceAccountsItemOutput) Email() pulumi.StringOutput { - return o.ApplyT(func(v GetServiceAccountsItem) string { return v.Email }).(pulumi.StringOutput) -} - -// Name of the service account. -func (o GetServiceAccountsItemOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetServiceAccountsItem) string { return v.Name }).(pulumi.StringOutput) +// Created At timestamp. +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.CreatedAt }).(pulumi.StringOutput) } -// The internal UUID of the service account. -func (o GetServiceAccountsItemOutput) ServiceAccountId() pulumi.StringOutput { - return o.ApplyT(func(v GetServiceAccountsItem) string { return v.ServiceAccountId }).(pulumi.StringOutput) +// ID of the Snapshot Schedule. +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.Id }).(pulumi.StringOutput) } -type GetServiceAccountsItemArrayOutput struct{ *pulumi.OutputState } - -func (GetServiceAccountsItemArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetServiceAccountsItem)(nil)).Elem() +// Interval of the Snapshot Schedule (follows the cron schedule xpression in Unix-like systems). +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) Interval() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.Interval }).(pulumi.StringOutput) } -func (o GetServiceAccountsItemArrayOutput) ToGetServiceAccountsItemArrayOutput() GetServiceAccountsItemArrayOutput { - return o +// Name of the Snapshot Schedule. +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.Name }).(pulumi.StringOutput) } -func (o GetServiceAccountsItemArrayOutput) ToGetServiceAccountsItemArrayOutputWithContext(ctx context.Context) GetServiceAccountsItemArrayOutput { - return o +// Prefix used for snapshots created by this policy. +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.Prefix }).(pulumi.StringOutput) } -func (o GetServiceAccountsItemArrayOutput) Index(i pulumi.IntInput) GetServiceAccountsItemOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetServiceAccountsItem { - return vs[0].([]GetServiceAccountsItem)[vs[1].(int)] - }).(GetServiceAccountsItemOutput) +// Retention Count. +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) RetentionCount() pulumi.IntOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) int { return v.RetentionCount }).(pulumi.IntOutput) } -type GetSfsExportPolicyRule struct { - // Description of the Rule - Description *string `pulumi:"description"` - // IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). - IpAcls []string `pulumi:"ipAcls"` - // Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied - Order int `pulumi:"order"` - // Flag to indicate if client IPs matching this rule can only mount the share in read only mode - ReadOnly bool `pulumi:"readOnly"` - // Flag to honor set UUID - SetUuid bool `pulumi:"setUuid"` - // Flag to indicate if client IPs matching this rule have root access on the Share - SuperUser bool `pulumi:"superUser"` +// Retention Period (ISO 8601 format or 'infinite'). +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) RetentionPeriod() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.RetentionPeriod }).(pulumi.StringOutput) } -// GetSfsExportPolicyRuleInput is an input type that accepts GetSfsExportPolicyRuleArgs and GetSfsExportPolicyRuleOutput values. -// You can construct a concrete instance of `GetSfsExportPolicyRuleInput` via: -// -// GetSfsExportPolicyRuleArgs{...} -type GetSfsExportPolicyRuleInput interface { - pulumi.Input +type GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput struct{ *pulumi.OutputState } - ToGetSfsExportPolicyRuleOutput() GetSfsExportPolicyRuleOutput - ToGetSfsExportPolicyRuleOutputWithContext(context.Context) GetSfsExportPolicyRuleOutput +func (GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() } -type GetSfsExportPolicyRuleArgs struct { - // Description of the Rule - Description pulumi.StringPtrInput `pulumi:"description"` - // IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). - IpAcls pulumi.StringArrayInput `pulumi:"ipAcls"` - // Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied - Order pulumi.IntInput `pulumi:"order"` - // Flag to indicate if client IPs matching this rule can only mount the share in read only mode - ReadOnly pulumi.BoolInput `pulumi:"readOnly"` - // Flag to honor set UUID - SetUuid pulumi.BoolInput `pulumi:"setUuid"` - // Flag to indicate if client IPs matching this rule have root access on the Share - SuperUser pulumi.BoolInput `pulumi:"superUser"` +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { + return o } -func (GetSfsExportPolicyRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsExportPolicyRule)(nil)).Elem() +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { + return o } -func (i GetSfsExportPolicyRuleArgs) ToGetSfsExportPolicyRuleOutput() GetSfsExportPolicyRuleOutput { - return i.ToGetSfsExportPolicyRuleOutputWithContext(context.Background()) +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) Index(i pulumi.IntInput) GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSfsSnapshotPoliciesItemSnapshotSchedule { + return vs[0].([]GetSfsSnapshotPoliciesItemSnapshotSchedule)[vs[1].(int)] + }).(GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) } -func (i GetSfsExportPolicyRuleArgs) ToGetSfsExportPolicyRuleOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsExportPolicyRuleOutput) +type GetSkeClusterAccess struct { + // Configure IDP + Idp GetSkeClusterAccessIdp `pulumi:"idp"` } -// GetSfsExportPolicyRuleArrayInput is an input type that accepts GetSfsExportPolicyRuleArray and GetSfsExportPolicyRuleArrayOutput values. -// You can construct a concrete instance of `GetSfsExportPolicyRuleArrayInput` via: +// GetSkeClusterAccessInput is an input type that accepts GetSkeClusterAccessArgs and GetSkeClusterAccessOutput values. +// You can construct a concrete instance of `GetSkeClusterAccessInput` via: // -// GetSfsExportPolicyRuleArray{ GetSfsExportPolicyRuleArgs{...} } -type GetSfsExportPolicyRuleArrayInput interface { +// GetSkeClusterAccessArgs{...} +type GetSkeClusterAccessInput interface { pulumi.Input - ToGetSfsExportPolicyRuleArrayOutput() GetSfsExportPolicyRuleArrayOutput - ToGetSfsExportPolicyRuleArrayOutputWithContext(context.Context) GetSfsExportPolicyRuleArrayOutput -} - -type GetSfsExportPolicyRuleArray []GetSfsExportPolicyRuleInput - -func (GetSfsExportPolicyRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsExportPolicyRule)(nil)).Elem() -} - -func (i GetSfsExportPolicyRuleArray) ToGetSfsExportPolicyRuleArrayOutput() GetSfsExportPolicyRuleArrayOutput { - return i.ToGetSfsExportPolicyRuleArrayOutputWithContext(context.Background()) -} - -func (i GetSfsExportPolicyRuleArray) ToGetSfsExportPolicyRuleArrayOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsExportPolicyRuleArrayOutput) -} - -type GetSfsExportPolicyRuleOutput struct{ *pulumi.OutputState } - -func (GetSfsExportPolicyRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsExportPolicyRule)(nil)).Elem() -} - -func (o GetSfsExportPolicyRuleOutput) ToGetSfsExportPolicyRuleOutput() GetSfsExportPolicyRuleOutput { - return o + ToGetSkeClusterAccessOutput() GetSkeClusterAccessOutput + ToGetSkeClusterAccessOutputWithContext(context.Context) GetSkeClusterAccessOutput } -func (o GetSfsExportPolicyRuleOutput) ToGetSfsExportPolicyRuleOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleOutput { - return o -} - -// Description of the Rule -func (o GetSfsExportPolicyRuleOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetSfsExportPolicyRule) *string { return v.Description }).(pulumi.StringPtrOutput) -} - -// IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). -func (o GetSfsExportPolicyRuleOutput) IpAcls() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetSfsExportPolicyRule) []string { return v.IpAcls }).(pulumi.StringArrayOutput) -} - -// Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied -func (o GetSfsExportPolicyRuleOutput) Order() pulumi.IntOutput { - return o.ApplyT(func(v GetSfsExportPolicyRule) int { return v.Order }).(pulumi.IntOutput) +type GetSkeClusterAccessArgs struct { + // Configure IDP + Idp GetSkeClusterAccessIdpInput `pulumi:"idp"` } -// Flag to indicate if client IPs matching this rule can only mount the share in read only mode -func (o GetSfsExportPolicyRuleOutput) ReadOnly() pulumi.BoolOutput { - return o.ApplyT(func(v GetSfsExportPolicyRule) bool { return v.ReadOnly }).(pulumi.BoolOutput) +func (GetSkeClusterAccessArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterAccess)(nil)).Elem() } -// Flag to honor set UUID -func (o GetSfsExportPolicyRuleOutput) SetUuid() pulumi.BoolOutput { - return o.ApplyT(func(v GetSfsExportPolicyRule) bool { return v.SetUuid }).(pulumi.BoolOutput) +func (i GetSkeClusterAccessArgs) ToGetSkeClusterAccessOutput() GetSkeClusterAccessOutput { + return i.ToGetSkeClusterAccessOutputWithContext(context.Background()) } -// Flag to indicate if client IPs matching this rule have root access on the Share -func (o GetSfsExportPolicyRuleOutput) SuperUser() pulumi.BoolOutput { - return o.ApplyT(func(v GetSfsExportPolicyRule) bool { return v.SuperUser }).(pulumi.BoolOutput) +func (i GetSkeClusterAccessArgs) ToGetSkeClusterAccessOutputWithContext(ctx context.Context) GetSkeClusterAccessOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterAccessOutput) } -type GetSfsExportPolicyRuleArrayOutput struct{ *pulumi.OutputState } +type GetSkeClusterAccessOutput struct{ *pulumi.OutputState } -func (GetSfsExportPolicyRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsExportPolicyRule)(nil)).Elem() +func (GetSkeClusterAccessOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterAccess)(nil)).Elem() } -func (o GetSfsExportPolicyRuleArrayOutput) ToGetSfsExportPolicyRuleArrayOutput() GetSfsExportPolicyRuleArrayOutput { +func (o GetSkeClusterAccessOutput) ToGetSkeClusterAccessOutput() GetSkeClusterAccessOutput { return o } -func (o GetSfsExportPolicyRuleArrayOutput) ToGetSfsExportPolicyRuleArrayOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleArrayOutput { +func (o GetSkeClusterAccessOutput) ToGetSkeClusterAccessOutputWithContext(ctx context.Context) GetSkeClusterAccessOutput { return o } -func (o GetSfsExportPolicyRuleArrayOutput) Index(i pulumi.IntInput) GetSfsExportPolicyRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSfsExportPolicyRule { - return vs[0].([]GetSfsExportPolicyRule)[vs[1].(int)] - }).(GetSfsExportPolicyRuleOutput) +// Configure IDP +func (o GetSkeClusterAccessOutput) Idp() GetSkeClusterAccessIdpOutput { + return o.ApplyT(func(v GetSkeClusterAccess) GetSkeClusterAccessIdp { return v.Idp }).(GetSkeClusterAccessIdpOutput) } -type GetSfsResourcePoolSnapshotPolicy struct { - // ID of the snapshot policy. - Id string `pulumi:"id"` - // Name of the snapshot policy. - Name string `pulumi:"name"` +type GetSkeClusterAccessIdp struct { + // Enable IDP integration for the cluster. + Enabled bool `pulumi:"enabled"` + // The IDP type. Possible values: 'stackit'. + Type string `pulumi:"type"` } -// GetSfsResourcePoolSnapshotPolicyInput is an input type that accepts GetSfsResourcePoolSnapshotPolicyArgs and GetSfsResourcePoolSnapshotPolicyOutput values. -// You can construct a concrete instance of `GetSfsResourcePoolSnapshotPolicyInput` via: +// GetSkeClusterAccessIdpInput is an input type that accepts GetSkeClusterAccessIdpArgs and GetSkeClusterAccessIdpOutput values. +// You can construct a concrete instance of `GetSkeClusterAccessIdpInput` via: // -// GetSfsResourcePoolSnapshotPolicyArgs{...} -type GetSfsResourcePoolSnapshotPolicyInput interface { +// GetSkeClusterAccessIdpArgs{...} +type GetSkeClusterAccessIdpInput interface { pulumi.Input - ToGetSfsResourcePoolSnapshotPolicyOutput() GetSfsResourcePoolSnapshotPolicyOutput - ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(context.Context) GetSfsResourcePoolSnapshotPolicyOutput + ToGetSkeClusterAccessIdpOutput() GetSkeClusterAccessIdpOutput + ToGetSkeClusterAccessIdpOutputWithContext(context.Context) GetSkeClusterAccessIdpOutput } -type GetSfsResourcePoolSnapshotPolicyArgs struct { - // ID of the snapshot policy. - Id pulumi.StringInput `pulumi:"id"` - // Name of the snapshot policy. - Name pulumi.StringInput `pulumi:"name"` +type GetSkeClusterAccessIdpArgs struct { + // Enable IDP integration for the cluster. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // The IDP type. Possible values: 'stackit'. + Type pulumi.StringInput `pulumi:"type"` } -func (GetSfsResourcePoolSnapshotPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsResourcePoolSnapshotPolicy)(nil)).Elem() +func (GetSkeClusterAccessIdpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterAccessIdp)(nil)).Elem() } -func (i GetSfsResourcePoolSnapshotPolicyArgs) ToGetSfsResourcePoolSnapshotPolicyOutput() GetSfsResourcePoolSnapshotPolicyOutput { - return i.ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(context.Background()) +func (i GetSkeClusterAccessIdpArgs) ToGetSkeClusterAccessIdpOutput() GetSkeClusterAccessIdpOutput { + return i.ToGetSkeClusterAccessIdpOutputWithContext(context.Background()) } -func (i GetSfsResourcePoolSnapshotPolicyArgs) ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsResourcePoolSnapshotPolicyOutput) +func (i GetSkeClusterAccessIdpArgs) ToGetSkeClusterAccessIdpOutputWithContext(ctx context.Context) GetSkeClusterAccessIdpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterAccessIdpOutput) } -type GetSfsResourcePoolSnapshotPolicyOutput struct{ *pulumi.OutputState } +type GetSkeClusterAccessIdpOutput struct{ *pulumi.OutputState } -func (GetSfsResourcePoolSnapshotPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsResourcePoolSnapshotPolicy)(nil)).Elem() +func (GetSkeClusterAccessIdpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterAccessIdp)(nil)).Elem() } -func (o GetSfsResourcePoolSnapshotPolicyOutput) ToGetSfsResourcePoolSnapshotPolicyOutput() GetSfsResourcePoolSnapshotPolicyOutput { +func (o GetSkeClusterAccessIdpOutput) ToGetSkeClusterAccessIdpOutput() GetSkeClusterAccessIdpOutput { return o } -func (o GetSfsResourcePoolSnapshotPolicyOutput) ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotPolicyOutput { +func (o GetSkeClusterAccessIdpOutput) ToGetSkeClusterAccessIdpOutputWithContext(ctx context.Context) GetSkeClusterAccessIdpOutput { return o } -// ID of the snapshot policy. -func (o GetSfsResourcePoolSnapshotPolicyOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsResourcePoolSnapshotPolicy) string { return v.Id }).(pulumi.StringOutput) +// Enable IDP integration for the cluster. +func (o GetSkeClusterAccessIdpOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetSkeClusterAccessIdp) bool { return v.Enabled }).(pulumi.BoolOutput) } -// Name of the snapshot policy. -func (o GetSfsResourcePoolSnapshotPolicyOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsResourcePoolSnapshotPolicy) string { return v.Name }).(pulumi.StringOutput) +// The IDP type. Possible values: 'stackit'. +func (o GetSkeClusterAccessIdpOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterAccessIdp) string { return v.Type }).(pulumi.StringOutput) } -type GetSfsResourcePoolSnapshotSnapshot struct { - // (optional) A comment to add more information about a snapshot - Comment string `pulumi:"comment"` - // creation date of the snapshot - CreatedAt string `pulumi:"createdAt"` - // Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) - LogicalSizeGigabytes int `pulumi:"logicalSizeGigabytes"` - // ID of the Resource Pool of the Snapshot - ResourcePoolId string `pulumi:"resourcePoolId"` - // Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) - SizeGigabytes int `pulumi:"sizeGigabytes"` - // Name of the Resource Pool Snapshot - SnapshotName string `pulumi:"snapshotName"` +type GetSkeClusterExtensions struct { + // Cluster access control configuration + Acl GetSkeClusterExtensionsAcl `pulumi:"acl"` + // A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. + // + // Deprecated: Use observability instead. + Argus GetSkeClusterExtensionsArgus `pulumi:"argus"` + // DNS extension configuration + Dns GetSkeClusterExtensionsDns `pulumi:"dns"` + // A single observability block as defined below. + Observability GetSkeClusterExtensionsObservability `pulumi:"observability"` } -// GetSfsResourcePoolSnapshotSnapshotInput is an input type that accepts GetSfsResourcePoolSnapshotSnapshotArgs and GetSfsResourcePoolSnapshotSnapshotOutput values. -// You can construct a concrete instance of `GetSfsResourcePoolSnapshotSnapshotInput` via: +// GetSkeClusterExtensionsInput is an input type that accepts GetSkeClusterExtensionsArgs and GetSkeClusterExtensionsOutput values. +// You can construct a concrete instance of `GetSkeClusterExtensionsInput` via: // -// GetSfsResourcePoolSnapshotSnapshotArgs{...} -type GetSfsResourcePoolSnapshotSnapshotInput interface { +// GetSkeClusterExtensionsArgs{...} +type GetSkeClusterExtensionsInput interface { pulumi.Input - ToGetSfsResourcePoolSnapshotSnapshotOutput() GetSfsResourcePoolSnapshotSnapshotOutput - ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(context.Context) GetSfsResourcePoolSnapshotSnapshotOutput + ToGetSkeClusterExtensionsOutput() GetSkeClusterExtensionsOutput + ToGetSkeClusterExtensionsOutputWithContext(context.Context) GetSkeClusterExtensionsOutput } -type GetSfsResourcePoolSnapshotSnapshotArgs struct { - // (optional) A comment to add more information about a snapshot - Comment pulumi.StringInput `pulumi:"comment"` - // creation date of the snapshot - CreatedAt pulumi.StringInput `pulumi:"createdAt"` - // Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) - LogicalSizeGigabytes pulumi.IntInput `pulumi:"logicalSizeGigabytes"` - // ID of the Resource Pool of the Snapshot - ResourcePoolId pulumi.StringInput `pulumi:"resourcePoolId"` - // Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) - SizeGigabytes pulumi.IntInput `pulumi:"sizeGigabytes"` - // Name of the Resource Pool Snapshot - SnapshotName pulumi.StringInput `pulumi:"snapshotName"` +type GetSkeClusterExtensionsArgs struct { + // Cluster access control configuration + Acl GetSkeClusterExtensionsAclInput `pulumi:"acl"` + // A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. + // + // Deprecated: Use observability instead. + Argus GetSkeClusterExtensionsArgusInput `pulumi:"argus"` + // DNS extension configuration + Dns GetSkeClusterExtensionsDnsInput `pulumi:"dns"` + // A single observability block as defined below. + Observability GetSkeClusterExtensionsObservabilityInput `pulumi:"observability"` } -func (GetSfsResourcePoolSnapshotSnapshotArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() +func (GetSkeClusterExtensionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensions)(nil)).Elem() } -func (i GetSfsResourcePoolSnapshotSnapshotArgs) ToGetSfsResourcePoolSnapshotSnapshotOutput() GetSfsResourcePoolSnapshotSnapshotOutput { - return i.ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(context.Background()) +func (i GetSkeClusterExtensionsArgs) ToGetSkeClusterExtensionsOutput() GetSkeClusterExtensionsOutput { + return i.ToGetSkeClusterExtensionsOutputWithContext(context.Background()) } -func (i GetSfsResourcePoolSnapshotSnapshotArgs) ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsResourcePoolSnapshotSnapshotOutput) +func (i GetSkeClusterExtensionsArgs) ToGetSkeClusterExtensionsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsOutput) } -// GetSfsResourcePoolSnapshotSnapshotArrayInput is an input type that accepts GetSfsResourcePoolSnapshotSnapshotArray and GetSfsResourcePoolSnapshotSnapshotArrayOutput values. -// You can construct a concrete instance of `GetSfsResourcePoolSnapshotSnapshotArrayInput` via: -// -// GetSfsResourcePoolSnapshotSnapshotArray{ GetSfsResourcePoolSnapshotSnapshotArgs{...} } -type GetSfsResourcePoolSnapshotSnapshotArrayInput interface { - pulumi.Input +type GetSkeClusterExtensionsOutput struct{ *pulumi.OutputState } - ToGetSfsResourcePoolSnapshotSnapshotArrayOutput() GetSfsResourcePoolSnapshotSnapshotArrayOutput - ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(context.Context) GetSfsResourcePoolSnapshotSnapshotArrayOutput +func (GetSkeClusterExtensionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensions)(nil)).Elem() } -type GetSfsResourcePoolSnapshotSnapshotArray []GetSfsResourcePoolSnapshotSnapshotInput - -func (GetSfsResourcePoolSnapshotSnapshotArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() +func (o GetSkeClusterExtensionsOutput) ToGetSkeClusterExtensionsOutput() GetSkeClusterExtensionsOutput { + return o } -func (i GetSfsResourcePoolSnapshotSnapshotArray) ToGetSfsResourcePoolSnapshotSnapshotArrayOutput() GetSfsResourcePoolSnapshotSnapshotArrayOutput { - return i.ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(context.Background()) +func (o GetSkeClusterExtensionsOutput) ToGetSkeClusterExtensionsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsOutput { + return o } -func (i GetSfsResourcePoolSnapshotSnapshotArray) ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsResourcePoolSnapshotSnapshotArrayOutput) +// Cluster access control configuration +func (o GetSkeClusterExtensionsOutput) Acl() GetSkeClusterExtensionsAclOutput { + return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsAcl { return v.Acl }).(GetSkeClusterExtensionsAclOutput) } -type GetSfsResourcePoolSnapshotSnapshotOutput struct{ *pulumi.OutputState } - -func (GetSfsResourcePoolSnapshotSnapshotOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() +// A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. +// +// Deprecated: Use observability instead. +func (o GetSkeClusterExtensionsOutput) Argus() GetSkeClusterExtensionsArgusOutput { + return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsArgus { return v.Argus }).(GetSkeClusterExtensionsArgusOutput) } -func (o GetSfsResourcePoolSnapshotSnapshotOutput) ToGetSfsResourcePoolSnapshotSnapshotOutput() GetSfsResourcePoolSnapshotSnapshotOutput { - return o +// DNS extension configuration +func (o GetSkeClusterExtensionsOutput) Dns() GetSkeClusterExtensionsDnsOutput { + return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsDns { return v.Dns }).(GetSkeClusterExtensionsDnsOutput) } -func (o GetSfsResourcePoolSnapshotSnapshotOutput) ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotOutput { - return o +// A single observability block as defined below. +func (o GetSkeClusterExtensionsOutput) Observability() GetSkeClusterExtensionsObservabilityOutput { + return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsObservability { return v.Observability }).(GetSkeClusterExtensionsObservabilityOutput) } -// (optional) A comment to add more information about a snapshot -func (o GetSfsResourcePoolSnapshotSnapshotOutput) Comment() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.Comment }).(pulumi.StringOutput) +type GetSkeClusterExtensionsAcl struct { + // Specify a list of CIDRs to whitelist + AllowedCidrs []string `pulumi:"allowedCidrs"` + // Is ACL enabled? + Enabled bool `pulumi:"enabled"` } -// creation date of the snapshot -func (o GetSfsResourcePoolSnapshotSnapshotOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.CreatedAt }).(pulumi.StringOutput) +// GetSkeClusterExtensionsAclInput is an input type that accepts GetSkeClusterExtensionsAclArgs and GetSkeClusterExtensionsAclOutput values. +// You can construct a concrete instance of `GetSkeClusterExtensionsAclInput` via: +// +// GetSkeClusterExtensionsAclArgs{...} +type GetSkeClusterExtensionsAclInput interface { + pulumi.Input + + ToGetSkeClusterExtensionsAclOutput() GetSkeClusterExtensionsAclOutput + ToGetSkeClusterExtensionsAclOutputWithContext(context.Context) GetSkeClusterExtensionsAclOutput } -// Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) -func (o GetSfsResourcePoolSnapshotSnapshotOutput) LogicalSizeGigabytes() pulumi.IntOutput { - return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) int { return v.LogicalSizeGigabytes }).(pulumi.IntOutput) +type GetSkeClusterExtensionsAclArgs struct { + // Specify a list of CIDRs to whitelist + AllowedCidrs pulumi.StringArrayInput `pulumi:"allowedCidrs"` + // Is ACL enabled? + Enabled pulumi.BoolInput `pulumi:"enabled"` } -// ID of the Resource Pool of the Snapshot -func (o GetSfsResourcePoolSnapshotSnapshotOutput) ResourcePoolId() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.ResourcePoolId }).(pulumi.StringOutput) +func (GetSkeClusterExtensionsAclArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensionsAcl)(nil)).Elem() } -// Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) -func (o GetSfsResourcePoolSnapshotSnapshotOutput) SizeGigabytes() pulumi.IntOutput { - return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) int { return v.SizeGigabytes }).(pulumi.IntOutput) +func (i GetSkeClusterExtensionsAclArgs) ToGetSkeClusterExtensionsAclOutput() GetSkeClusterExtensionsAclOutput { + return i.ToGetSkeClusterExtensionsAclOutputWithContext(context.Background()) } -// Name of the Resource Pool Snapshot -func (o GetSfsResourcePoolSnapshotSnapshotOutput) SnapshotName() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.SnapshotName }).(pulumi.StringOutput) +func (i GetSkeClusterExtensionsAclArgs) ToGetSkeClusterExtensionsAclOutputWithContext(ctx context.Context) GetSkeClusterExtensionsAclOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsAclOutput) } -type GetSfsResourcePoolSnapshotSnapshotArrayOutput struct{ *pulumi.OutputState } +type GetSkeClusterExtensionsAclOutput struct{ *pulumi.OutputState } -func (GetSfsResourcePoolSnapshotSnapshotArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() +func (GetSkeClusterExtensionsAclOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensionsAcl)(nil)).Elem() } -func (o GetSfsResourcePoolSnapshotSnapshotArrayOutput) ToGetSfsResourcePoolSnapshotSnapshotArrayOutput() GetSfsResourcePoolSnapshotSnapshotArrayOutput { +func (o GetSkeClusterExtensionsAclOutput) ToGetSkeClusterExtensionsAclOutput() GetSkeClusterExtensionsAclOutput { return o } -func (o GetSfsResourcePoolSnapshotSnapshotArrayOutput) ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotArrayOutput { +func (o GetSkeClusterExtensionsAclOutput) ToGetSkeClusterExtensionsAclOutputWithContext(ctx context.Context) GetSkeClusterExtensionsAclOutput { return o } -func (o GetSfsResourcePoolSnapshotSnapshotArrayOutput) Index(i pulumi.IntInput) GetSfsResourcePoolSnapshotSnapshotOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSfsResourcePoolSnapshotSnapshot { - return vs[0].([]GetSfsResourcePoolSnapshotSnapshot)[vs[1].(int)] - }).(GetSfsResourcePoolSnapshotSnapshotOutput) +// Specify a list of CIDRs to whitelist +func (o GetSkeClusterExtensionsAclOutput) AllowedCidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetSkeClusterExtensionsAcl) []string { return v.AllowedCidrs }).(pulumi.StringArrayOutput) } -type GetSfsSnapshotPoliciesItem struct { - // Comment of the Snapshot Policy. - Comment string `pulumi:"comment"` - // Created At timestamp. - CreatedAt string `pulumi:"createdAt"` - // Wether the Snapshot Policy is enabled. +// Is ACL enabled? +func (o GetSkeClusterExtensionsAclOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetSkeClusterExtensionsAcl) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +type GetSkeClusterExtensionsArgus struct { + // Instance ID of argus + ArgusInstanceId string `pulumi:"argusInstanceId"` + // Flag to enable/disable argus extensions. Enabled bool `pulumi:"enabled"` - // ID of the Snapshot Policy. - Id string `pulumi:"id"` - // Name of the Snapshot Policy. - Name string `pulumi:"name"` - SnapshotSchedules []GetSfsSnapshotPoliciesItemSnapshotSchedule `pulumi:"snapshotSchedules"` } -// GetSfsSnapshotPoliciesItemInput is an input type that accepts GetSfsSnapshotPoliciesItemArgs and GetSfsSnapshotPoliciesItemOutput values. -// You can construct a concrete instance of `GetSfsSnapshotPoliciesItemInput` via: -// -// GetSfsSnapshotPoliciesItemArgs{...} -type GetSfsSnapshotPoliciesItemInput interface { - pulumi.Input - - ToGetSfsSnapshotPoliciesItemOutput() GetSfsSnapshotPoliciesItemOutput - ToGetSfsSnapshotPoliciesItemOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemOutput +// GetSkeClusterExtensionsArgusInput is an input type that accepts GetSkeClusterExtensionsArgusArgs and GetSkeClusterExtensionsArgusOutput values. +// You can construct a concrete instance of `GetSkeClusterExtensionsArgusInput` via: +// +// GetSkeClusterExtensionsArgusArgs{...} +type GetSkeClusterExtensionsArgusInput interface { + pulumi.Input + + ToGetSkeClusterExtensionsArgusOutput() GetSkeClusterExtensionsArgusOutput + ToGetSkeClusterExtensionsArgusOutputWithContext(context.Context) GetSkeClusterExtensionsArgusOutput +} + +type GetSkeClusterExtensionsArgusArgs struct { + // Instance ID of argus + ArgusInstanceId pulumi.StringInput `pulumi:"argusInstanceId"` + // Flag to enable/disable argus extensions. + Enabled pulumi.BoolInput `pulumi:"enabled"` +} + +func (GetSkeClusterExtensionsArgusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensionsArgus)(nil)).Elem() +} + +func (i GetSkeClusterExtensionsArgusArgs) ToGetSkeClusterExtensionsArgusOutput() GetSkeClusterExtensionsArgusOutput { + return i.ToGetSkeClusterExtensionsArgusOutputWithContext(context.Background()) +} + +func (i GetSkeClusterExtensionsArgusArgs) ToGetSkeClusterExtensionsArgusOutputWithContext(ctx context.Context) GetSkeClusterExtensionsArgusOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsArgusOutput) +} + +type GetSkeClusterExtensionsArgusOutput struct{ *pulumi.OutputState } + +func (GetSkeClusterExtensionsArgusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensionsArgus)(nil)).Elem() +} + +func (o GetSkeClusterExtensionsArgusOutput) ToGetSkeClusterExtensionsArgusOutput() GetSkeClusterExtensionsArgusOutput { + return o } -type GetSfsSnapshotPoliciesItemArgs struct { - // Comment of the Snapshot Policy. - Comment pulumi.StringInput `pulumi:"comment"` - // Created At timestamp. - CreatedAt pulumi.StringInput `pulumi:"createdAt"` - // Wether the Snapshot Policy is enabled. - Enabled pulumi.BoolInput `pulumi:"enabled"` - // ID of the Snapshot Policy. - Id pulumi.StringInput `pulumi:"id"` - // Name of the Snapshot Policy. - Name pulumi.StringInput `pulumi:"name"` - SnapshotSchedules GetSfsSnapshotPoliciesItemSnapshotScheduleArrayInput `pulumi:"snapshotSchedules"` +func (o GetSkeClusterExtensionsArgusOutput) ToGetSkeClusterExtensionsArgusOutputWithContext(ctx context.Context) GetSkeClusterExtensionsArgusOutput { + return o } -func (GetSfsSnapshotPoliciesItemArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsSnapshotPoliciesItem)(nil)).Elem() +// Instance ID of argus +func (o GetSkeClusterExtensionsArgusOutput) ArgusInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterExtensionsArgus) string { return v.ArgusInstanceId }).(pulumi.StringOutput) } -func (i GetSfsSnapshotPoliciesItemArgs) ToGetSfsSnapshotPoliciesItemOutput() GetSfsSnapshotPoliciesItemOutput { - return i.ToGetSfsSnapshotPoliciesItemOutputWithContext(context.Background()) +// Flag to enable/disable argus extensions. +func (o GetSkeClusterExtensionsArgusOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetSkeClusterExtensionsArgus) bool { return v.Enabled }).(pulumi.BoolOutput) } -func (i GetSfsSnapshotPoliciesItemArgs) ToGetSfsSnapshotPoliciesItemOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemOutput) +type GetSkeClusterExtensionsDns struct { + // Flag to enable/disable DNS extensions + Enabled bool `pulumi:"enabled"` + // Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) + Zones []string `pulumi:"zones"` } -// GetSfsSnapshotPoliciesItemArrayInput is an input type that accepts GetSfsSnapshotPoliciesItemArray and GetSfsSnapshotPoliciesItemArrayOutput values. -// You can construct a concrete instance of `GetSfsSnapshotPoliciesItemArrayInput` via: +// GetSkeClusterExtensionsDnsInput is an input type that accepts GetSkeClusterExtensionsDnsArgs and GetSkeClusterExtensionsDnsOutput values. +// You can construct a concrete instance of `GetSkeClusterExtensionsDnsInput` via: // -// GetSfsSnapshotPoliciesItemArray{ GetSfsSnapshotPoliciesItemArgs{...} } -type GetSfsSnapshotPoliciesItemArrayInput interface { +// GetSkeClusterExtensionsDnsArgs{...} +type GetSkeClusterExtensionsDnsInput interface { pulumi.Input - ToGetSfsSnapshotPoliciesItemArrayOutput() GetSfsSnapshotPoliciesItemArrayOutput - ToGetSfsSnapshotPoliciesItemArrayOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemArrayOutput + ToGetSkeClusterExtensionsDnsOutput() GetSkeClusterExtensionsDnsOutput + ToGetSkeClusterExtensionsDnsOutputWithContext(context.Context) GetSkeClusterExtensionsDnsOutput } -type GetSfsSnapshotPoliciesItemArray []GetSfsSnapshotPoliciesItemInput +type GetSkeClusterExtensionsDnsArgs struct { + // Flag to enable/disable DNS extensions + Enabled pulumi.BoolInput `pulumi:"enabled"` + // Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) + Zones pulumi.StringArrayInput `pulumi:"zones"` +} -func (GetSfsSnapshotPoliciesItemArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItem)(nil)).Elem() +func (GetSkeClusterExtensionsDnsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensionsDns)(nil)).Elem() } -func (i GetSfsSnapshotPoliciesItemArray) ToGetSfsSnapshotPoliciesItemArrayOutput() GetSfsSnapshotPoliciesItemArrayOutput { - return i.ToGetSfsSnapshotPoliciesItemArrayOutputWithContext(context.Background()) +func (i GetSkeClusterExtensionsDnsArgs) ToGetSkeClusterExtensionsDnsOutput() GetSkeClusterExtensionsDnsOutput { + return i.ToGetSkeClusterExtensionsDnsOutputWithContext(context.Background()) } -func (i GetSfsSnapshotPoliciesItemArray) ToGetSfsSnapshotPoliciesItemArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemArrayOutput) +func (i GetSkeClusterExtensionsDnsArgs) ToGetSkeClusterExtensionsDnsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsDnsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsDnsOutput) } -type GetSfsSnapshotPoliciesItemOutput struct{ *pulumi.OutputState } +type GetSkeClusterExtensionsDnsOutput struct{ *pulumi.OutputState } -func (GetSfsSnapshotPoliciesItemOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsSnapshotPoliciesItem)(nil)).Elem() +func (GetSkeClusterExtensionsDnsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensionsDns)(nil)).Elem() } -func (o GetSfsSnapshotPoliciesItemOutput) ToGetSfsSnapshotPoliciesItemOutput() GetSfsSnapshotPoliciesItemOutput { +func (o GetSkeClusterExtensionsDnsOutput) ToGetSkeClusterExtensionsDnsOutput() GetSkeClusterExtensionsDnsOutput { return o } -func (o GetSfsSnapshotPoliciesItemOutput) ToGetSfsSnapshotPoliciesItemOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemOutput { +func (o GetSkeClusterExtensionsDnsOutput) ToGetSkeClusterExtensionsDnsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsDnsOutput { return o } -// Comment of the Snapshot Policy. -func (o GetSfsSnapshotPoliciesItemOutput) Comment() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) string { return v.Comment }).(pulumi.StringOutput) +// Flag to enable/disable DNS extensions +func (o GetSkeClusterExtensionsDnsOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetSkeClusterExtensionsDns) bool { return v.Enabled }).(pulumi.BoolOutput) } -// Created At timestamp. -func (o GetSfsSnapshotPoliciesItemOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) string { return v.CreatedAt }).(pulumi.StringOutput) +// Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) +func (o GetSkeClusterExtensionsDnsOutput) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetSkeClusterExtensionsDns) []string { return v.Zones }).(pulumi.StringArrayOutput) } -// Wether the Snapshot Policy is enabled. -func (o GetSfsSnapshotPoliciesItemOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) bool { return v.Enabled }).(pulumi.BoolOutput) +type GetSkeClusterExtensionsObservability struct { + // Flag to enable/disable Observability extensions. + Enabled bool `pulumi:"enabled"` + // Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`. + InstanceId string `pulumi:"instanceId"` } -// ID of the Snapshot Policy. -func (o GetSfsSnapshotPoliciesItemOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) string { return v.Id }).(pulumi.StringOutput) +// GetSkeClusterExtensionsObservabilityInput is an input type that accepts GetSkeClusterExtensionsObservabilityArgs and GetSkeClusterExtensionsObservabilityOutput values. +// You can construct a concrete instance of `GetSkeClusterExtensionsObservabilityInput` via: +// +// GetSkeClusterExtensionsObservabilityArgs{...} +type GetSkeClusterExtensionsObservabilityInput interface { + pulumi.Input + + ToGetSkeClusterExtensionsObservabilityOutput() GetSkeClusterExtensionsObservabilityOutput + ToGetSkeClusterExtensionsObservabilityOutputWithContext(context.Context) GetSkeClusterExtensionsObservabilityOutput } -// Name of the Snapshot Policy. -func (o GetSfsSnapshotPoliciesItemOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) string { return v.Name }).(pulumi.StringOutput) +type GetSkeClusterExtensionsObservabilityArgs struct { + // Flag to enable/disable Observability extensions. + Enabled pulumi.BoolInput `pulumi:"enabled"` + // Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`. + InstanceId pulumi.StringInput `pulumi:"instanceId"` } -func (o GetSfsSnapshotPoliciesItemOutput) SnapshotSchedules() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) []GetSfsSnapshotPoliciesItemSnapshotSchedule { - return v.SnapshotSchedules - }).(GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) +func (GetSkeClusterExtensionsObservabilityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensionsObservability)(nil)).Elem() } -type GetSfsSnapshotPoliciesItemArrayOutput struct{ *pulumi.OutputState } +func (i GetSkeClusterExtensionsObservabilityArgs) ToGetSkeClusterExtensionsObservabilityOutput() GetSkeClusterExtensionsObservabilityOutput { + return i.ToGetSkeClusterExtensionsObservabilityOutputWithContext(context.Background()) +} -func (GetSfsSnapshotPoliciesItemArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItem)(nil)).Elem() +func (i GetSkeClusterExtensionsObservabilityArgs) ToGetSkeClusterExtensionsObservabilityOutputWithContext(ctx context.Context) GetSkeClusterExtensionsObservabilityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsObservabilityOutput) } -func (o GetSfsSnapshotPoliciesItemArrayOutput) ToGetSfsSnapshotPoliciesItemArrayOutput() GetSfsSnapshotPoliciesItemArrayOutput { +type GetSkeClusterExtensionsObservabilityOutput struct{ *pulumi.OutputState } + +func (GetSkeClusterExtensionsObservabilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensionsObservability)(nil)).Elem() +} + +func (o GetSkeClusterExtensionsObservabilityOutput) ToGetSkeClusterExtensionsObservabilityOutput() GetSkeClusterExtensionsObservabilityOutput { return o } -func (o GetSfsSnapshotPoliciesItemArrayOutput) ToGetSfsSnapshotPoliciesItemArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemArrayOutput { +func (o GetSkeClusterExtensionsObservabilityOutput) ToGetSkeClusterExtensionsObservabilityOutputWithContext(ctx context.Context) GetSkeClusterExtensionsObservabilityOutput { return o } -func (o GetSfsSnapshotPoliciesItemArrayOutput) Index(i pulumi.IntInput) GetSfsSnapshotPoliciesItemOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSfsSnapshotPoliciesItem { - return vs[0].([]GetSfsSnapshotPoliciesItem)[vs[1].(int)] - }).(GetSfsSnapshotPoliciesItemOutput) +// Flag to enable/disable Observability extensions. +func (o GetSkeClusterExtensionsObservabilityOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetSkeClusterExtensionsObservability) bool { return v.Enabled }).(pulumi.BoolOutput) } -type GetSfsSnapshotPoliciesItemSnapshotSchedule struct { - // Created At timestamp. - CreatedAt string `pulumi:"createdAt"` - // ID of the Snapshot Schedule. - Id string `pulumi:"id"` - // Interval of the Snapshot Schedule (follows the cron schedule xpression in Unix-like systems). - Interval string `pulumi:"interval"` - // Name of the Snapshot Schedule. - Name string `pulumi:"name"` - // Prefix used for snapshots created by this policy. - Prefix string `pulumi:"prefix"` - // Retention Count. - RetentionCount int `pulumi:"retentionCount"` - // Retention Period (ISO 8601 format or 'infinite'). - RetentionPeriod string `pulumi:"retentionPeriod"` +// Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`. +func (o GetSkeClusterExtensionsObservabilityOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterExtensionsObservability) string { return v.InstanceId }).(pulumi.StringOutput) } -// GetSfsSnapshotPoliciesItemSnapshotScheduleInput is an input type that accepts GetSfsSnapshotPoliciesItemSnapshotScheduleArgs and GetSfsSnapshotPoliciesItemSnapshotScheduleOutput values. -// You can construct a concrete instance of `GetSfsSnapshotPoliciesItemSnapshotScheduleInput` via: +type GetSkeClusterHibernation struct { + // End time of hibernation, in crontab syntax. + End string `pulumi:"end"` + // Start time of cluster hibernation in crontab syntax. + Start string `pulumi:"start"` + // Timezone name corresponding to a file in the IANA Time Zone database. + Timezone string `pulumi:"timezone"` +} + +// GetSkeClusterHibernationInput is an input type that accepts GetSkeClusterHibernationArgs and GetSkeClusterHibernationOutput values. +// You can construct a concrete instance of `GetSkeClusterHibernationInput` via: // -// GetSfsSnapshotPoliciesItemSnapshotScheduleArgs{...} -type GetSfsSnapshotPoliciesItemSnapshotScheduleInput interface { +// GetSkeClusterHibernationArgs{...} +type GetSkeClusterHibernationInput interface { pulumi.Input - ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleOutput - ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleOutput + ToGetSkeClusterHibernationOutput() GetSkeClusterHibernationOutput + ToGetSkeClusterHibernationOutputWithContext(context.Context) GetSkeClusterHibernationOutput } -type GetSfsSnapshotPoliciesItemSnapshotScheduleArgs struct { - // Created At timestamp. - CreatedAt pulumi.StringInput `pulumi:"createdAt"` - // ID of the Snapshot Schedule. - Id pulumi.StringInput `pulumi:"id"` - // Interval of the Snapshot Schedule (follows the cron schedule xpression in Unix-like systems). - Interval pulumi.StringInput `pulumi:"interval"` - // Name of the Snapshot Schedule. - Name pulumi.StringInput `pulumi:"name"` - // Prefix used for snapshots created by this policy. - Prefix pulumi.StringInput `pulumi:"prefix"` - // Retention Count. - RetentionCount pulumi.IntInput `pulumi:"retentionCount"` - // Retention Period (ISO 8601 format or 'infinite'). - RetentionPeriod pulumi.StringInput `pulumi:"retentionPeriod"` +type GetSkeClusterHibernationArgs struct { + // End time of hibernation, in crontab syntax. + End pulumi.StringInput `pulumi:"end"` + // Start time of cluster hibernation in crontab syntax. + Start pulumi.StringInput `pulumi:"start"` + // Timezone name corresponding to a file in the IANA Time Zone database. + Timezone pulumi.StringInput `pulumi:"timezone"` } -func (GetSfsSnapshotPoliciesItemSnapshotScheduleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() +func (GetSkeClusterHibernationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterHibernation)(nil)).Elem() } -func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArgs) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { - return i.ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutputWithContext(context.Background()) +func (i GetSkeClusterHibernationArgs) ToGetSkeClusterHibernationOutput() GetSkeClusterHibernationOutput { + return i.ToGetSkeClusterHibernationOutputWithContext(context.Background()) } -func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArgs) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) +func (i GetSkeClusterHibernationArgs) ToGetSkeClusterHibernationOutputWithContext(ctx context.Context) GetSkeClusterHibernationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterHibernationOutput) } -// GetSfsSnapshotPoliciesItemSnapshotScheduleArrayInput is an input type that accepts GetSfsSnapshotPoliciesItemSnapshotScheduleArray and GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput values. -// You can construct a concrete instance of `GetSfsSnapshotPoliciesItemSnapshotScheduleArrayInput` via: +// GetSkeClusterHibernationArrayInput is an input type that accepts GetSkeClusterHibernationArray and GetSkeClusterHibernationArrayOutput values. +// You can construct a concrete instance of `GetSkeClusterHibernationArrayInput` via: // -// GetSfsSnapshotPoliciesItemSnapshotScheduleArray{ GetSfsSnapshotPoliciesItemSnapshotScheduleArgs{...} } -type GetSfsSnapshotPoliciesItemSnapshotScheduleArrayInput interface { +// GetSkeClusterHibernationArray{ GetSkeClusterHibernationArgs{...} } +type GetSkeClusterHibernationArrayInput interface { pulumi.Input - ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput - ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput + ToGetSkeClusterHibernationArrayOutput() GetSkeClusterHibernationArrayOutput + ToGetSkeClusterHibernationArrayOutputWithContext(context.Context) GetSkeClusterHibernationArrayOutput +} + +type GetSkeClusterHibernationArray []GetSkeClusterHibernationInput + +func (GetSkeClusterHibernationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeClusterHibernation)(nil)).Elem() +} + +func (i GetSkeClusterHibernationArray) ToGetSkeClusterHibernationArrayOutput() GetSkeClusterHibernationArrayOutput { + return i.ToGetSkeClusterHibernationArrayOutputWithContext(context.Background()) +} + +func (i GetSkeClusterHibernationArray) ToGetSkeClusterHibernationArrayOutputWithContext(ctx context.Context) GetSkeClusterHibernationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterHibernationArrayOutput) +} + +type GetSkeClusterHibernationOutput struct{ *pulumi.OutputState } + +func (GetSkeClusterHibernationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterHibernation)(nil)).Elem() } -type GetSfsSnapshotPoliciesItemSnapshotScheduleArray []GetSfsSnapshotPoliciesItemSnapshotScheduleInput +func (o GetSkeClusterHibernationOutput) ToGetSkeClusterHibernationOutput() GetSkeClusterHibernationOutput { + return o +} -func (GetSfsSnapshotPoliciesItemSnapshotScheduleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() +func (o GetSkeClusterHibernationOutput) ToGetSkeClusterHibernationOutputWithContext(ctx context.Context) GetSkeClusterHibernationOutput { + return o } -func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArray) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { - return i.ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(context.Background()) +// End time of hibernation, in crontab syntax. +func (o GetSkeClusterHibernationOutput) End() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterHibernation) string { return v.End }).(pulumi.StringOutput) } -func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArray) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) +// Start time of cluster hibernation in crontab syntax. +func (o GetSkeClusterHibernationOutput) Start() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterHibernation) string { return v.Start }).(pulumi.StringOutput) } -type GetSfsSnapshotPoliciesItemSnapshotScheduleOutput struct{ *pulumi.OutputState } +// Timezone name corresponding to a file in the IANA Time Zone database. +func (o GetSkeClusterHibernationOutput) Timezone() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterHibernation) string { return v.Timezone }).(pulumi.StringOutput) +} -func (GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() +type GetSkeClusterHibernationArrayOutput struct{ *pulumi.OutputState } + +func (GetSkeClusterHibernationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeClusterHibernation)(nil)).Elem() } -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { +func (o GetSkeClusterHibernationArrayOutput) ToGetSkeClusterHibernationArrayOutput() GetSkeClusterHibernationArrayOutput { return o } -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { +func (o GetSkeClusterHibernationArrayOutput) ToGetSkeClusterHibernationArrayOutputWithContext(ctx context.Context) GetSkeClusterHibernationArrayOutput { return o } -// Created At timestamp. -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.CreatedAt }).(pulumi.StringOutput) +func (o GetSkeClusterHibernationArrayOutput) Index(i pulumi.IntInput) GetSkeClusterHibernationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeClusterHibernation { + return vs[0].([]GetSkeClusterHibernation)[vs[1].(int)] + }).(GetSkeClusterHibernationOutput) } -// ID of the Snapshot Schedule. -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.Id }).(pulumi.StringOutput) +type GetSkeClusterMaintenance struct { + // Flag to enable/disable auto-updates of the Kubernetes version. + EnableKubernetesVersionUpdates bool `pulumi:"enableKubernetesVersionUpdates"` + // Flag to enable/disable auto-updates of the OS image version. + EnableMachineImageVersionUpdates bool `pulumi:"enableMachineImageVersionUpdates"` + // Date time for maintenance window end. + End string `pulumi:"end"` + // Date time for maintenance window start. + Start string `pulumi:"start"` } -// Interval of the Snapshot Schedule (follows the cron schedule xpression in Unix-like systems). -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) Interval() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.Interval }).(pulumi.StringOutput) +// GetSkeClusterMaintenanceInput is an input type that accepts GetSkeClusterMaintenanceArgs and GetSkeClusterMaintenanceOutput values. +// You can construct a concrete instance of `GetSkeClusterMaintenanceInput` via: +// +// GetSkeClusterMaintenanceArgs{...} +type GetSkeClusterMaintenanceInput interface { + pulumi.Input + + ToGetSkeClusterMaintenanceOutput() GetSkeClusterMaintenanceOutput + ToGetSkeClusterMaintenanceOutputWithContext(context.Context) GetSkeClusterMaintenanceOutput } -// Name of the Snapshot Schedule. -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.Name }).(pulumi.StringOutput) +type GetSkeClusterMaintenanceArgs struct { + // Flag to enable/disable auto-updates of the Kubernetes version. + EnableKubernetesVersionUpdates pulumi.BoolInput `pulumi:"enableKubernetesVersionUpdates"` + // Flag to enable/disable auto-updates of the OS image version. + EnableMachineImageVersionUpdates pulumi.BoolInput `pulumi:"enableMachineImageVersionUpdates"` + // Date time for maintenance window end. + End pulumi.StringInput `pulumi:"end"` + // Date time for maintenance window start. + Start pulumi.StringInput `pulumi:"start"` } -// Prefix used for snapshots created by this policy. -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.Prefix }).(pulumi.StringOutput) +func (GetSkeClusterMaintenanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterMaintenance)(nil)).Elem() } -// Retention Count. -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) RetentionCount() pulumi.IntOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) int { return v.RetentionCount }).(pulumi.IntOutput) +func (i GetSkeClusterMaintenanceArgs) ToGetSkeClusterMaintenanceOutput() GetSkeClusterMaintenanceOutput { + return i.ToGetSkeClusterMaintenanceOutputWithContext(context.Background()) } -// Retention Period (ISO 8601 format or 'infinite'). -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) RetentionPeriod() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.RetentionPeriod }).(pulumi.StringOutput) +func (i GetSkeClusterMaintenanceArgs) ToGetSkeClusterMaintenanceOutputWithContext(ctx context.Context) GetSkeClusterMaintenanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterMaintenanceOutput) } -type GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput struct{ *pulumi.OutputState } +type GetSkeClusterMaintenanceOutput struct{ *pulumi.OutputState } -func (GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() +func (GetSkeClusterMaintenanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterMaintenance)(nil)).Elem() } -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { +func (o GetSkeClusterMaintenanceOutput) ToGetSkeClusterMaintenanceOutput() GetSkeClusterMaintenanceOutput { return o } -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { +func (o GetSkeClusterMaintenanceOutput) ToGetSkeClusterMaintenanceOutputWithContext(ctx context.Context) GetSkeClusterMaintenanceOutput { return o } -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) Index(i pulumi.IntInput) GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSfsSnapshotPoliciesItemSnapshotSchedule { - return vs[0].([]GetSfsSnapshotPoliciesItemSnapshotSchedule)[vs[1].(int)] - }).(GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) +// Flag to enable/disable auto-updates of the Kubernetes version. +func (o GetSkeClusterMaintenanceOutput) EnableKubernetesVersionUpdates() pulumi.BoolOutput { + return o.ApplyT(func(v GetSkeClusterMaintenance) bool { return v.EnableKubernetesVersionUpdates }).(pulumi.BoolOutput) } -type GetSkeClusterExtensions struct { - // Cluster access control configuration - Acl GetSkeClusterExtensionsAcl `pulumi:"acl"` - // A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. - // - // Deprecated: Use observability instead. - Argus GetSkeClusterExtensionsArgus `pulumi:"argus"` - // DNS extension configuration - Dns GetSkeClusterExtensionsDns `pulumi:"dns"` - // A single observability block as defined below. - Observability GetSkeClusterExtensionsObservability `pulumi:"observability"` +// Flag to enable/disable auto-updates of the OS image version. +func (o GetSkeClusterMaintenanceOutput) EnableMachineImageVersionUpdates() pulumi.BoolOutput { + return o.ApplyT(func(v GetSkeClusterMaintenance) bool { return v.EnableMachineImageVersionUpdates }).(pulumi.BoolOutput) } -// GetSkeClusterExtensionsInput is an input type that accepts GetSkeClusterExtensionsArgs and GetSkeClusterExtensionsOutput values. -// You can construct a concrete instance of `GetSkeClusterExtensionsInput` via: +// Date time for maintenance window end. +func (o GetSkeClusterMaintenanceOutput) End() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterMaintenance) string { return v.End }).(pulumi.StringOutput) +} + +// Date time for maintenance window start. +func (o GetSkeClusterMaintenanceOutput) Start() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterMaintenance) string { return v.Start }).(pulumi.StringOutput) +} + +type GetSkeClusterNetwork struct { + // Control plane for the cluster. + ControlPlane GetSkeClusterNetworkControlPlane `pulumi:"controlPlane"` + // ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. + Id string `pulumi:"id"` +} + +// GetSkeClusterNetworkInput is an input type that accepts GetSkeClusterNetworkArgs and GetSkeClusterNetworkOutput values. +// You can construct a concrete instance of `GetSkeClusterNetworkInput` via: // -// GetSkeClusterExtensionsArgs{...} -type GetSkeClusterExtensionsInput interface { +// GetSkeClusterNetworkArgs{...} +type GetSkeClusterNetworkInput interface { pulumi.Input - ToGetSkeClusterExtensionsOutput() GetSkeClusterExtensionsOutput - ToGetSkeClusterExtensionsOutputWithContext(context.Context) GetSkeClusterExtensionsOutput + ToGetSkeClusterNetworkOutput() GetSkeClusterNetworkOutput + ToGetSkeClusterNetworkOutputWithContext(context.Context) GetSkeClusterNetworkOutput } -type GetSkeClusterExtensionsArgs struct { - // Cluster access control configuration - Acl GetSkeClusterExtensionsAclInput `pulumi:"acl"` - // A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. - // - // Deprecated: Use observability instead. - Argus GetSkeClusterExtensionsArgusInput `pulumi:"argus"` - // DNS extension configuration - Dns GetSkeClusterExtensionsDnsInput `pulumi:"dns"` - // A single observability block as defined below. - Observability GetSkeClusterExtensionsObservabilityInput `pulumi:"observability"` +type GetSkeClusterNetworkArgs struct { + // Control plane for the cluster. + ControlPlane GetSkeClusterNetworkControlPlaneInput `pulumi:"controlPlane"` + // ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. + Id pulumi.StringInput `pulumi:"id"` } -func (GetSkeClusterExtensionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensions)(nil)).Elem() +func (GetSkeClusterNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNetwork)(nil)).Elem() } -func (i GetSkeClusterExtensionsArgs) ToGetSkeClusterExtensionsOutput() GetSkeClusterExtensionsOutput { - return i.ToGetSkeClusterExtensionsOutputWithContext(context.Background()) +func (i GetSkeClusterNetworkArgs) ToGetSkeClusterNetworkOutput() GetSkeClusterNetworkOutput { + return i.ToGetSkeClusterNetworkOutputWithContext(context.Background()) } -func (i GetSkeClusterExtensionsArgs) ToGetSkeClusterExtensionsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsOutput) +func (i GetSkeClusterNetworkArgs) ToGetSkeClusterNetworkOutputWithContext(ctx context.Context) GetSkeClusterNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNetworkOutput) } -type GetSkeClusterExtensionsOutput struct{ *pulumi.OutputState } +type GetSkeClusterNetworkOutput struct{ *pulumi.OutputState } -func (GetSkeClusterExtensionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensions)(nil)).Elem() +func (GetSkeClusterNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNetwork)(nil)).Elem() } -func (o GetSkeClusterExtensionsOutput) ToGetSkeClusterExtensionsOutput() GetSkeClusterExtensionsOutput { +func (o GetSkeClusterNetworkOutput) ToGetSkeClusterNetworkOutput() GetSkeClusterNetworkOutput { return o } -func (o GetSkeClusterExtensionsOutput) ToGetSkeClusterExtensionsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsOutput { +func (o GetSkeClusterNetworkOutput) ToGetSkeClusterNetworkOutputWithContext(ctx context.Context) GetSkeClusterNetworkOutput { return o } -// Cluster access control configuration -func (o GetSkeClusterExtensionsOutput) Acl() GetSkeClusterExtensionsAclOutput { - return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsAcl { return v.Acl }).(GetSkeClusterExtensionsAclOutput) -} - -// A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. -// -// Deprecated: Use observability instead. -func (o GetSkeClusterExtensionsOutput) Argus() GetSkeClusterExtensionsArgusOutput { - return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsArgus { return v.Argus }).(GetSkeClusterExtensionsArgusOutput) -} - -// DNS extension configuration -func (o GetSkeClusterExtensionsOutput) Dns() GetSkeClusterExtensionsDnsOutput { - return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsDns { return v.Dns }).(GetSkeClusterExtensionsDnsOutput) +// Control plane for the cluster. +func (o GetSkeClusterNetworkOutput) ControlPlane() GetSkeClusterNetworkControlPlaneOutput { + return o.ApplyT(func(v GetSkeClusterNetwork) GetSkeClusterNetworkControlPlane { return v.ControlPlane }).(GetSkeClusterNetworkControlPlaneOutput) } -// A single observability block as defined below. -func (o GetSkeClusterExtensionsOutput) Observability() GetSkeClusterExtensionsObservabilityOutput { - return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsObservability { return v.Observability }).(GetSkeClusterExtensionsObservabilityOutput) +// ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. +func (o GetSkeClusterNetworkOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNetwork) string { return v.Id }).(pulumi.StringOutput) } -type GetSkeClusterExtensionsAcl struct { - // Specify a list of CIDRs to whitelist - AllowedCidrs []string `pulumi:"allowedCidrs"` - // Is ACL enabled? - Enabled bool `pulumi:"enabled"` +type GetSkeClusterNetworkControlPlane struct { + // Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + AccessScope string `pulumi:"accessScope"` } -// GetSkeClusterExtensionsAclInput is an input type that accepts GetSkeClusterExtensionsAclArgs and GetSkeClusterExtensionsAclOutput values. -// You can construct a concrete instance of `GetSkeClusterExtensionsAclInput` via: +// GetSkeClusterNetworkControlPlaneInput is an input type that accepts GetSkeClusterNetworkControlPlaneArgs and GetSkeClusterNetworkControlPlaneOutput values. +// You can construct a concrete instance of `GetSkeClusterNetworkControlPlaneInput` via: // -// GetSkeClusterExtensionsAclArgs{...} -type GetSkeClusterExtensionsAclInput interface { +// GetSkeClusterNetworkControlPlaneArgs{...} +type GetSkeClusterNetworkControlPlaneInput interface { pulumi.Input - ToGetSkeClusterExtensionsAclOutput() GetSkeClusterExtensionsAclOutput - ToGetSkeClusterExtensionsAclOutputWithContext(context.Context) GetSkeClusterExtensionsAclOutput + ToGetSkeClusterNetworkControlPlaneOutput() GetSkeClusterNetworkControlPlaneOutput + ToGetSkeClusterNetworkControlPlaneOutputWithContext(context.Context) GetSkeClusterNetworkControlPlaneOutput } -type GetSkeClusterExtensionsAclArgs struct { - // Specify a list of CIDRs to whitelist - AllowedCidrs pulumi.StringArrayInput `pulumi:"allowedCidrs"` - // Is ACL enabled? - Enabled pulumi.BoolInput `pulumi:"enabled"` +type GetSkeClusterNetworkControlPlaneArgs struct { + // Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! + AccessScope pulumi.StringInput `pulumi:"accessScope"` } -func (GetSkeClusterExtensionsAclArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsAcl)(nil)).Elem() +func (GetSkeClusterNetworkControlPlaneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNetworkControlPlane)(nil)).Elem() } -func (i GetSkeClusterExtensionsAclArgs) ToGetSkeClusterExtensionsAclOutput() GetSkeClusterExtensionsAclOutput { - return i.ToGetSkeClusterExtensionsAclOutputWithContext(context.Background()) +func (i GetSkeClusterNetworkControlPlaneArgs) ToGetSkeClusterNetworkControlPlaneOutput() GetSkeClusterNetworkControlPlaneOutput { + return i.ToGetSkeClusterNetworkControlPlaneOutputWithContext(context.Background()) } - -func (i GetSkeClusterExtensionsAclArgs) ToGetSkeClusterExtensionsAclOutputWithContext(ctx context.Context) GetSkeClusterExtensionsAclOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsAclOutput) + +func (i GetSkeClusterNetworkControlPlaneArgs) ToGetSkeClusterNetworkControlPlaneOutputWithContext(ctx context.Context) GetSkeClusterNetworkControlPlaneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNetworkControlPlaneOutput) } -type GetSkeClusterExtensionsAclOutput struct{ *pulumi.OutputState } +type GetSkeClusterNetworkControlPlaneOutput struct{ *pulumi.OutputState } -func (GetSkeClusterExtensionsAclOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsAcl)(nil)).Elem() +func (GetSkeClusterNetworkControlPlaneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNetworkControlPlane)(nil)).Elem() } -func (o GetSkeClusterExtensionsAclOutput) ToGetSkeClusterExtensionsAclOutput() GetSkeClusterExtensionsAclOutput { +func (o GetSkeClusterNetworkControlPlaneOutput) ToGetSkeClusterNetworkControlPlaneOutput() GetSkeClusterNetworkControlPlaneOutput { return o } -func (o GetSkeClusterExtensionsAclOutput) ToGetSkeClusterExtensionsAclOutputWithContext(ctx context.Context) GetSkeClusterExtensionsAclOutput { +func (o GetSkeClusterNetworkControlPlaneOutput) ToGetSkeClusterNetworkControlPlaneOutputWithContext(ctx context.Context) GetSkeClusterNetworkControlPlaneOutput { return o } -// Specify a list of CIDRs to whitelist -func (o GetSkeClusterExtensionsAclOutput) AllowedCidrs() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetSkeClusterExtensionsAcl) []string { return v.AllowedCidrs }).(pulumi.StringArrayOutput) -} - -// Is ACL enabled? -func (o GetSkeClusterExtensionsAclOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetSkeClusterExtensionsAcl) bool { return v.Enabled }).(pulumi.BoolOutput) +// Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! +func (o GetSkeClusterNetworkControlPlaneOutput) AccessScope() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNetworkControlPlane) string { return v.AccessScope }).(pulumi.StringOutput) } -type GetSkeClusterExtensionsArgus struct { - // Instance ID of argus - ArgusInstanceId string `pulumi:"argusInstanceId"` - // Flag to enable/disable argus extensions. - Enabled bool `pulumi:"enabled"` +type GetSkeClusterNodePool struct { + // Allow system components to run on this node pool. + AllowSystemComponents bool `pulumi:"allowSystemComponents"` + // Specify a list of availability zones. + AvailabilityZones []string `pulumi:"availabilityZones"` + // Specifies the container runtime. + Cri string `pulumi:"cri"` + // Labels to add to each node. + Labels map[string]string `pulumi:"labels"` + // The machine type. + MachineType string `pulumi:"machineType"` + // The maximum number of nodes upgraded simultaneously. + MaxSurge int `pulumi:"maxSurge"` + // The maximum number of nodes unavailable during upgraded. + MaxUnavailable int `pulumi:"maxUnavailable"` + // Maximum number of nodes in the pool. + Maximum int `pulumi:"maximum"` + // Minimum number of nodes in the pool. + Minimum int `pulumi:"minimum"` + // Specifies the name of the node pool. + Name string `pulumi:"name"` + // The name of the OS image. + OsName string `pulumi:"osName"` + // The OS image version. + OsVersion string `pulumi:"osVersion"` + // The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. + OsVersionMin string `pulumi:"osVersionMin"` + // Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + OsVersionUsed string `pulumi:"osVersionUsed"` + // Specifies a taint list as defined below. + Taints []GetSkeClusterNodePoolTaint `pulumi:"taints"` + // The volume size in GB. + VolumeSize int `pulumi:"volumeSize"` + // Specifies the volume type. + VolumeType string `pulumi:"volumeType"` } -// GetSkeClusterExtensionsArgusInput is an input type that accepts GetSkeClusterExtensionsArgusArgs and GetSkeClusterExtensionsArgusOutput values. -// You can construct a concrete instance of `GetSkeClusterExtensionsArgusInput` via: +// GetSkeClusterNodePoolInput is an input type that accepts GetSkeClusterNodePoolArgs and GetSkeClusterNodePoolOutput values. +// You can construct a concrete instance of `GetSkeClusterNodePoolInput` via: // -// GetSkeClusterExtensionsArgusArgs{...} -type GetSkeClusterExtensionsArgusInput interface { +// GetSkeClusterNodePoolArgs{...} +type GetSkeClusterNodePoolInput interface { pulumi.Input - ToGetSkeClusterExtensionsArgusOutput() GetSkeClusterExtensionsArgusOutput - ToGetSkeClusterExtensionsArgusOutputWithContext(context.Context) GetSkeClusterExtensionsArgusOutput + ToGetSkeClusterNodePoolOutput() GetSkeClusterNodePoolOutput + ToGetSkeClusterNodePoolOutputWithContext(context.Context) GetSkeClusterNodePoolOutput } -type GetSkeClusterExtensionsArgusArgs struct { - // Instance ID of argus - ArgusInstanceId pulumi.StringInput `pulumi:"argusInstanceId"` - // Flag to enable/disable argus extensions. - Enabled pulumi.BoolInput `pulumi:"enabled"` +type GetSkeClusterNodePoolArgs struct { + // Allow system components to run on this node pool. + AllowSystemComponents pulumi.BoolInput `pulumi:"allowSystemComponents"` + // Specify a list of availability zones. + AvailabilityZones pulumi.StringArrayInput `pulumi:"availabilityZones"` + // Specifies the container runtime. + Cri pulumi.StringInput `pulumi:"cri"` + // Labels to add to each node. + Labels pulumi.StringMapInput `pulumi:"labels"` + // The machine type. + MachineType pulumi.StringInput `pulumi:"machineType"` + // The maximum number of nodes upgraded simultaneously. + MaxSurge pulumi.IntInput `pulumi:"maxSurge"` + // The maximum number of nodes unavailable during upgraded. + MaxUnavailable pulumi.IntInput `pulumi:"maxUnavailable"` + // Maximum number of nodes in the pool. + Maximum pulumi.IntInput `pulumi:"maximum"` + // Minimum number of nodes in the pool. + Minimum pulumi.IntInput `pulumi:"minimum"` + // Specifies the name of the node pool. + Name pulumi.StringInput `pulumi:"name"` + // The name of the OS image. + OsName pulumi.StringInput `pulumi:"osName"` + // The OS image version. + OsVersion pulumi.StringInput `pulumi:"osVersion"` + // The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. + OsVersionMin pulumi.StringInput `pulumi:"osVersionMin"` + // Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + OsVersionUsed pulumi.StringInput `pulumi:"osVersionUsed"` + // Specifies a taint list as defined below. + Taints GetSkeClusterNodePoolTaintArrayInput `pulumi:"taints"` + // The volume size in GB. + VolumeSize pulumi.IntInput `pulumi:"volumeSize"` + // Specifies the volume type. + VolumeType pulumi.StringInput `pulumi:"volumeType"` } -func (GetSkeClusterExtensionsArgusArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsArgus)(nil)).Elem() +func (GetSkeClusterNodePoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNodePool)(nil)).Elem() } -func (i GetSkeClusterExtensionsArgusArgs) ToGetSkeClusterExtensionsArgusOutput() GetSkeClusterExtensionsArgusOutput { - return i.ToGetSkeClusterExtensionsArgusOutputWithContext(context.Background()) +func (i GetSkeClusterNodePoolArgs) ToGetSkeClusterNodePoolOutput() GetSkeClusterNodePoolOutput { + return i.ToGetSkeClusterNodePoolOutputWithContext(context.Background()) } -func (i GetSkeClusterExtensionsArgusArgs) ToGetSkeClusterExtensionsArgusOutputWithContext(ctx context.Context) GetSkeClusterExtensionsArgusOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsArgusOutput) +func (i GetSkeClusterNodePoolArgs) ToGetSkeClusterNodePoolOutputWithContext(ctx context.Context) GetSkeClusterNodePoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolOutput) } -type GetSkeClusterExtensionsArgusOutput struct{ *pulumi.OutputState } +// GetSkeClusterNodePoolArrayInput is an input type that accepts GetSkeClusterNodePoolArray and GetSkeClusterNodePoolArrayOutput values. +// You can construct a concrete instance of `GetSkeClusterNodePoolArrayInput` via: +// +// GetSkeClusterNodePoolArray{ GetSkeClusterNodePoolArgs{...} } +type GetSkeClusterNodePoolArrayInput interface { + pulumi.Input -func (GetSkeClusterExtensionsArgusOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsArgus)(nil)).Elem() + ToGetSkeClusterNodePoolArrayOutput() GetSkeClusterNodePoolArrayOutput + ToGetSkeClusterNodePoolArrayOutputWithContext(context.Context) GetSkeClusterNodePoolArrayOutput } -func (o GetSkeClusterExtensionsArgusOutput) ToGetSkeClusterExtensionsArgusOutput() GetSkeClusterExtensionsArgusOutput { - return o -} +type GetSkeClusterNodePoolArray []GetSkeClusterNodePoolInput -func (o GetSkeClusterExtensionsArgusOutput) ToGetSkeClusterExtensionsArgusOutputWithContext(ctx context.Context) GetSkeClusterExtensionsArgusOutput { - return o +func (GetSkeClusterNodePoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeClusterNodePool)(nil)).Elem() } -// Instance ID of argus -func (o GetSkeClusterExtensionsArgusOutput) ArgusInstanceId() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterExtensionsArgus) string { return v.ArgusInstanceId }).(pulumi.StringOutput) +func (i GetSkeClusterNodePoolArray) ToGetSkeClusterNodePoolArrayOutput() GetSkeClusterNodePoolArrayOutput { + return i.ToGetSkeClusterNodePoolArrayOutputWithContext(context.Background()) } -// Flag to enable/disable argus extensions. -func (o GetSkeClusterExtensionsArgusOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetSkeClusterExtensionsArgus) bool { return v.Enabled }).(pulumi.BoolOutput) +func (i GetSkeClusterNodePoolArray) ToGetSkeClusterNodePoolArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolArrayOutput) } -type GetSkeClusterExtensionsDns struct { - // Flag to enable/disable DNS extensions - Enabled bool `pulumi:"enabled"` - // Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) - Zones []string `pulumi:"zones"` +type GetSkeClusterNodePoolOutput struct{ *pulumi.OutputState } + +func (GetSkeClusterNodePoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNodePool)(nil)).Elem() } -// GetSkeClusterExtensionsDnsInput is an input type that accepts GetSkeClusterExtensionsDnsArgs and GetSkeClusterExtensionsDnsOutput values. -// You can construct a concrete instance of `GetSkeClusterExtensionsDnsInput` via: -// -// GetSkeClusterExtensionsDnsArgs{...} -type GetSkeClusterExtensionsDnsInput interface { - pulumi.Input +func (o GetSkeClusterNodePoolOutput) ToGetSkeClusterNodePoolOutput() GetSkeClusterNodePoolOutput { + return o +} - ToGetSkeClusterExtensionsDnsOutput() GetSkeClusterExtensionsDnsOutput - ToGetSkeClusterExtensionsDnsOutputWithContext(context.Context) GetSkeClusterExtensionsDnsOutput +func (o GetSkeClusterNodePoolOutput) ToGetSkeClusterNodePoolOutputWithContext(ctx context.Context) GetSkeClusterNodePoolOutput { + return o } -type GetSkeClusterExtensionsDnsArgs struct { - // Flag to enable/disable DNS extensions - Enabled pulumi.BoolInput `pulumi:"enabled"` - // Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) - Zones pulumi.StringArrayInput `pulumi:"zones"` +// Allow system components to run on this node pool. +func (o GetSkeClusterNodePoolOutput) AllowSystemComponents() pulumi.BoolOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) bool { return v.AllowSystemComponents }).(pulumi.BoolOutput) } -func (GetSkeClusterExtensionsDnsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsDns)(nil)).Elem() +// Specify a list of availability zones. +func (o GetSkeClusterNodePoolOutput) AvailabilityZones() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) []string { return v.AvailabilityZones }).(pulumi.StringArrayOutput) } -func (i GetSkeClusterExtensionsDnsArgs) ToGetSkeClusterExtensionsDnsOutput() GetSkeClusterExtensionsDnsOutput { - return i.ToGetSkeClusterExtensionsDnsOutputWithContext(context.Background()) +// Specifies the container runtime. +func (o GetSkeClusterNodePoolOutput) Cri() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.Cri }).(pulumi.StringOutput) } -func (i GetSkeClusterExtensionsDnsArgs) ToGetSkeClusterExtensionsDnsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsDnsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsDnsOutput) +// Labels to add to each node. +func (o GetSkeClusterNodePoolOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) map[string]string { return v.Labels }).(pulumi.StringMapOutput) } -type GetSkeClusterExtensionsDnsOutput struct{ *pulumi.OutputState } +// The machine type. +func (o GetSkeClusterNodePoolOutput) MachineType() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.MachineType }).(pulumi.StringOutput) +} -func (GetSkeClusterExtensionsDnsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsDns)(nil)).Elem() +// The maximum number of nodes upgraded simultaneously. +func (o GetSkeClusterNodePoolOutput) MaxSurge() pulumi.IntOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) int { return v.MaxSurge }).(pulumi.IntOutput) } -func (o GetSkeClusterExtensionsDnsOutput) ToGetSkeClusterExtensionsDnsOutput() GetSkeClusterExtensionsDnsOutput { - return o +// The maximum number of nodes unavailable during upgraded. +func (o GetSkeClusterNodePoolOutput) MaxUnavailable() pulumi.IntOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) int { return v.MaxUnavailable }).(pulumi.IntOutput) } -func (o GetSkeClusterExtensionsDnsOutput) ToGetSkeClusterExtensionsDnsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsDnsOutput { - return o +// Maximum number of nodes in the pool. +func (o GetSkeClusterNodePoolOutput) Maximum() pulumi.IntOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) int { return v.Maximum }).(pulumi.IntOutput) } -// Flag to enable/disable DNS extensions -func (o GetSkeClusterExtensionsDnsOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetSkeClusterExtensionsDns) bool { return v.Enabled }).(pulumi.BoolOutput) +// Minimum number of nodes in the pool. +func (o GetSkeClusterNodePoolOutput) Minimum() pulumi.IntOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) int { return v.Minimum }).(pulumi.IntOutput) } -// Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) -func (o GetSkeClusterExtensionsDnsOutput) Zones() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetSkeClusterExtensionsDns) []string { return v.Zones }).(pulumi.StringArrayOutput) +// Specifies the name of the node pool. +func (o GetSkeClusterNodePoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.Name }).(pulumi.StringOutput) } -type GetSkeClusterExtensionsObservability struct { - // Flag to enable/disable Observability extensions. - Enabled bool `pulumi:"enabled"` - // Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`. - InstanceId string `pulumi:"instanceId"` +// The name of the OS image. +func (o GetSkeClusterNodePoolOutput) OsName() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.OsName }).(pulumi.StringOutput) } -// GetSkeClusterExtensionsObservabilityInput is an input type that accepts GetSkeClusterExtensionsObservabilityArgs and GetSkeClusterExtensionsObservabilityOutput values. -// You can construct a concrete instance of `GetSkeClusterExtensionsObservabilityInput` via: -// -// GetSkeClusterExtensionsObservabilityArgs{...} -type GetSkeClusterExtensionsObservabilityInput interface { - pulumi.Input +// The OS image version. +func (o GetSkeClusterNodePoolOutput) OsVersion() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.OsVersion }).(pulumi.StringOutput) +} - ToGetSkeClusterExtensionsObservabilityOutput() GetSkeClusterExtensionsObservabilityOutput - ToGetSkeClusterExtensionsObservabilityOutputWithContext(context.Context) GetSkeClusterExtensionsObservabilityOutput +// The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. +func (o GetSkeClusterNodePoolOutput) OsVersionMin() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.OsVersionMin }).(pulumi.StringOutput) } -type GetSkeClusterExtensionsObservabilityArgs struct { - // Flag to enable/disable Observability extensions. - Enabled pulumi.BoolInput `pulumi:"enabled"` - // Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`. - InstanceId pulumi.StringInput `pulumi:"instanceId"` +// Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). +func (o GetSkeClusterNodePoolOutput) OsVersionUsed() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.OsVersionUsed }).(pulumi.StringOutput) } -func (GetSkeClusterExtensionsObservabilityArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsObservability)(nil)).Elem() +// Specifies a taint list as defined below. +func (o GetSkeClusterNodePoolOutput) Taints() GetSkeClusterNodePoolTaintArrayOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) []GetSkeClusterNodePoolTaint { return v.Taints }).(GetSkeClusterNodePoolTaintArrayOutput) } -func (i GetSkeClusterExtensionsObservabilityArgs) ToGetSkeClusterExtensionsObservabilityOutput() GetSkeClusterExtensionsObservabilityOutput { - return i.ToGetSkeClusterExtensionsObservabilityOutputWithContext(context.Background()) +// The volume size in GB. +func (o GetSkeClusterNodePoolOutput) VolumeSize() pulumi.IntOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) int { return v.VolumeSize }).(pulumi.IntOutput) } -func (i GetSkeClusterExtensionsObservabilityArgs) ToGetSkeClusterExtensionsObservabilityOutputWithContext(ctx context.Context) GetSkeClusterExtensionsObservabilityOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsObservabilityOutput) +// Specifies the volume type. +func (o GetSkeClusterNodePoolOutput) VolumeType() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.VolumeType }).(pulumi.StringOutput) } -type GetSkeClusterExtensionsObservabilityOutput struct{ *pulumi.OutputState } +type GetSkeClusterNodePoolArrayOutput struct{ *pulumi.OutputState } -func (GetSkeClusterExtensionsObservabilityOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsObservability)(nil)).Elem() +func (GetSkeClusterNodePoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeClusterNodePool)(nil)).Elem() } -func (o GetSkeClusterExtensionsObservabilityOutput) ToGetSkeClusterExtensionsObservabilityOutput() GetSkeClusterExtensionsObservabilityOutput { +func (o GetSkeClusterNodePoolArrayOutput) ToGetSkeClusterNodePoolArrayOutput() GetSkeClusterNodePoolArrayOutput { return o } -func (o GetSkeClusterExtensionsObservabilityOutput) ToGetSkeClusterExtensionsObservabilityOutputWithContext(ctx context.Context) GetSkeClusterExtensionsObservabilityOutput { +func (o GetSkeClusterNodePoolArrayOutput) ToGetSkeClusterNodePoolArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolArrayOutput { return o } -// Flag to enable/disable Observability extensions. -func (o GetSkeClusterExtensionsObservabilityOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetSkeClusterExtensionsObservability) bool { return v.Enabled }).(pulumi.BoolOutput) -} - -// Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`. -func (o GetSkeClusterExtensionsObservabilityOutput) InstanceId() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterExtensionsObservability) string { return v.InstanceId }).(pulumi.StringOutput) +func (o GetSkeClusterNodePoolArrayOutput) Index(i pulumi.IntInput) GetSkeClusterNodePoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeClusterNodePool { + return vs[0].([]GetSkeClusterNodePool)[vs[1].(int)] + }).(GetSkeClusterNodePoolOutput) } -type GetSkeClusterHibernation struct { - // End time of hibernation, in crontab syntax. - End string `pulumi:"end"` - // Start time of cluster hibernation in crontab syntax. - Start string `pulumi:"start"` - // Timezone name corresponding to a file in the IANA Time Zone database. - Timezone string `pulumi:"timezone"` +type GetSkeClusterNodePoolTaint struct { + // The taint effect. + Effect string `pulumi:"effect"` + // Taint key to be applied to a node. + Key string `pulumi:"key"` + // Taint value corresponding to the taint key. + Value string `pulumi:"value"` } -// GetSkeClusterHibernationInput is an input type that accepts GetSkeClusterHibernationArgs and GetSkeClusterHibernationOutput values. -// You can construct a concrete instance of `GetSkeClusterHibernationInput` via: +// GetSkeClusterNodePoolTaintInput is an input type that accepts GetSkeClusterNodePoolTaintArgs and GetSkeClusterNodePoolTaintOutput values. +// You can construct a concrete instance of `GetSkeClusterNodePoolTaintInput` via: // -// GetSkeClusterHibernationArgs{...} -type GetSkeClusterHibernationInput interface { +// GetSkeClusterNodePoolTaintArgs{...} +type GetSkeClusterNodePoolTaintInput interface { pulumi.Input - ToGetSkeClusterHibernationOutput() GetSkeClusterHibernationOutput - ToGetSkeClusterHibernationOutputWithContext(context.Context) GetSkeClusterHibernationOutput + ToGetSkeClusterNodePoolTaintOutput() GetSkeClusterNodePoolTaintOutput + ToGetSkeClusterNodePoolTaintOutputWithContext(context.Context) GetSkeClusterNodePoolTaintOutput } -type GetSkeClusterHibernationArgs struct { - // End time of hibernation, in crontab syntax. - End pulumi.StringInput `pulumi:"end"` - // Start time of cluster hibernation in crontab syntax. - Start pulumi.StringInput `pulumi:"start"` - // Timezone name corresponding to a file in the IANA Time Zone database. - Timezone pulumi.StringInput `pulumi:"timezone"` +type GetSkeClusterNodePoolTaintArgs struct { + // The taint effect. + Effect pulumi.StringInput `pulumi:"effect"` + // Taint key to be applied to a node. + Key pulumi.StringInput `pulumi:"key"` + // Taint value corresponding to the taint key. + Value pulumi.StringInput `pulumi:"value"` } -func (GetSkeClusterHibernationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterHibernation)(nil)).Elem() +func (GetSkeClusterNodePoolTaintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNodePoolTaint)(nil)).Elem() } -func (i GetSkeClusterHibernationArgs) ToGetSkeClusterHibernationOutput() GetSkeClusterHibernationOutput { - return i.ToGetSkeClusterHibernationOutputWithContext(context.Background()) +func (i GetSkeClusterNodePoolTaintArgs) ToGetSkeClusterNodePoolTaintOutput() GetSkeClusterNodePoolTaintOutput { + return i.ToGetSkeClusterNodePoolTaintOutputWithContext(context.Background()) } -func (i GetSkeClusterHibernationArgs) ToGetSkeClusterHibernationOutputWithContext(ctx context.Context) GetSkeClusterHibernationOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterHibernationOutput) +func (i GetSkeClusterNodePoolTaintArgs) ToGetSkeClusterNodePoolTaintOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolTaintOutput) } -// GetSkeClusterHibernationArrayInput is an input type that accepts GetSkeClusterHibernationArray and GetSkeClusterHibernationArrayOutput values. -// You can construct a concrete instance of `GetSkeClusterHibernationArrayInput` via: +// GetSkeClusterNodePoolTaintArrayInput is an input type that accepts GetSkeClusterNodePoolTaintArray and GetSkeClusterNodePoolTaintArrayOutput values. +// You can construct a concrete instance of `GetSkeClusterNodePoolTaintArrayInput` via: // -// GetSkeClusterHibernationArray{ GetSkeClusterHibernationArgs{...} } -type GetSkeClusterHibernationArrayInput interface { +// GetSkeClusterNodePoolTaintArray{ GetSkeClusterNodePoolTaintArgs{...} } +type GetSkeClusterNodePoolTaintArrayInput interface { pulumi.Input - ToGetSkeClusterHibernationArrayOutput() GetSkeClusterHibernationArrayOutput - ToGetSkeClusterHibernationArrayOutputWithContext(context.Context) GetSkeClusterHibernationArrayOutput + ToGetSkeClusterNodePoolTaintArrayOutput() GetSkeClusterNodePoolTaintArrayOutput + ToGetSkeClusterNodePoolTaintArrayOutputWithContext(context.Context) GetSkeClusterNodePoolTaintArrayOutput } -type GetSkeClusterHibernationArray []GetSkeClusterHibernationInput +type GetSkeClusterNodePoolTaintArray []GetSkeClusterNodePoolTaintInput -func (GetSkeClusterHibernationArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeClusterHibernation)(nil)).Elem() +func (GetSkeClusterNodePoolTaintArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeClusterNodePoolTaint)(nil)).Elem() } -func (i GetSkeClusterHibernationArray) ToGetSkeClusterHibernationArrayOutput() GetSkeClusterHibernationArrayOutput { - return i.ToGetSkeClusterHibernationArrayOutputWithContext(context.Background()) +func (i GetSkeClusterNodePoolTaintArray) ToGetSkeClusterNodePoolTaintArrayOutput() GetSkeClusterNodePoolTaintArrayOutput { + return i.ToGetSkeClusterNodePoolTaintArrayOutputWithContext(context.Background()) } -func (i GetSkeClusterHibernationArray) ToGetSkeClusterHibernationArrayOutputWithContext(ctx context.Context) GetSkeClusterHibernationArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterHibernationArrayOutput) +func (i GetSkeClusterNodePoolTaintArray) ToGetSkeClusterNodePoolTaintArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolTaintArrayOutput) } -type GetSkeClusterHibernationOutput struct{ *pulumi.OutputState } +type GetSkeClusterNodePoolTaintOutput struct{ *pulumi.OutputState } -func (GetSkeClusterHibernationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterHibernation)(nil)).Elem() +func (GetSkeClusterNodePoolTaintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNodePoolTaint)(nil)).Elem() } -func (o GetSkeClusterHibernationOutput) ToGetSkeClusterHibernationOutput() GetSkeClusterHibernationOutput { +func (o GetSkeClusterNodePoolTaintOutput) ToGetSkeClusterNodePoolTaintOutput() GetSkeClusterNodePoolTaintOutput { return o } -func (o GetSkeClusterHibernationOutput) ToGetSkeClusterHibernationOutputWithContext(ctx context.Context) GetSkeClusterHibernationOutput { +func (o GetSkeClusterNodePoolTaintOutput) ToGetSkeClusterNodePoolTaintOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintOutput { return o } -// End time of hibernation, in crontab syntax. -func (o GetSkeClusterHibernationOutput) End() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterHibernation) string { return v.End }).(pulumi.StringOutput) +// The taint effect. +func (o GetSkeClusterNodePoolTaintOutput) Effect() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePoolTaint) string { return v.Effect }).(pulumi.StringOutput) } -// Start time of cluster hibernation in crontab syntax. -func (o GetSkeClusterHibernationOutput) Start() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterHibernation) string { return v.Start }).(pulumi.StringOutput) +// Taint key to be applied to a node. +func (o GetSkeClusterNodePoolTaintOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePoolTaint) string { return v.Key }).(pulumi.StringOutput) } -// Timezone name corresponding to a file in the IANA Time Zone database. -func (o GetSkeClusterHibernationOutput) Timezone() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterHibernation) string { return v.Timezone }).(pulumi.StringOutput) +// Taint value corresponding to the taint key. +func (o GetSkeClusterNodePoolTaintOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePoolTaint) string { return v.Value }).(pulumi.StringOutput) } -type GetSkeClusterHibernationArrayOutput struct{ *pulumi.OutputState } +type GetSkeClusterNodePoolTaintArrayOutput struct{ *pulumi.OutputState } -func (GetSkeClusterHibernationArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeClusterHibernation)(nil)).Elem() +func (GetSkeClusterNodePoolTaintArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeClusterNodePoolTaint)(nil)).Elem() } -func (o GetSkeClusterHibernationArrayOutput) ToGetSkeClusterHibernationArrayOutput() GetSkeClusterHibernationArrayOutput { +func (o GetSkeClusterNodePoolTaintArrayOutput) ToGetSkeClusterNodePoolTaintArrayOutput() GetSkeClusterNodePoolTaintArrayOutput { return o } -func (o GetSkeClusterHibernationArrayOutput) ToGetSkeClusterHibernationArrayOutputWithContext(ctx context.Context) GetSkeClusterHibernationArrayOutput { +func (o GetSkeClusterNodePoolTaintArrayOutput) ToGetSkeClusterNodePoolTaintArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintArrayOutput { return o } -func (o GetSkeClusterHibernationArrayOutput) Index(i pulumi.IntInput) GetSkeClusterHibernationOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeClusterHibernation { - return vs[0].([]GetSkeClusterHibernation)[vs[1].(int)] - }).(GetSkeClusterHibernationOutput) +func (o GetSkeClusterNodePoolTaintArrayOutput) Index(i pulumi.IntInput) GetSkeClusterNodePoolTaintOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeClusterNodePoolTaint { + return vs[0].([]GetSkeClusterNodePoolTaint)[vs[1].(int)] + }).(GetSkeClusterNodePoolTaintOutput) } -type GetSkeClusterMaintenance struct { - // Flag to enable/disable auto-updates of the Kubernetes version. - EnableKubernetesVersionUpdates bool `pulumi:"enableKubernetesVersionUpdates"` - // Flag to enable/disable auto-updates of the OS image version. - EnableMachineImageVersionUpdates bool `pulumi:"enableMachineImageVersionUpdates"` - // Date time for maintenance window end. - End string `pulumi:"end"` - // Date time for maintenance window start. - Start string `pulumi:"start"` +type GetSkeKubernetesVersionsKubernetesVersion struct { + // Expiration date of the version in RFC3339 format. + ExpirationDate string `pulumi:"expirationDate"` + // Map of available feature gates for this version. + FeatureGates map[string]string `pulumi:"featureGates"` + // State of the kubernetes version. + State string `pulumi:"state"` + // Kubernetes version string (e.g., `1.33.6`). + Version string `pulumi:"version"` } -// GetSkeClusterMaintenanceInput is an input type that accepts GetSkeClusterMaintenanceArgs and GetSkeClusterMaintenanceOutput values. -// You can construct a concrete instance of `GetSkeClusterMaintenanceInput` via: +// GetSkeKubernetesVersionsKubernetesVersionInput is an input type that accepts GetSkeKubernetesVersionsKubernetesVersionArgs and GetSkeKubernetesVersionsKubernetesVersionOutput values. +// You can construct a concrete instance of `GetSkeKubernetesVersionsKubernetesVersionInput` via: // -// GetSkeClusterMaintenanceArgs{...} -type GetSkeClusterMaintenanceInput interface { +// GetSkeKubernetesVersionsKubernetesVersionArgs{...} +type GetSkeKubernetesVersionsKubernetesVersionInput interface { pulumi.Input - ToGetSkeClusterMaintenanceOutput() GetSkeClusterMaintenanceOutput - ToGetSkeClusterMaintenanceOutputWithContext(context.Context) GetSkeClusterMaintenanceOutput + ToGetSkeKubernetesVersionsKubernetesVersionOutput() GetSkeKubernetesVersionsKubernetesVersionOutput + ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(context.Context) GetSkeKubernetesVersionsKubernetesVersionOutput } -type GetSkeClusterMaintenanceArgs struct { - // Flag to enable/disable auto-updates of the Kubernetes version. - EnableKubernetesVersionUpdates pulumi.BoolInput `pulumi:"enableKubernetesVersionUpdates"` - // Flag to enable/disable auto-updates of the OS image version. - EnableMachineImageVersionUpdates pulumi.BoolInput `pulumi:"enableMachineImageVersionUpdates"` - // Date time for maintenance window end. - End pulumi.StringInput `pulumi:"end"` - // Date time for maintenance window start. - Start pulumi.StringInput `pulumi:"start"` +type GetSkeKubernetesVersionsKubernetesVersionArgs struct { + // Expiration date of the version in RFC3339 format. + ExpirationDate pulumi.StringInput `pulumi:"expirationDate"` + // Map of available feature gates for this version. + FeatureGates pulumi.StringMapInput `pulumi:"featureGates"` + // State of the kubernetes version. + State pulumi.StringInput `pulumi:"state"` + // Kubernetes version string (e.g., `1.33.6`). + Version pulumi.StringInput `pulumi:"version"` } -func (GetSkeClusterMaintenanceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterMaintenance)(nil)).Elem() +func (GetSkeKubernetesVersionsKubernetesVersionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() } -func (i GetSkeClusterMaintenanceArgs) ToGetSkeClusterMaintenanceOutput() GetSkeClusterMaintenanceOutput { - return i.ToGetSkeClusterMaintenanceOutputWithContext(context.Background()) +func (i GetSkeKubernetesVersionsKubernetesVersionArgs) ToGetSkeKubernetesVersionsKubernetesVersionOutput() GetSkeKubernetesVersionsKubernetesVersionOutput { + return i.ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(context.Background()) } -func (i GetSkeClusterMaintenanceArgs) ToGetSkeClusterMaintenanceOutputWithContext(ctx context.Context) GetSkeClusterMaintenanceOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterMaintenanceOutput) +func (i GetSkeKubernetesVersionsKubernetesVersionArgs) ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeKubernetesVersionsKubernetesVersionOutput) } -type GetSkeClusterMaintenanceOutput struct{ *pulumi.OutputState } +// GetSkeKubernetesVersionsKubernetesVersionArrayInput is an input type that accepts GetSkeKubernetesVersionsKubernetesVersionArray and GetSkeKubernetesVersionsKubernetesVersionArrayOutput values. +// You can construct a concrete instance of `GetSkeKubernetesVersionsKubernetesVersionArrayInput` via: +// +// GetSkeKubernetesVersionsKubernetesVersionArray{ GetSkeKubernetesVersionsKubernetesVersionArgs{...} } +type GetSkeKubernetesVersionsKubernetesVersionArrayInput interface { + pulumi.Input -func (GetSkeClusterMaintenanceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterMaintenance)(nil)).Elem() + ToGetSkeKubernetesVersionsKubernetesVersionArrayOutput() GetSkeKubernetesVersionsKubernetesVersionArrayOutput + ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(context.Context) GetSkeKubernetesVersionsKubernetesVersionArrayOutput +} + +type GetSkeKubernetesVersionsKubernetesVersionArray []GetSkeKubernetesVersionsKubernetesVersionInput + +func (GetSkeKubernetesVersionsKubernetesVersionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() +} + +func (i GetSkeKubernetesVersionsKubernetesVersionArray) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutput() GetSkeKubernetesVersionsKubernetesVersionArrayOutput { + return i.ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(context.Background()) +} + +func (i GetSkeKubernetesVersionsKubernetesVersionArray) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeKubernetesVersionsKubernetesVersionArrayOutput) } -func (o GetSkeClusterMaintenanceOutput) ToGetSkeClusterMaintenanceOutput() GetSkeClusterMaintenanceOutput { - return o +type GetSkeKubernetesVersionsKubernetesVersionOutput struct{ *pulumi.OutputState } + +func (GetSkeKubernetesVersionsKubernetesVersionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() } -func (o GetSkeClusterMaintenanceOutput) ToGetSkeClusterMaintenanceOutputWithContext(ctx context.Context) GetSkeClusterMaintenanceOutput { +func (o GetSkeKubernetesVersionsKubernetesVersionOutput) ToGetSkeKubernetesVersionsKubernetesVersionOutput() GetSkeKubernetesVersionsKubernetesVersionOutput { return o } -// Flag to enable/disable auto-updates of the Kubernetes version. -func (o GetSkeClusterMaintenanceOutput) EnableKubernetesVersionUpdates() pulumi.BoolOutput { - return o.ApplyT(func(v GetSkeClusterMaintenance) bool { return v.EnableKubernetesVersionUpdates }).(pulumi.BoolOutput) +func (o GetSkeKubernetesVersionsKubernetesVersionOutput) ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionOutput { + return o } -// Flag to enable/disable auto-updates of the OS image version. -func (o GetSkeClusterMaintenanceOutput) EnableMachineImageVersionUpdates() pulumi.BoolOutput { - return o.ApplyT(func(v GetSkeClusterMaintenance) bool { return v.EnableMachineImageVersionUpdates }).(pulumi.BoolOutput) +// Expiration date of the version in RFC3339 format. +func (o GetSkeKubernetesVersionsKubernetesVersionOutput) ExpirationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeKubernetesVersionsKubernetesVersion) string { return v.ExpirationDate }).(pulumi.StringOutput) } -// Date time for maintenance window end. -func (o GetSkeClusterMaintenanceOutput) End() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterMaintenance) string { return v.End }).(pulumi.StringOutput) +// Map of available feature gates for this version. +func (o GetSkeKubernetesVersionsKubernetesVersionOutput) FeatureGates() pulumi.StringMapOutput { + return o.ApplyT(func(v GetSkeKubernetesVersionsKubernetesVersion) map[string]string { return v.FeatureGates }).(pulumi.StringMapOutput) } -// Date time for maintenance window start. -func (o GetSkeClusterMaintenanceOutput) Start() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterMaintenance) string { return v.Start }).(pulumi.StringOutput) +// State of the kubernetes version. +func (o GetSkeKubernetesVersionsKubernetesVersionOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeKubernetesVersionsKubernetesVersion) string { return v.State }).(pulumi.StringOutput) } -type GetSkeClusterNetwork struct { - // Control plane for the cluster. - ControlPlane GetSkeClusterNetworkControlPlane `pulumi:"controlPlane"` - // ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. - Id string `pulumi:"id"` +// Kubernetes version string (e.g., `1.33.6`). +func (o GetSkeKubernetesVersionsKubernetesVersionOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeKubernetesVersionsKubernetesVersion) string { return v.Version }).(pulumi.StringOutput) } -// GetSkeClusterNetworkInput is an input type that accepts GetSkeClusterNetworkArgs and GetSkeClusterNetworkOutput values. -// You can construct a concrete instance of `GetSkeClusterNetworkInput` via: -// -// GetSkeClusterNetworkArgs{...} -type GetSkeClusterNetworkInput interface { - pulumi.Input +type GetSkeKubernetesVersionsKubernetesVersionArrayOutput struct{ *pulumi.OutputState } - ToGetSkeClusterNetworkOutput() GetSkeClusterNetworkOutput - ToGetSkeClusterNetworkOutputWithContext(context.Context) GetSkeClusterNetworkOutput +func (GetSkeKubernetesVersionsKubernetesVersionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() } -type GetSkeClusterNetworkArgs struct { - // Control plane for the cluster. - ControlPlane GetSkeClusterNetworkControlPlaneInput `pulumi:"controlPlane"` - // ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. - Id pulumi.StringInput `pulumi:"id"` +func (o GetSkeKubernetesVersionsKubernetesVersionArrayOutput) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutput() GetSkeKubernetesVersionsKubernetesVersionArrayOutput { + return o } -func (GetSkeClusterNetworkArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNetwork)(nil)).Elem() +func (o GetSkeKubernetesVersionsKubernetesVersionArrayOutput) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionArrayOutput { + return o } -func (i GetSkeClusterNetworkArgs) ToGetSkeClusterNetworkOutput() GetSkeClusterNetworkOutput { - return i.ToGetSkeClusterNetworkOutputWithContext(context.Background()) +func (o GetSkeKubernetesVersionsKubernetesVersionArrayOutput) Index(i pulumi.IntInput) GetSkeKubernetesVersionsKubernetesVersionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeKubernetesVersionsKubernetesVersion { + return vs[0].([]GetSkeKubernetesVersionsKubernetesVersion)[vs[1].(int)] + }).(GetSkeKubernetesVersionsKubernetesVersionOutput) } -func (i GetSkeClusterNetworkArgs) ToGetSkeClusterNetworkOutputWithContext(ctx context.Context) GetSkeClusterNetworkOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNetworkOutput) +type GetSkeMachineImageVersionsMachineImage struct { + // Name of the OS image (e.g., `ubuntu` or `flatcar`). + Name string `pulumi:"name"` + // Supported versions of the image. + Versions []GetSkeMachineImageVersionsMachineImageVersion `pulumi:"versions"` } -type GetSkeClusterNetworkOutput struct{ *pulumi.OutputState } - -func (GetSkeClusterNetworkOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNetwork)(nil)).Elem() -} +// GetSkeMachineImageVersionsMachineImageInput is an input type that accepts GetSkeMachineImageVersionsMachineImageArgs and GetSkeMachineImageVersionsMachineImageOutput values. +// You can construct a concrete instance of `GetSkeMachineImageVersionsMachineImageInput` via: +// +// GetSkeMachineImageVersionsMachineImageArgs{...} +type GetSkeMachineImageVersionsMachineImageInput interface { + pulumi.Input -func (o GetSkeClusterNetworkOutput) ToGetSkeClusterNetworkOutput() GetSkeClusterNetworkOutput { - return o + ToGetSkeMachineImageVersionsMachineImageOutput() GetSkeMachineImageVersionsMachineImageOutput + ToGetSkeMachineImageVersionsMachineImageOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageOutput } -func (o GetSkeClusterNetworkOutput) ToGetSkeClusterNetworkOutputWithContext(ctx context.Context) GetSkeClusterNetworkOutput { - return o +type GetSkeMachineImageVersionsMachineImageArgs struct { + // Name of the OS image (e.g., `ubuntu` or `flatcar`). + Name pulumi.StringInput `pulumi:"name"` + // Supported versions of the image. + Versions GetSkeMachineImageVersionsMachineImageVersionArrayInput `pulumi:"versions"` } -// Control plane for the cluster. -func (o GetSkeClusterNetworkOutput) ControlPlane() GetSkeClusterNetworkControlPlaneOutput { - return o.ApplyT(func(v GetSkeClusterNetwork) GetSkeClusterNetworkControlPlane { return v.ControlPlane }).(GetSkeClusterNetworkControlPlaneOutput) +func (GetSkeMachineImageVersionsMachineImageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImage)(nil)).Elem() } -// ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. -func (o GetSkeClusterNetworkOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNetwork) string { return v.Id }).(pulumi.StringOutput) +func (i GetSkeMachineImageVersionsMachineImageArgs) ToGetSkeMachineImageVersionsMachineImageOutput() GetSkeMachineImageVersionsMachineImageOutput { + return i.ToGetSkeMachineImageVersionsMachineImageOutputWithContext(context.Background()) } -type GetSkeClusterNetworkControlPlane struct { - // Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! - AccessScope string `pulumi:"accessScope"` +func (i GetSkeMachineImageVersionsMachineImageArgs) ToGetSkeMachineImageVersionsMachineImageOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageOutput) } -// GetSkeClusterNetworkControlPlaneInput is an input type that accepts GetSkeClusterNetworkControlPlaneArgs and GetSkeClusterNetworkControlPlaneOutput values. -// You can construct a concrete instance of `GetSkeClusterNetworkControlPlaneInput` via: +// GetSkeMachineImageVersionsMachineImageArrayInput is an input type that accepts GetSkeMachineImageVersionsMachineImageArray and GetSkeMachineImageVersionsMachineImageArrayOutput values. +// You can construct a concrete instance of `GetSkeMachineImageVersionsMachineImageArrayInput` via: // -// GetSkeClusterNetworkControlPlaneArgs{...} -type GetSkeClusterNetworkControlPlaneInput interface { +// GetSkeMachineImageVersionsMachineImageArray{ GetSkeMachineImageVersionsMachineImageArgs{...} } +type GetSkeMachineImageVersionsMachineImageArrayInput interface { pulumi.Input - ToGetSkeClusterNetworkControlPlaneOutput() GetSkeClusterNetworkControlPlaneOutput - ToGetSkeClusterNetworkControlPlaneOutputWithContext(context.Context) GetSkeClusterNetworkControlPlaneOutput + ToGetSkeMachineImageVersionsMachineImageArrayOutput() GetSkeMachineImageVersionsMachineImageArrayOutput + ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageArrayOutput } -type GetSkeClusterNetworkControlPlaneArgs struct { - // Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! - AccessScope pulumi.StringInput `pulumi:"accessScope"` -} +type GetSkeMachineImageVersionsMachineImageArray []GetSkeMachineImageVersionsMachineImageInput -func (GetSkeClusterNetworkControlPlaneArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNetworkControlPlane)(nil)).Elem() +func (GetSkeMachineImageVersionsMachineImageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImage)(nil)).Elem() } -func (i GetSkeClusterNetworkControlPlaneArgs) ToGetSkeClusterNetworkControlPlaneOutput() GetSkeClusterNetworkControlPlaneOutput { - return i.ToGetSkeClusterNetworkControlPlaneOutputWithContext(context.Background()) +func (i GetSkeMachineImageVersionsMachineImageArray) ToGetSkeMachineImageVersionsMachineImageArrayOutput() GetSkeMachineImageVersionsMachineImageArrayOutput { + return i.ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(context.Background()) } -func (i GetSkeClusterNetworkControlPlaneArgs) ToGetSkeClusterNetworkControlPlaneOutputWithContext(ctx context.Context) GetSkeClusterNetworkControlPlaneOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNetworkControlPlaneOutput) +func (i GetSkeMachineImageVersionsMachineImageArray) ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageArrayOutput) } -type GetSkeClusterNetworkControlPlaneOutput struct{ *pulumi.OutputState } +type GetSkeMachineImageVersionsMachineImageOutput struct{ *pulumi.OutputState } -func (GetSkeClusterNetworkControlPlaneOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNetworkControlPlane)(nil)).Elem() +func (GetSkeMachineImageVersionsMachineImageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImage)(nil)).Elem() } -func (o GetSkeClusterNetworkControlPlaneOutput) ToGetSkeClusterNetworkControlPlaneOutput() GetSkeClusterNetworkControlPlaneOutput { +func (o GetSkeMachineImageVersionsMachineImageOutput) ToGetSkeMachineImageVersionsMachineImageOutput() GetSkeMachineImageVersionsMachineImageOutput { return o } -func (o GetSkeClusterNetworkControlPlaneOutput) ToGetSkeClusterNetworkControlPlaneOutputWithContext(ctx context.Context) GetSkeClusterNetworkControlPlaneOutput { +func (o GetSkeMachineImageVersionsMachineImageOutput) ToGetSkeMachineImageVersionsMachineImageOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageOutput { return o } -// Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! -func (o GetSkeClusterNetworkControlPlaneOutput) AccessScope() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNetworkControlPlane) string { return v.AccessScope }).(pulumi.StringOutput) +// Name of the OS image (e.g., `ubuntu` or `flatcar`). +func (o GetSkeMachineImageVersionsMachineImageOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImage) string { return v.Name }).(pulumi.StringOutput) } -type GetSkeClusterNodePool struct { - // Allow system components to run on this node pool. - AllowSystemComponents bool `pulumi:"allowSystemComponents"` - // Specify a list of availability zones. - AvailabilityZones []string `pulumi:"availabilityZones"` - // Specifies the container runtime. - Cri string `pulumi:"cri"` - // Labels to add to each node. - Labels map[string]string `pulumi:"labels"` - // The machine type. - MachineType string `pulumi:"machineType"` - // The maximum number of nodes upgraded simultaneously. - MaxSurge int `pulumi:"maxSurge"` - // The maximum number of nodes unavailable during upgraded. - MaxUnavailable int `pulumi:"maxUnavailable"` - // Maximum number of nodes in the pool. - Maximum int `pulumi:"maximum"` - // Minimum number of nodes in the pool. - Minimum int `pulumi:"minimum"` - // Specifies the name of the node pool. - Name string `pulumi:"name"` - // The name of the OS image. - OsName string `pulumi:"osName"` - // The OS image version. - OsVersion string `pulumi:"osVersion"` - // The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. - OsVersionMin string `pulumi:"osVersionMin"` - // Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). - OsVersionUsed string `pulumi:"osVersionUsed"` - // Specifies a taint list as defined below. - Taints []GetSkeClusterNodePoolTaint `pulumi:"taints"` - // The volume size in GB. - VolumeSize int `pulumi:"volumeSize"` - // Specifies the volume type. - VolumeType string `pulumi:"volumeType"` +// Supported versions of the image. +func (o GetSkeMachineImageVersionsMachineImageOutput) Versions() GetSkeMachineImageVersionsMachineImageVersionArrayOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImage) []GetSkeMachineImageVersionsMachineImageVersion { + return v.Versions + }).(GetSkeMachineImageVersionsMachineImageVersionArrayOutput) } -// GetSkeClusterNodePoolInput is an input type that accepts GetSkeClusterNodePoolArgs and GetSkeClusterNodePoolOutput values. -// You can construct a concrete instance of `GetSkeClusterNodePoolInput` via: -// -// GetSkeClusterNodePoolArgs{...} -type GetSkeClusterNodePoolInput interface { - pulumi.Input +type GetSkeMachineImageVersionsMachineImageArrayOutput struct{ *pulumi.OutputState } - ToGetSkeClusterNodePoolOutput() GetSkeClusterNodePoolOutput - ToGetSkeClusterNodePoolOutputWithContext(context.Context) GetSkeClusterNodePoolOutput +func (GetSkeMachineImageVersionsMachineImageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImage)(nil)).Elem() } -type GetSkeClusterNodePoolArgs struct { - // Allow system components to run on this node pool. - AllowSystemComponents pulumi.BoolInput `pulumi:"allowSystemComponents"` - // Specify a list of availability zones. - AvailabilityZones pulumi.StringArrayInput `pulumi:"availabilityZones"` - // Specifies the container runtime. - Cri pulumi.StringInput `pulumi:"cri"` - // Labels to add to each node. - Labels pulumi.StringMapInput `pulumi:"labels"` - // The machine type. - MachineType pulumi.StringInput `pulumi:"machineType"` - // The maximum number of nodes upgraded simultaneously. - MaxSurge pulumi.IntInput `pulumi:"maxSurge"` - // The maximum number of nodes unavailable during upgraded. - MaxUnavailable pulumi.IntInput `pulumi:"maxUnavailable"` - // Maximum number of nodes in the pool. - Maximum pulumi.IntInput `pulumi:"maximum"` - // Minimum number of nodes in the pool. - Minimum pulumi.IntInput `pulumi:"minimum"` - // Specifies the name of the node pool. - Name pulumi.StringInput `pulumi:"name"` - // The name of the OS image. - OsName pulumi.StringInput `pulumi:"osName"` - // The OS image version. - OsVersion pulumi.StringInput `pulumi:"osVersion"` - // The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. - OsVersionMin pulumi.StringInput `pulumi:"osVersionMin"` - // Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). - OsVersionUsed pulumi.StringInput `pulumi:"osVersionUsed"` - // Specifies a taint list as defined below. - Taints GetSkeClusterNodePoolTaintArrayInput `pulumi:"taints"` - // The volume size in GB. - VolumeSize pulumi.IntInput `pulumi:"volumeSize"` - // Specifies the volume type. - VolumeType pulumi.StringInput `pulumi:"volumeType"` +func (o GetSkeMachineImageVersionsMachineImageArrayOutput) ToGetSkeMachineImageVersionsMachineImageArrayOutput() GetSkeMachineImageVersionsMachineImageArrayOutput { + return o +} + +func (o GetSkeMachineImageVersionsMachineImageArrayOutput) ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageArrayOutput { + return o +} + +func (o GetSkeMachineImageVersionsMachineImageArrayOutput) Index(i pulumi.IntInput) GetSkeMachineImageVersionsMachineImageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeMachineImageVersionsMachineImage { + return vs[0].([]GetSkeMachineImageVersionsMachineImage)[vs[1].(int)] + }).(GetSkeMachineImageVersionsMachineImageOutput) +} + +type GetSkeMachineImageVersionsMachineImageVersion struct { + // Container runtimes supported (e.g., `containerd`). + Cris []string `pulumi:"cris"` + // Expiration date of the version in RFC3339 format. + ExpirationDate string `pulumi:"expirationDate"` + // State of the image version. + State string `pulumi:"state"` + // Machine image version string. + Version string `pulumi:"version"` } -func (GetSkeClusterNodePoolArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNodePool)(nil)).Elem() +// GetSkeMachineImageVersionsMachineImageVersionInput is an input type that accepts GetSkeMachineImageVersionsMachineImageVersionArgs and GetSkeMachineImageVersionsMachineImageVersionOutput values. +// You can construct a concrete instance of `GetSkeMachineImageVersionsMachineImageVersionInput` via: +// +// GetSkeMachineImageVersionsMachineImageVersionArgs{...} +type GetSkeMachineImageVersionsMachineImageVersionInput interface { + pulumi.Input + + ToGetSkeMachineImageVersionsMachineImageVersionOutput() GetSkeMachineImageVersionsMachineImageVersionOutput + ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageVersionOutput } -func (i GetSkeClusterNodePoolArgs) ToGetSkeClusterNodePoolOutput() GetSkeClusterNodePoolOutput { - return i.ToGetSkeClusterNodePoolOutputWithContext(context.Background()) +type GetSkeMachineImageVersionsMachineImageVersionArgs struct { + // Container runtimes supported (e.g., `containerd`). + Cris pulumi.StringArrayInput `pulumi:"cris"` + // Expiration date of the version in RFC3339 format. + ExpirationDate pulumi.StringInput `pulumi:"expirationDate"` + // State of the image version. + State pulumi.StringInput `pulumi:"state"` + // Machine image version string. + Version pulumi.StringInput `pulumi:"version"` } -func (i GetSkeClusterNodePoolArgs) ToGetSkeClusterNodePoolOutputWithContext(ctx context.Context) GetSkeClusterNodePoolOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolOutput) +func (GetSkeMachineImageVersionsMachineImageVersionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() } -// GetSkeClusterNodePoolArrayInput is an input type that accepts GetSkeClusterNodePoolArray and GetSkeClusterNodePoolArrayOutput values. -// You can construct a concrete instance of `GetSkeClusterNodePoolArrayInput` via: +func (i GetSkeMachineImageVersionsMachineImageVersionArgs) ToGetSkeMachineImageVersionsMachineImageVersionOutput() GetSkeMachineImageVersionsMachineImageVersionOutput { + return i.ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(context.Background()) +} + +func (i GetSkeMachineImageVersionsMachineImageVersionArgs) ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageVersionOutput) +} + +// GetSkeMachineImageVersionsMachineImageVersionArrayInput is an input type that accepts GetSkeMachineImageVersionsMachineImageVersionArray and GetSkeMachineImageVersionsMachineImageVersionArrayOutput values. +// You can construct a concrete instance of `GetSkeMachineImageVersionsMachineImageVersionArrayInput` via: // -// GetSkeClusterNodePoolArray{ GetSkeClusterNodePoolArgs{...} } -type GetSkeClusterNodePoolArrayInput interface { +// GetSkeMachineImageVersionsMachineImageVersionArray{ GetSkeMachineImageVersionsMachineImageVersionArgs{...} } +type GetSkeMachineImageVersionsMachineImageVersionArrayInput interface { pulumi.Input - ToGetSkeClusterNodePoolArrayOutput() GetSkeClusterNodePoolArrayOutput - ToGetSkeClusterNodePoolArrayOutputWithContext(context.Context) GetSkeClusterNodePoolArrayOutput + ToGetSkeMachineImageVersionsMachineImageVersionArrayOutput() GetSkeMachineImageVersionsMachineImageVersionArrayOutput + ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageVersionArrayOutput } -type GetSkeClusterNodePoolArray []GetSkeClusterNodePoolInput +type GetSkeMachineImageVersionsMachineImageVersionArray []GetSkeMachineImageVersionsMachineImageVersionInput -func (GetSkeClusterNodePoolArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeClusterNodePool)(nil)).Elem() +func (GetSkeMachineImageVersionsMachineImageVersionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() } -func (i GetSkeClusterNodePoolArray) ToGetSkeClusterNodePoolArrayOutput() GetSkeClusterNodePoolArrayOutput { - return i.ToGetSkeClusterNodePoolArrayOutputWithContext(context.Background()) +func (i GetSkeMachineImageVersionsMachineImageVersionArray) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutput() GetSkeMachineImageVersionsMachineImageVersionArrayOutput { + return i.ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(context.Background()) } -func (i GetSkeClusterNodePoolArray) ToGetSkeClusterNodePoolArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolArrayOutput) +func (i GetSkeMachineImageVersionsMachineImageVersionArray) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageVersionArrayOutput) } -type GetSkeClusterNodePoolOutput struct{ *pulumi.OutputState } +type GetSkeMachineImageVersionsMachineImageVersionOutput struct{ *pulumi.OutputState } -func (GetSkeClusterNodePoolOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNodePool)(nil)).Elem() +func (GetSkeMachineImageVersionsMachineImageVersionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() } -func (o GetSkeClusterNodePoolOutput) ToGetSkeClusterNodePoolOutput() GetSkeClusterNodePoolOutput { +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) ToGetSkeMachineImageVersionsMachineImageVersionOutput() GetSkeMachineImageVersionsMachineImageVersionOutput { return o } -func (o GetSkeClusterNodePoolOutput) ToGetSkeClusterNodePoolOutputWithContext(ctx context.Context) GetSkeClusterNodePoolOutput { +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionOutput { return o } -// Allow system components to run on this node pool. -func (o GetSkeClusterNodePoolOutput) AllowSystemComponents() pulumi.BoolOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) bool { return v.AllowSystemComponents }).(pulumi.BoolOutput) +// Container runtimes supported (e.g., `containerd`). +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) Cris() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) []string { return v.Cris }).(pulumi.StringArrayOutput) } -// Specify a list of availability zones. -func (o GetSkeClusterNodePoolOutput) AvailabilityZones() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) []string { return v.AvailabilityZones }).(pulumi.StringArrayOutput) +// Expiration date of the version in RFC3339 format. +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) ExpirationDate() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) string { return v.ExpirationDate }).(pulumi.StringOutput) } -// Specifies the container runtime. -func (o GetSkeClusterNodePoolOutput) Cri() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.Cri }).(pulumi.StringOutput) +// State of the image version. +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) string { return v.State }).(pulumi.StringOutput) } -// Labels to add to each node. -func (o GetSkeClusterNodePoolOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +// Machine image version string. +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) string { return v.Version }).(pulumi.StringOutput) } -// The machine type. -func (o GetSkeClusterNodePoolOutput) MachineType() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.MachineType }).(pulumi.StringOutput) -} +type GetSkeMachineImageVersionsMachineImageVersionArrayOutput struct{ *pulumi.OutputState } -// The maximum number of nodes upgraded simultaneously. -func (o GetSkeClusterNodePoolOutput) MaxSurge() pulumi.IntOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) int { return v.MaxSurge }).(pulumi.IntOutput) +func (GetSkeMachineImageVersionsMachineImageVersionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() } -// The maximum number of nodes unavailable during upgraded. -func (o GetSkeClusterNodePoolOutput) MaxUnavailable() pulumi.IntOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) int { return v.MaxUnavailable }).(pulumi.IntOutput) +func (o GetSkeMachineImageVersionsMachineImageVersionArrayOutput) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutput() GetSkeMachineImageVersionsMachineImageVersionArrayOutput { + return o } -// Maximum number of nodes in the pool. -func (o GetSkeClusterNodePoolOutput) Maximum() pulumi.IntOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) int { return v.Maximum }).(pulumi.IntOutput) +func (o GetSkeMachineImageVersionsMachineImageVersionArrayOutput) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionArrayOutput { + return o } -// Minimum number of nodes in the pool. -func (o GetSkeClusterNodePoolOutput) Minimum() pulumi.IntOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) int { return v.Minimum }).(pulumi.IntOutput) +func (o GetSkeMachineImageVersionsMachineImageVersionArrayOutput) Index(i pulumi.IntInput) GetSkeMachineImageVersionsMachineImageVersionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeMachineImageVersionsMachineImageVersion { + return vs[0].([]GetSkeMachineImageVersionsMachineImageVersion)[vs[1].(int)] + }).(GetSkeMachineImageVersionsMachineImageVersionOutput) } -// Specifies the name of the node pool. -func (o GetSkeClusterNodePoolOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.Name }).(pulumi.StringOutput) +type GetSqlserverflexInstanceFlavor struct { + Cpu int `pulumi:"cpu"` + Description string `pulumi:"description"` + Id string `pulumi:"id"` + Ram int `pulumi:"ram"` } -// The name of the OS image. -func (o GetSkeClusterNodePoolOutput) OsName() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.OsName }).(pulumi.StringOutput) +// GetSqlserverflexInstanceFlavorInput is an input type that accepts GetSqlserverflexInstanceFlavorArgs and GetSqlserverflexInstanceFlavorOutput values. +// You can construct a concrete instance of `GetSqlserverflexInstanceFlavorInput` via: +// +// GetSqlserverflexInstanceFlavorArgs{...} +type GetSqlserverflexInstanceFlavorInput interface { + pulumi.Input + + ToGetSqlserverflexInstanceFlavorOutput() GetSqlserverflexInstanceFlavorOutput + ToGetSqlserverflexInstanceFlavorOutputWithContext(context.Context) GetSqlserverflexInstanceFlavorOutput } -// The OS image version. -func (o GetSkeClusterNodePoolOutput) OsVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.OsVersion }).(pulumi.StringOutput) +type GetSqlserverflexInstanceFlavorArgs struct { + Cpu pulumi.IntInput `pulumi:"cpu"` + Description pulumi.StringInput `pulumi:"description"` + Id pulumi.StringInput `pulumi:"id"` + Ram pulumi.IntInput `pulumi:"ram"` } -// The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. -func (o GetSkeClusterNodePoolOutput) OsVersionMin() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.OsVersionMin }).(pulumi.StringOutput) +func (GetSqlserverflexInstanceFlavorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceFlavor)(nil)).Elem() } -// Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). -func (o GetSkeClusterNodePoolOutput) OsVersionUsed() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.OsVersionUsed }).(pulumi.StringOutput) +func (i GetSqlserverflexInstanceFlavorArgs) ToGetSqlserverflexInstanceFlavorOutput() GetSqlserverflexInstanceFlavorOutput { + return i.ToGetSqlserverflexInstanceFlavorOutputWithContext(context.Background()) } -// Specifies a taint list as defined below. -func (o GetSkeClusterNodePoolOutput) Taints() GetSkeClusterNodePoolTaintArrayOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) []GetSkeClusterNodePoolTaint { return v.Taints }).(GetSkeClusterNodePoolTaintArrayOutput) +func (i GetSqlserverflexInstanceFlavorArgs) ToGetSqlserverflexInstanceFlavorOutputWithContext(ctx context.Context) GetSqlserverflexInstanceFlavorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceFlavorOutput) } -// The volume size in GB. -func (o GetSkeClusterNodePoolOutput) VolumeSize() pulumi.IntOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) int { return v.VolumeSize }).(pulumi.IntOutput) +type GetSqlserverflexInstanceFlavorOutput struct{ *pulumi.OutputState } + +func (GetSqlserverflexInstanceFlavorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceFlavor)(nil)).Elem() } -// Specifies the volume type. -func (o GetSkeClusterNodePoolOutput) VolumeType() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.VolumeType }).(pulumi.StringOutput) +func (o GetSqlserverflexInstanceFlavorOutput) ToGetSqlserverflexInstanceFlavorOutput() GetSqlserverflexInstanceFlavorOutput { + return o } -type GetSkeClusterNodePoolArrayOutput struct{ *pulumi.OutputState } +func (o GetSqlserverflexInstanceFlavorOutput) ToGetSqlserverflexInstanceFlavorOutputWithContext(ctx context.Context) GetSqlserverflexInstanceFlavorOutput { + return o +} -func (GetSkeClusterNodePoolArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeClusterNodePool)(nil)).Elem() +func (o GetSqlserverflexInstanceFlavorOutput) Cpu() pulumi.IntOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceFlavor) int { return v.Cpu }).(pulumi.IntOutput) } -func (o GetSkeClusterNodePoolArrayOutput) ToGetSkeClusterNodePoolArrayOutput() GetSkeClusterNodePoolArrayOutput { - return o +func (o GetSqlserverflexInstanceFlavorOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceFlavor) string { return v.Description }).(pulumi.StringOutput) } -func (o GetSkeClusterNodePoolArrayOutput) ToGetSkeClusterNodePoolArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolArrayOutput { - return o +func (o GetSqlserverflexInstanceFlavorOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceFlavor) string { return v.Id }).(pulumi.StringOutput) } -func (o GetSkeClusterNodePoolArrayOutput) Index(i pulumi.IntInput) GetSkeClusterNodePoolOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeClusterNodePool { - return vs[0].([]GetSkeClusterNodePool)[vs[1].(int)] - }).(GetSkeClusterNodePoolOutput) +func (o GetSqlserverflexInstanceFlavorOutput) Ram() pulumi.IntOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceFlavor) int { return v.Ram }).(pulumi.IntOutput) } -type GetSkeClusterNodePoolTaint struct { - // The taint effect. - Effect string `pulumi:"effect"` - // Taint key to be applied to a node. - Key string `pulumi:"key"` - // Taint value corresponding to the taint key. - Value string `pulumi:"value"` +type GetSqlserverflexInstanceOptions struct { + Edition string `pulumi:"edition"` + RetentionDays int `pulumi:"retentionDays"` } -// GetSkeClusterNodePoolTaintInput is an input type that accepts GetSkeClusterNodePoolTaintArgs and GetSkeClusterNodePoolTaintOutput values. -// You can construct a concrete instance of `GetSkeClusterNodePoolTaintInput` via: +// GetSqlserverflexInstanceOptionsInput is an input type that accepts GetSqlserverflexInstanceOptionsArgs and GetSqlserverflexInstanceOptionsOutput values. +// You can construct a concrete instance of `GetSqlserverflexInstanceOptionsInput` via: // -// GetSkeClusterNodePoolTaintArgs{...} -type GetSkeClusterNodePoolTaintInput interface { +// GetSqlserverflexInstanceOptionsArgs{...} +type GetSqlserverflexInstanceOptionsInput interface { pulumi.Input - ToGetSkeClusterNodePoolTaintOutput() GetSkeClusterNodePoolTaintOutput - ToGetSkeClusterNodePoolTaintOutputWithContext(context.Context) GetSkeClusterNodePoolTaintOutput + ToGetSqlserverflexInstanceOptionsOutput() GetSqlserverflexInstanceOptionsOutput + ToGetSqlserverflexInstanceOptionsOutputWithContext(context.Context) GetSqlserverflexInstanceOptionsOutput } -type GetSkeClusterNodePoolTaintArgs struct { - // The taint effect. - Effect pulumi.StringInput `pulumi:"effect"` - // Taint key to be applied to a node. - Key pulumi.StringInput `pulumi:"key"` - // Taint value corresponding to the taint key. - Value pulumi.StringInput `pulumi:"value"` +type GetSqlserverflexInstanceOptionsArgs struct { + Edition pulumi.StringInput `pulumi:"edition"` + RetentionDays pulumi.IntInput `pulumi:"retentionDays"` +} + +func (GetSqlserverflexInstanceOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceOptions)(nil)).Elem() +} + +func (i GetSqlserverflexInstanceOptionsArgs) ToGetSqlserverflexInstanceOptionsOutput() GetSqlserverflexInstanceOptionsOutput { + return i.ToGetSqlserverflexInstanceOptionsOutputWithContext(context.Background()) +} + +func (i GetSqlserverflexInstanceOptionsArgs) ToGetSqlserverflexInstanceOptionsOutputWithContext(ctx context.Context) GetSqlserverflexInstanceOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceOptionsOutput) +} + +type GetSqlserverflexInstanceOptionsOutput struct{ *pulumi.OutputState } + +func (GetSqlserverflexInstanceOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceOptions)(nil)).Elem() } -func (GetSkeClusterNodePoolTaintArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNodePoolTaint)(nil)).Elem() +func (o GetSqlserverflexInstanceOptionsOutput) ToGetSqlserverflexInstanceOptionsOutput() GetSqlserverflexInstanceOptionsOutput { + return o } -func (i GetSkeClusterNodePoolTaintArgs) ToGetSkeClusterNodePoolTaintOutput() GetSkeClusterNodePoolTaintOutput { - return i.ToGetSkeClusterNodePoolTaintOutputWithContext(context.Background()) +func (o GetSqlserverflexInstanceOptionsOutput) ToGetSqlserverflexInstanceOptionsOutputWithContext(ctx context.Context) GetSqlserverflexInstanceOptionsOutput { + return o } -func (i GetSkeClusterNodePoolTaintArgs) ToGetSkeClusterNodePoolTaintOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolTaintOutput) +func (o GetSqlserverflexInstanceOptionsOutput) Edition() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceOptions) string { return v.Edition }).(pulumi.StringOutput) } -// GetSkeClusterNodePoolTaintArrayInput is an input type that accepts GetSkeClusterNodePoolTaintArray and GetSkeClusterNodePoolTaintArrayOutput values. -// You can construct a concrete instance of `GetSkeClusterNodePoolTaintArrayInput` via: +func (o GetSqlserverflexInstanceOptionsOutput) RetentionDays() pulumi.IntOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceOptions) int { return v.RetentionDays }).(pulumi.IntOutput) +} + +type GetSqlserverflexInstanceStorage struct { + Class string `pulumi:"class"` + Size int `pulumi:"size"` +} + +// GetSqlserverflexInstanceStorageInput is an input type that accepts GetSqlserverflexInstanceStorageArgs and GetSqlserverflexInstanceStorageOutput values. +// You can construct a concrete instance of `GetSqlserverflexInstanceStorageInput` via: // -// GetSkeClusterNodePoolTaintArray{ GetSkeClusterNodePoolTaintArgs{...} } -type GetSkeClusterNodePoolTaintArrayInput interface { +// GetSqlserverflexInstanceStorageArgs{...} +type GetSqlserverflexInstanceStorageInput interface { pulumi.Input - ToGetSkeClusterNodePoolTaintArrayOutput() GetSkeClusterNodePoolTaintArrayOutput - ToGetSkeClusterNodePoolTaintArrayOutputWithContext(context.Context) GetSkeClusterNodePoolTaintArrayOutput + ToGetSqlserverflexInstanceStorageOutput() GetSqlserverflexInstanceStorageOutput + ToGetSqlserverflexInstanceStorageOutputWithContext(context.Context) GetSqlserverflexInstanceStorageOutput } -type GetSkeClusterNodePoolTaintArray []GetSkeClusterNodePoolTaintInput +type GetSqlserverflexInstanceStorageArgs struct { + Class pulumi.StringInput `pulumi:"class"` + Size pulumi.IntInput `pulumi:"size"` +} -func (GetSkeClusterNodePoolTaintArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeClusterNodePoolTaint)(nil)).Elem() +func (GetSqlserverflexInstanceStorageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceStorage)(nil)).Elem() } -func (i GetSkeClusterNodePoolTaintArray) ToGetSkeClusterNodePoolTaintArrayOutput() GetSkeClusterNodePoolTaintArrayOutput { - return i.ToGetSkeClusterNodePoolTaintArrayOutputWithContext(context.Background()) +func (i GetSqlserverflexInstanceStorageArgs) ToGetSqlserverflexInstanceStorageOutput() GetSqlserverflexInstanceStorageOutput { + return i.ToGetSqlserverflexInstanceStorageOutputWithContext(context.Background()) } -func (i GetSkeClusterNodePoolTaintArray) ToGetSkeClusterNodePoolTaintArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolTaintArrayOutput) +func (i GetSqlserverflexInstanceStorageArgs) ToGetSqlserverflexInstanceStorageOutputWithContext(ctx context.Context) GetSqlserverflexInstanceStorageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceStorageOutput) } -type GetSkeClusterNodePoolTaintOutput struct{ *pulumi.OutputState } +type GetSqlserverflexInstanceStorageOutput struct{ *pulumi.OutputState } -func (GetSkeClusterNodePoolTaintOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNodePoolTaint)(nil)).Elem() +func (GetSqlserverflexInstanceStorageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceStorage)(nil)).Elem() } -func (o GetSkeClusterNodePoolTaintOutput) ToGetSkeClusterNodePoolTaintOutput() GetSkeClusterNodePoolTaintOutput { +func (o GetSqlserverflexInstanceStorageOutput) ToGetSqlserverflexInstanceStorageOutput() GetSqlserverflexInstanceStorageOutput { return o } -func (o GetSkeClusterNodePoolTaintOutput) ToGetSkeClusterNodePoolTaintOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintOutput { +func (o GetSqlserverflexInstanceStorageOutput) ToGetSqlserverflexInstanceStorageOutputWithContext(ctx context.Context) GetSqlserverflexInstanceStorageOutput { return o } -// The taint effect. -func (o GetSkeClusterNodePoolTaintOutput) Effect() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePoolTaint) string { return v.Effect }).(pulumi.StringOutput) +func (o GetSqlserverflexInstanceStorageOutput) Class() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceStorage) string { return v.Class }).(pulumi.StringOutput) } -// Taint key to be applied to a node. -func (o GetSkeClusterNodePoolTaintOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePoolTaint) string { return v.Key }).(pulumi.StringOutput) +func (o GetSqlserverflexInstanceStorageOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceStorage) int { return v.Size }).(pulumi.IntOutput) } -// Taint value corresponding to the taint key. -func (o GetSkeClusterNodePoolTaintOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePoolTaint) string { return v.Value }).(pulumi.StringOutput) +type GetTelemetryrouterDestinationConfig struct { + // The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. + ConfigType string `pulumi:"configType"` + // The TelemetryRouter destination's filter settings + Filter GetTelemetryrouterDestinationConfigFilter `pulumi:"filter"` + // OpenTelemetry configuration + Opentelemetry GetTelemetryrouterDestinationConfigOpentelemetry `pulumi:"opentelemetry"` + // S3 configuration + S3 GetTelemetryrouterDestinationConfigS3 `pulumi:"s3"` } -type GetSkeClusterNodePoolTaintArrayOutput struct{ *pulumi.OutputState } +// GetTelemetryrouterDestinationConfigInput is an input type that accepts GetTelemetryrouterDestinationConfigArgs and GetTelemetryrouterDestinationConfigOutput values. +// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigInput` via: +// +// GetTelemetryrouterDestinationConfigArgs{...} +type GetTelemetryrouterDestinationConfigInput interface { + pulumi.Input -func (GetSkeClusterNodePoolTaintArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeClusterNodePoolTaint)(nil)).Elem() + ToGetTelemetryrouterDestinationConfigOutput() GetTelemetryrouterDestinationConfigOutput + ToGetTelemetryrouterDestinationConfigOutputWithContext(context.Context) GetTelemetryrouterDestinationConfigOutput } -func (o GetSkeClusterNodePoolTaintArrayOutput) ToGetSkeClusterNodePoolTaintArrayOutput() GetSkeClusterNodePoolTaintArrayOutput { - return o +type GetTelemetryrouterDestinationConfigArgs struct { + // The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. + ConfigType pulumi.StringInput `pulumi:"configType"` + // The TelemetryRouter destination's filter settings + Filter GetTelemetryrouterDestinationConfigFilterInput `pulumi:"filter"` + // OpenTelemetry configuration + Opentelemetry GetTelemetryrouterDestinationConfigOpentelemetryInput `pulumi:"opentelemetry"` + // S3 configuration + S3 GetTelemetryrouterDestinationConfigS3Input `pulumi:"s3"` } -func (o GetSkeClusterNodePoolTaintArrayOutput) ToGetSkeClusterNodePoolTaintArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintArrayOutput { - return o +func (GetTelemetryrouterDestinationConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfig)(nil)).Elem() } -func (o GetSkeClusterNodePoolTaintArrayOutput) Index(i pulumi.IntInput) GetSkeClusterNodePoolTaintOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeClusterNodePoolTaint { - return vs[0].([]GetSkeClusterNodePoolTaint)[vs[1].(int)] - }).(GetSkeClusterNodePoolTaintOutput) +func (i GetTelemetryrouterDestinationConfigArgs) ToGetTelemetryrouterDestinationConfigOutput() GetTelemetryrouterDestinationConfigOutput { + return i.ToGetTelemetryrouterDestinationConfigOutputWithContext(context.Background()) } -type GetSkeKubernetesVersionsKubernetesVersion struct { - // Expiration date of the version in RFC3339 format. - ExpirationDate string `pulumi:"expirationDate"` - // Map of available feature gates for this version. - FeatureGates map[string]string `pulumi:"featureGates"` - // State of the kubernetes version. - State string `pulumi:"state"` - // Kubernetes version string (e.g., `1.33.6`). - Version string `pulumi:"version"` +func (i GetTelemetryrouterDestinationConfigArgs) ToGetTelemetryrouterDestinationConfigOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigOutput) } -// GetSkeKubernetesVersionsKubernetesVersionInput is an input type that accepts GetSkeKubernetesVersionsKubernetesVersionArgs and GetSkeKubernetesVersionsKubernetesVersionOutput values. -// You can construct a concrete instance of `GetSkeKubernetesVersionsKubernetesVersionInput` via: -// -// GetSkeKubernetesVersionsKubernetesVersionArgs{...} -type GetSkeKubernetesVersionsKubernetesVersionInput interface { - pulumi.Input +type GetTelemetryrouterDestinationConfigOutput struct{ *pulumi.OutputState } - ToGetSkeKubernetesVersionsKubernetesVersionOutput() GetSkeKubernetesVersionsKubernetesVersionOutput - ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(context.Context) GetSkeKubernetesVersionsKubernetesVersionOutput +func (GetTelemetryrouterDestinationConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfig)(nil)).Elem() } -type GetSkeKubernetesVersionsKubernetesVersionArgs struct { - // Expiration date of the version in RFC3339 format. - ExpirationDate pulumi.StringInput `pulumi:"expirationDate"` - // Map of available feature gates for this version. - FeatureGates pulumi.StringMapInput `pulumi:"featureGates"` - // State of the kubernetes version. - State pulumi.StringInput `pulumi:"state"` - // Kubernetes version string (e.g., `1.33.6`). - Version pulumi.StringInput `pulumi:"version"` +func (o GetTelemetryrouterDestinationConfigOutput) ToGetTelemetryrouterDestinationConfigOutput() GetTelemetryrouterDestinationConfigOutput { + return o } -func (GetSkeKubernetesVersionsKubernetesVersionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() +func (o GetTelemetryrouterDestinationConfigOutput) ToGetTelemetryrouterDestinationConfigOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigOutput { + return o } -func (i GetSkeKubernetesVersionsKubernetesVersionArgs) ToGetSkeKubernetesVersionsKubernetesVersionOutput() GetSkeKubernetesVersionsKubernetesVersionOutput { - return i.ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(context.Background()) +// The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. +func (o GetTelemetryrouterDestinationConfigOutput) ConfigType() pulumi.StringOutput { + return o.ApplyT(func(v GetTelemetryrouterDestinationConfig) string { return v.ConfigType }).(pulumi.StringOutput) } -func (i GetSkeKubernetesVersionsKubernetesVersionArgs) ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeKubernetesVersionsKubernetesVersionOutput) +// The TelemetryRouter destination's filter settings +func (o GetTelemetryrouterDestinationConfigOutput) Filter() GetTelemetryrouterDestinationConfigFilterOutput { + return o.ApplyT(func(v GetTelemetryrouterDestinationConfig) GetTelemetryrouterDestinationConfigFilter { return v.Filter }).(GetTelemetryrouterDestinationConfigFilterOutput) } -// GetSkeKubernetesVersionsKubernetesVersionArrayInput is an input type that accepts GetSkeKubernetesVersionsKubernetesVersionArray and GetSkeKubernetesVersionsKubernetesVersionArrayOutput values. -// You can construct a concrete instance of `GetSkeKubernetesVersionsKubernetesVersionArrayInput` via: +// OpenTelemetry configuration +func (o GetTelemetryrouterDestinationConfigOutput) Opentelemetry() GetTelemetryrouterDestinationConfigOpentelemetryOutput { + return o.ApplyT(func(v GetTelemetryrouterDestinationConfig) GetTelemetryrouterDestinationConfigOpentelemetry { + return v.Opentelemetry + }).(GetTelemetryrouterDestinationConfigOpentelemetryOutput) +} + +// S3 configuration +func (o GetTelemetryrouterDestinationConfigOutput) S3() GetTelemetryrouterDestinationConfigS3Output { + return o.ApplyT(func(v GetTelemetryrouterDestinationConfig) GetTelemetryrouterDestinationConfigS3 { return v.S3 }).(GetTelemetryrouterDestinationConfigS3Output) +} + +type GetTelemetryrouterDestinationConfigFilter struct { + // The TelemetryRouter destination's filter attributes + Attributes []GetTelemetryrouterDestinationConfigFilterAttribute `pulumi:"attributes"` +} + +// GetTelemetryrouterDestinationConfigFilterInput is an input type that accepts GetTelemetryrouterDestinationConfigFilterArgs and GetTelemetryrouterDestinationConfigFilterOutput values. +// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigFilterInput` via: // -// GetSkeKubernetesVersionsKubernetesVersionArray{ GetSkeKubernetesVersionsKubernetesVersionArgs{...} } -type GetSkeKubernetesVersionsKubernetesVersionArrayInput interface { +// GetTelemetryrouterDestinationConfigFilterArgs{...} +type GetTelemetryrouterDestinationConfigFilterInput interface { pulumi.Input - ToGetSkeKubernetesVersionsKubernetesVersionArrayOutput() GetSkeKubernetesVersionsKubernetesVersionArrayOutput - ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(context.Context) GetSkeKubernetesVersionsKubernetesVersionArrayOutput + ToGetTelemetryrouterDestinationConfigFilterOutput() GetTelemetryrouterDestinationConfigFilterOutput + ToGetTelemetryrouterDestinationConfigFilterOutputWithContext(context.Context) GetTelemetryrouterDestinationConfigFilterOutput } -type GetSkeKubernetesVersionsKubernetesVersionArray []GetSkeKubernetesVersionsKubernetesVersionInput +type GetTelemetryrouterDestinationConfigFilterArgs struct { + // The TelemetryRouter destination's filter attributes + Attributes GetTelemetryrouterDestinationConfigFilterAttributeArrayInput `pulumi:"attributes"` +} -func (GetSkeKubernetesVersionsKubernetesVersionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() +func (GetTelemetryrouterDestinationConfigFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfigFilter)(nil)).Elem() } -func (i GetSkeKubernetesVersionsKubernetesVersionArray) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutput() GetSkeKubernetesVersionsKubernetesVersionArrayOutput { - return i.ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(context.Background()) +func (i GetTelemetryrouterDestinationConfigFilterArgs) ToGetTelemetryrouterDestinationConfigFilterOutput() GetTelemetryrouterDestinationConfigFilterOutput { + return i.ToGetTelemetryrouterDestinationConfigFilterOutputWithContext(context.Background()) } -func (i GetSkeKubernetesVersionsKubernetesVersionArray) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeKubernetesVersionsKubernetesVersionArrayOutput) +func (i GetTelemetryrouterDestinationConfigFilterArgs) ToGetTelemetryrouterDestinationConfigFilterOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigFilterOutput) } -type GetSkeKubernetesVersionsKubernetesVersionOutput struct{ *pulumi.OutputState } +type GetTelemetryrouterDestinationConfigFilterOutput struct{ *pulumi.OutputState } -func (GetSkeKubernetesVersionsKubernetesVersionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() +func (GetTelemetryrouterDestinationConfigFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfigFilter)(nil)).Elem() } -func (o GetSkeKubernetesVersionsKubernetesVersionOutput) ToGetSkeKubernetesVersionsKubernetesVersionOutput() GetSkeKubernetesVersionsKubernetesVersionOutput { +func (o GetTelemetryrouterDestinationConfigFilterOutput) ToGetTelemetryrouterDestinationConfigFilterOutput() GetTelemetryrouterDestinationConfigFilterOutput { return o } -func (o GetSkeKubernetesVersionsKubernetesVersionOutput) ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionOutput { +func (o GetTelemetryrouterDestinationConfigFilterOutput) ToGetTelemetryrouterDestinationConfigFilterOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterOutput { return o } -// Expiration date of the version in RFC3339 format. -func (o GetSkeKubernetesVersionsKubernetesVersionOutput) ExpirationDate() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeKubernetesVersionsKubernetesVersion) string { return v.ExpirationDate }).(pulumi.StringOutput) +// The TelemetryRouter destination's filter attributes +func (o GetTelemetryrouterDestinationConfigFilterOutput) Attributes() GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput { + return o.ApplyT(func(v GetTelemetryrouterDestinationConfigFilter) []GetTelemetryrouterDestinationConfigFilterAttribute { + return v.Attributes + }).(GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) +} + +type GetTelemetryrouterDestinationConfigFilterAttribute struct { + // The TelemetryRouter destination's filter attribute key + Key string `pulumi:"key"` + // The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + Level string `pulumi:"level"` + // The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. + Matcher string `pulumi:"matcher"` + // The TelemetryRouter destination's filter attribute values + Values []string `pulumi:"values"` +} + +// GetTelemetryrouterDestinationConfigFilterAttributeInput is an input type that accepts GetTelemetryrouterDestinationConfigFilterAttributeArgs and GetTelemetryrouterDestinationConfigFilterAttributeOutput values. +// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigFilterAttributeInput` via: +// +// GetTelemetryrouterDestinationConfigFilterAttributeArgs{...} +type GetTelemetryrouterDestinationConfigFilterAttributeInput interface { + pulumi.Input + + ToGetTelemetryrouterDestinationConfigFilterAttributeOutput() GetTelemetryrouterDestinationConfigFilterAttributeOutput + ToGetTelemetryrouterDestinationConfigFilterAttributeOutputWithContext(context.Context) GetTelemetryrouterDestinationConfigFilterAttributeOutput +} + +type GetTelemetryrouterDestinationConfigFilterAttributeArgs struct { + // The TelemetryRouter destination's filter attribute key + Key pulumi.StringInput `pulumi:"key"` + // The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + Level pulumi.StringInput `pulumi:"level"` + // The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. + Matcher pulumi.StringInput `pulumi:"matcher"` + // The TelemetryRouter destination's filter attribute values + Values pulumi.StringArrayInput `pulumi:"values"` +} + +func (GetTelemetryrouterDestinationConfigFilterAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfigFilterAttribute)(nil)).Elem() } -// Map of available feature gates for this version. -func (o GetSkeKubernetesVersionsKubernetesVersionOutput) FeatureGates() pulumi.StringMapOutput { - return o.ApplyT(func(v GetSkeKubernetesVersionsKubernetesVersion) map[string]string { return v.FeatureGates }).(pulumi.StringMapOutput) +func (i GetTelemetryrouterDestinationConfigFilterAttributeArgs) ToGetTelemetryrouterDestinationConfigFilterAttributeOutput() GetTelemetryrouterDestinationConfigFilterAttributeOutput { + return i.ToGetTelemetryrouterDestinationConfigFilterAttributeOutputWithContext(context.Background()) } -// State of the kubernetes version. -func (o GetSkeKubernetesVersionsKubernetesVersionOutput) State() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeKubernetesVersionsKubernetesVersion) string { return v.State }).(pulumi.StringOutput) +func (i GetTelemetryrouterDestinationConfigFilterAttributeArgs) ToGetTelemetryrouterDestinationConfigFilterAttributeOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigFilterAttributeOutput) } -// Kubernetes version string (e.g., `1.33.6`). -func (o GetSkeKubernetesVersionsKubernetesVersionOutput) Version() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeKubernetesVersionsKubernetesVersion) string { return v.Version }).(pulumi.StringOutput) +// GetTelemetryrouterDestinationConfigFilterAttributeArrayInput is an input type that accepts GetTelemetryrouterDestinationConfigFilterAttributeArray and GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput values. +// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigFilterAttributeArrayInput` via: +// +// GetTelemetryrouterDestinationConfigFilterAttributeArray{ GetTelemetryrouterDestinationConfigFilterAttributeArgs{...} } +type GetTelemetryrouterDestinationConfigFilterAttributeArrayInput interface { + pulumi.Input + + ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutput() GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput + ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutputWithContext(context.Context) GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput } -type GetSkeKubernetesVersionsKubernetesVersionArrayOutput struct{ *pulumi.OutputState } +type GetTelemetryrouterDestinationConfigFilterAttributeArray []GetTelemetryrouterDestinationConfigFilterAttributeInput -func (GetSkeKubernetesVersionsKubernetesVersionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() +func (GetTelemetryrouterDestinationConfigFilterAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTelemetryrouterDestinationConfigFilterAttribute)(nil)).Elem() } -func (o GetSkeKubernetesVersionsKubernetesVersionArrayOutput) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutput() GetSkeKubernetesVersionsKubernetesVersionArrayOutput { - return o +func (i GetTelemetryrouterDestinationConfigFilterAttributeArray) ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutput() GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput { + return i.ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutputWithContext(context.Background()) } -func (o GetSkeKubernetesVersionsKubernetesVersionArrayOutput) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionArrayOutput { - return o +func (i GetTelemetryrouterDestinationConfigFilterAttributeArray) ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) } -func (o GetSkeKubernetesVersionsKubernetesVersionArrayOutput) Index(i pulumi.IntInput) GetSkeKubernetesVersionsKubernetesVersionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeKubernetesVersionsKubernetesVersion { - return vs[0].([]GetSkeKubernetesVersionsKubernetesVersion)[vs[1].(int)] - }).(GetSkeKubernetesVersionsKubernetesVersionOutput) -} +type GetTelemetryrouterDestinationConfigFilterAttributeOutput struct{ *pulumi.OutputState } -type GetSkeMachineImageVersionsMachineImage struct { - // Name of the OS image (e.g., `ubuntu` or `flatcar`). - Name string `pulumi:"name"` - // Supported versions of the image. - Versions []GetSkeMachineImageVersionsMachineImageVersion `pulumi:"versions"` +func (GetTelemetryrouterDestinationConfigFilterAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfigFilterAttribute)(nil)).Elem() } -// GetSkeMachineImageVersionsMachineImageInput is an input type that accepts GetSkeMachineImageVersionsMachineImageArgs and GetSkeMachineImageVersionsMachineImageOutput values. -// You can construct a concrete instance of `GetSkeMachineImageVersionsMachineImageInput` via: -// -// GetSkeMachineImageVersionsMachineImageArgs{...} -type GetSkeMachineImageVersionsMachineImageInput interface { - pulumi.Input +func (o GetTelemetryrouterDestinationConfigFilterAttributeOutput) ToGetTelemetryrouterDestinationConfigFilterAttributeOutput() GetTelemetryrouterDestinationConfigFilterAttributeOutput { + return o +} - ToGetSkeMachineImageVersionsMachineImageOutput() GetSkeMachineImageVersionsMachineImageOutput - ToGetSkeMachineImageVersionsMachineImageOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageOutput +func (o GetTelemetryrouterDestinationConfigFilterAttributeOutput) ToGetTelemetryrouterDestinationConfigFilterAttributeOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterAttributeOutput { + return o } -type GetSkeMachineImageVersionsMachineImageArgs struct { - // Name of the OS image (e.g., `ubuntu` or `flatcar`). - Name pulumi.StringInput `pulumi:"name"` - // Supported versions of the image. - Versions GetSkeMachineImageVersionsMachineImageVersionArrayInput `pulumi:"versions"` +// The TelemetryRouter destination's filter attribute key +func (o GetTelemetryrouterDestinationConfigFilterAttributeOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetTelemetryrouterDestinationConfigFilterAttribute) string { return v.Key }).(pulumi.StringOutput) } -func (GetSkeMachineImageVersionsMachineImageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImage)(nil)).Elem() +// The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. +func (o GetTelemetryrouterDestinationConfigFilterAttributeOutput) Level() pulumi.StringOutput { + return o.ApplyT(func(v GetTelemetryrouterDestinationConfigFilterAttribute) string { return v.Level }).(pulumi.StringOutput) } -func (i GetSkeMachineImageVersionsMachineImageArgs) ToGetSkeMachineImageVersionsMachineImageOutput() GetSkeMachineImageVersionsMachineImageOutput { - return i.ToGetSkeMachineImageVersionsMachineImageOutputWithContext(context.Background()) +// The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. +func (o GetTelemetryrouterDestinationConfigFilterAttributeOutput) Matcher() pulumi.StringOutput { + return o.ApplyT(func(v GetTelemetryrouterDestinationConfigFilterAttribute) string { return v.Matcher }).(pulumi.StringOutput) } -func (i GetSkeMachineImageVersionsMachineImageArgs) ToGetSkeMachineImageVersionsMachineImageOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageOutput) +// The TelemetryRouter destination's filter attribute values +func (o GetTelemetryrouterDestinationConfigFilterAttributeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetTelemetryrouterDestinationConfigFilterAttribute) []string { return v.Values }).(pulumi.StringArrayOutput) } -// GetSkeMachineImageVersionsMachineImageArrayInput is an input type that accepts GetSkeMachineImageVersionsMachineImageArray and GetSkeMachineImageVersionsMachineImageArrayOutput values. -// You can construct a concrete instance of `GetSkeMachineImageVersionsMachineImageArrayInput` via: -// -// GetSkeMachineImageVersionsMachineImageArray{ GetSkeMachineImageVersionsMachineImageArgs{...} } -type GetSkeMachineImageVersionsMachineImageArrayInput interface { - pulumi.Input +type GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput struct{ *pulumi.OutputState } - ToGetSkeMachineImageVersionsMachineImageArrayOutput() GetSkeMachineImageVersionsMachineImageArrayOutput - ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageArrayOutput +func (GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTelemetryrouterDestinationConfigFilterAttribute)(nil)).Elem() } -type GetSkeMachineImageVersionsMachineImageArray []GetSkeMachineImageVersionsMachineImageInput +func (o GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutput() GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput { + return o +} -func (GetSkeMachineImageVersionsMachineImageArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImage)(nil)).Elem() +func (o GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput { + return o } -func (i GetSkeMachineImageVersionsMachineImageArray) ToGetSkeMachineImageVersionsMachineImageArrayOutput() GetSkeMachineImageVersionsMachineImageArrayOutput { - return i.ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(context.Background()) +func (o GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) Index(i pulumi.IntInput) GetTelemetryrouterDestinationConfigFilterAttributeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTelemetryrouterDestinationConfigFilterAttribute { + return vs[0].([]GetTelemetryrouterDestinationConfigFilterAttribute)[vs[1].(int)] + }).(GetTelemetryrouterDestinationConfigFilterAttributeOutput) } -func (i GetSkeMachineImageVersionsMachineImageArray) ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageArrayOutput) +type GetTelemetryrouterDestinationConfigOpentelemetry struct { + // OpenTelemetry destination URI + Uri string `pulumi:"uri"` } -type GetSkeMachineImageVersionsMachineImageOutput struct{ *pulumi.OutputState } +// GetTelemetryrouterDestinationConfigOpentelemetryInput is an input type that accepts GetTelemetryrouterDestinationConfigOpentelemetryArgs and GetTelemetryrouterDestinationConfigOpentelemetryOutput values. +// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigOpentelemetryInput` via: +// +// GetTelemetryrouterDestinationConfigOpentelemetryArgs{...} +type GetTelemetryrouterDestinationConfigOpentelemetryInput interface { + pulumi.Input -func (GetSkeMachineImageVersionsMachineImageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImage)(nil)).Elem() + ToGetTelemetryrouterDestinationConfigOpentelemetryOutput() GetTelemetryrouterDestinationConfigOpentelemetryOutput + ToGetTelemetryrouterDestinationConfigOpentelemetryOutputWithContext(context.Context) GetTelemetryrouterDestinationConfigOpentelemetryOutput } -func (o GetSkeMachineImageVersionsMachineImageOutput) ToGetSkeMachineImageVersionsMachineImageOutput() GetSkeMachineImageVersionsMachineImageOutput { - return o +type GetTelemetryrouterDestinationConfigOpentelemetryArgs struct { + // OpenTelemetry destination URI + Uri pulumi.StringInput `pulumi:"uri"` } -func (o GetSkeMachineImageVersionsMachineImageOutput) ToGetSkeMachineImageVersionsMachineImageOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageOutput { - return o +func (GetTelemetryrouterDestinationConfigOpentelemetryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfigOpentelemetry)(nil)).Elem() } -// Name of the OS image (e.g., `ubuntu` or `flatcar`). -func (o GetSkeMachineImageVersionsMachineImageOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImage) string { return v.Name }).(pulumi.StringOutput) +func (i GetTelemetryrouterDestinationConfigOpentelemetryArgs) ToGetTelemetryrouterDestinationConfigOpentelemetryOutput() GetTelemetryrouterDestinationConfigOpentelemetryOutput { + return i.ToGetTelemetryrouterDestinationConfigOpentelemetryOutputWithContext(context.Background()) } -// Supported versions of the image. -func (o GetSkeMachineImageVersionsMachineImageOutput) Versions() GetSkeMachineImageVersionsMachineImageVersionArrayOutput { - return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImage) []GetSkeMachineImageVersionsMachineImageVersion { - return v.Versions - }).(GetSkeMachineImageVersionsMachineImageVersionArrayOutput) +func (i GetTelemetryrouterDestinationConfigOpentelemetryArgs) ToGetTelemetryrouterDestinationConfigOpentelemetryOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigOpentelemetryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigOpentelemetryOutput) } -type GetSkeMachineImageVersionsMachineImageArrayOutput struct{ *pulumi.OutputState } +type GetTelemetryrouterDestinationConfigOpentelemetryOutput struct{ *pulumi.OutputState } -func (GetSkeMachineImageVersionsMachineImageArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImage)(nil)).Elem() +func (GetTelemetryrouterDestinationConfigOpentelemetryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfigOpentelemetry)(nil)).Elem() } -func (o GetSkeMachineImageVersionsMachineImageArrayOutput) ToGetSkeMachineImageVersionsMachineImageArrayOutput() GetSkeMachineImageVersionsMachineImageArrayOutput { +func (o GetTelemetryrouterDestinationConfigOpentelemetryOutput) ToGetTelemetryrouterDestinationConfigOpentelemetryOutput() GetTelemetryrouterDestinationConfigOpentelemetryOutput { return o } -func (o GetSkeMachineImageVersionsMachineImageArrayOutput) ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageArrayOutput { +func (o GetTelemetryrouterDestinationConfigOpentelemetryOutput) ToGetTelemetryrouterDestinationConfigOpentelemetryOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigOpentelemetryOutput { return o } -func (o GetSkeMachineImageVersionsMachineImageArrayOutput) Index(i pulumi.IntInput) GetSkeMachineImageVersionsMachineImageOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeMachineImageVersionsMachineImage { - return vs[0].([]GetSkeMachineImageVersionsMachineImage)[vs[1].(int)] - }).(GetSkeMachineImageVersionsMachineImageOutput) +// OpenTelemetry destination URI +func (o GetTelemetryrouterDestinationConfigOpentelemetryOutput) Uri() pulumi.StringOutput { + return o.ApplyT(func(v GetTelemetryrouterDestinationConfigOpentelemetry) string { return v.Uri }).(pulumi.StringOutput) } -type GetSkeMachineImageVersionsMachineImageVersion struct { - // Container runtimes supported (e.g., `containerd`). - Cris []string `pulumi:"cris"` - // Expiration date of the version in RFC3339 format. - ExpirationDate string `pulumi:"expirationDate"` - // State of the image version. - State string `pulumi:"state"` - // Machine image version string. - Version string `pulumi:"version"` +type GetTelemetryrouterDestinationConfigS3 struct { + // S3 bucket name + Bucket string `pulumi:"bucket"` + // S3 endpoint + Endpoint string `pulumi:"endpoint"` } -// GetSkeMachineImageVersionsMachineImageVersionInput is an input type that accepts GetSkeMachineImageVersionsMachineImageVersionArgs and GetSkeMachineImageVersionsMachineImageVersionOutput values. -// You can construct a concrete instance of `GetSkeMachineImageVersionsMachineImageVersionInput` via: +// GetTelemetryrouterDestinationConfigS3Input is an input type that accepts GetTelemetryrouterDestinationConfigS3Args and GetTelemetryrouterDestinationConfigS3Output values. +// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigS3Input` via: // -// GetSkeMachineImageVersionsMachineImageVersionArgs{...} -type GetSkeMachineImageVersionsMachineImageVersionInput interface { +// GetTelemetryrouterDestinationConfigS3Args{...} +type GetTelemetryrouterDestinationConfigS3Input interface { pulumi.Input - ToGetSkeMachineImageVersionsMachineImageVersionOutput() GetSkeMachineImageVersionsMachineImageVersionOutput - ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageVersionOutput + ToGetTelemetryrouterDestinationConfigS3Output() GetTelemetryrouterDestinationConfigS3Output + ToGetTelemetryrouterDestinationConfigS3OutputWithContext(context.Context) GetTelemetryrouterDestinationConfigS3Output } -type GetSkeMachineImageVersionsMachineImageVersionArgs struct { - // Container runtimes supported (e.g., `containerd`). - Cris pulumi.StringArrayInput `pulumi:"cris"` - // Expiration date of the version in RFC3339 format. - ExpirationDate pulumi.StringInput `pulumi:"expirationDate"` - // State of the image version. - State pulumi.StringInput `pulumi:"state"` - // Machine image version string. - Version pulumi.StringInput `pulumi:"version"` +type GetTelemetryrouterDestinationConfigS3Args struct { + // S3 bucket name + Bucket pulumi.StringInput `pulumi:"bucket"` + // S3 endpoint + Endpoint pulumi.StringInput `pulumi:"endpoint"` } -func (GetSkeMachineImageVersionsMachineImageVersionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() +func (GetTelemetryrouterDestinationConfigS3Args) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfigS3)(nil)).Elem() } -func (i GetSkeMachineImageVersionsMachineImageVersionArgs) ToGetSkeMachineImageVersionsMachineImageVersionOutput() GetSkeMachineImageVersionsMachineImageVersionOutput { - return i.ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(context.Background()) +func (i GetTelemetryrouterDestinationConfigS3Args) ToGetTelemetryrouterDestinationConfigS3Output() GetTelemetryrouterDestinationConfigS3Output { + return i.ToGetTelemetryrouterDestinationConfigS3OutputWithContext(context.Background()) } -func (i GetSkeMachineImageVersionsMachineImageVersionArgs) ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageVersionOutput) +func (i GetTelemetryrouterDestinationConfigS3Args) ToGetTelemetryrouterDestinationConfigS3OutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigS3Output { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigS3Output) } -// GetSkeMachineImageVersionsMachineImageVersionArrayInput is an input type that accepts GetSkeMachineImageVersionsMachineImageVersionArray and GetSkeMachineImageVersionsMachineImageVersionArrayOutput values. -// You can construct a concrete instance of `GetSkeMachineImageVersionsMachineImageVersionArrayInput` via: -// -// GetSkeMachineImageVersionsMachineImageVersionArray{ GetSkeMachineImageVersionsMachineImageVersionArgs{...} } -type GetSkeMachineImageVersionsMachineImageVersionArrayInput interface { - pulumi.Input +type GetTelemetryrouterDestinationConfigS3Output struct{ *pulumi.OutputState } - ToGetSkeMachineImageVersionsMachineImageVersionArrayOutput() GetSkeMachineImageVersionsMachineImageVersionArrayOutput - ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageVersionArrayOutput +func (GetTelemetryrouterDestinationConfigS3Output) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfigS3)(nil)).Elem() } -type GetSkeMachineImageVersionsMachineImageVersionArray []GetSkeMachineImageVersionsMachineImageVersionInput - -func (GetSkeMachineImageVersionsMachineImageVersionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() +func (o GetTelemetryrouterDestinationConfigS3Output) ToGetTelemetryrouterDestinationConfigS3Output() GetTelemetryrouterDestinationConfigS3Output { + return o } -func (i GetSkeMachineImageVersionsMachineImageVersionArray) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutput() GetSkeMachineImageVersionsMachineImageVersionArrayOutput { - return i.ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(context.Background()) +func (o GetTelemetryrouterDestinationConfigS3Output) ToGetTelemetryrouterDestinationConfigS3OutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigS3Output { + return o } -func (i GetSkeMachineImageVersionsMachineImageVersionArray) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageVersionArrayOutput) +// S3 bucket name +func (o GetTelemetryrouterDestinationConfigS3Output) Bucket() pulumi.StringOutput { + return o.ApplyT(func(v GetTelemetryrouterDestinationConfigS3) string { return v.Bucket }).(pulumi.StringOutput) } -type GetSkeMachineImageVersionsMachineImageVersionOutput struct{ *pulumi.OutputState } +// S3 endpoint +func (o GetTelemetryrouterDestinationConfigS3Output) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v GetTelemetryrouterDestinationConfigS3) string { return v.Endpoint }).(pulumi.StringOutput) +} -func (GetSkeMachineImageVersionsMachineImageVersionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() +type GetTelemetryrouterInstanceFilter struct { + // The TelemetryRouter global filter attributes + Attributes []GetTelemetryrouterInstanceFilterAttribute `pulumi:"attributes"` } -func (o GetSkeMachineImageVersionsMachineImageVersionOutput) ToGetSkeMachineImageVersionsMachineImageVersionOutput() GetSkeMachineImageVersionsMachineImageVersionOutput { - return o -} +// GetTelemetryrouterInstanceFilterInput is an input type that accepts GetTelemetryrouterInstanceFilterArgs and GetTelemetryrouterInstanceFilterOutput values. +// You can construct a concrete instance of `GetTelemetryrouterInstanceFilterInput` via: +// +// GetTelemetryrouterInstanceFilterArgs{...} +type GetTelemetryrouterInstanceFilterInput interface { + pulumi.Input -func (o GetSkeMachineImageVersionsMachineImageVersionOutput) ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionOutput { - return o + ToGetTelemetryrouterInstanceFilterOutput() GetTelemetryrouterInstanceFilterOutput + ToGetTelemetryrouterInstanceFilterOutputWithContext(context.Context) GetTelemetryrouterInstanceFilterOutput } -// Container runtimes supported (e.g., `containerd`). -func (o GetSkeMachineImageVersionsMachineImageVersionOutput) Cris() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) []string { return v.Cris }).(pulumi.StringArrayOutput) +type GetTelemetryrouterInstanceFilterArgs struct { + // The TelemetryRouter global filter attributes + Attributes GetTelemetryrouterInstanceFilterAttributeArrayInput `pulumi:"attributes"` } -// Expiration date of the version in RFC3339 format. -func (o GetSkeMachineImageVersionsMachineImageVersionOutput) ExpirationDate() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) string { return v.ExpirationDate }).(pulumi.StringOutput) +func (GetTelemetryrouterInstanceFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterInstanceFilter)(nil)).Elem() } -// State of the image version. -func (o GetSkeMachineImageVersionsMachineImageVersionOutput) State() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) string { return v.State }).(pulumi.StringOutput) +func (i GetTelemetryrouterInstanceFilterArgs) ToGetTelemetryrouterInstanceFilterOutput() GetTelemetryrouterInstanceFilterOutput { + return i.ToGetTelemetryrouterInstanceFilterOutputWithContext(context.Background()) } -// Machine image version string. -func (o GetSkeMachineImageVersionsMachineImageVersionOutput) Version() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) string { return v.Version }).(pulumi.StringOutput) +func (i GetTelemetryrouterInstanceFilterArgs) ToGetTelemetryrouterInstanceFilterOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterInstanceFilterOutput) } -type GetSkeMachineImageVersionsMachineImageVersionArrayOutput struct{ *pulumi.OutputState } +type GetTelemetryrouterInstanceFilterOutput struct{ *pulumi.OutputState } -func (GetSkeMachineImageVersionsMachineImageVersionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() +func (GetTelemetryrouterInstanceFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterInstanceFilter)(nil)).Elem() } -func (o GetSkeMachineImageVersionsMachineImageVersionArrayOutput) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutput() GetSkeMachineImageVersionsMachineImageVersionArrayOutput { +func (o GetTelemetryrouterInstanceFilterOutput) ToGetTelemetryrouterInstanceFilterOutput() GetTelemetryrouterInstanceFilterOutput { return o } -func (o GetSkeMachineImageVersionsMachineImageVersionArrayOutput) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionArrayOutput { +func (o GetTelemetryrouterInstanceFilterOutput) ToGetTelemetryrouterInstanceFilterOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterOutput { return o } -func (o GetSkeMachineImageVersionsMachineImageVersionArrayOutput) Index(i pulumi.IntInput) GetSkeMachineImageVersionsMachineImageVersionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeMachineImageVersionsMachineImageVersion { - return vs[0].([]GetSkeMachineImageVersionsMachineImageVersion)[vs[1].(int)] - }).(GetSkeMachineImageVersionsMachineImageVersionOutput) +// The TelemetryRouter global filter attributes +func (o GetTelemetryrouterInstanceFilterOutput) Attributes() GetTelemetryrouterInstanceFilterAttributeArrayOutput { + return o.ApplyT(func(v GetTelemetryrouterInstanceFilter) []GetTelemetryrouterInstanceFilterAttribute { + return v.Attributes + }).(GetTelemetryrouterInstanceFilterAttributeArrayOutput) } -type GetSqlserverflexInstanceFlavor struct { - Cpu int `pulumi:"cpu"` - Description string `pulumi:"description"` - Id string `pulumi:"id"` - Ram int `pulumi:"ram"` +type GetTelemetryrouterInstanceFilterAttribute struct { + // The TelemetryRouter global filter attribute key + Key string `pulumi:"key"` + // The TelemetryRouter global filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + Level string `pulumi:"level"` + // The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. + Matcher string `pulumi:"matcher"` + // The TelemetryRouter global filter attributes + Values []string `pulumi:"values"` } -// GetSqlserverflexInstanceFlavorInput is an input type that accepts GetSqlserverflexInstanceFlavorArgs and GetSqlserverflexInstanceFlavorOutput values. -// You can construct a concrete instance of `GetSqlserverflexInstanceFlavorInput` via: +// GetTelemetryrouterInstanceFilterAttributeInput is an input type that accepts GetTelemetryrouterInstanceFilterAttributeArgs and GetTelemetryrouterInstanceFilterAttributeOutput values. +// You can construct a concrete instance of `GetTelemetryrouterInstanceFilterAttributeInput` via: // -// GetSqlserverflexInstanceFlavorArgs{...} -type GetSqlserverflexInstanceFlavorInput interface { +// GetTelemetryrouterInstanceFilterAttributeArgs{...} +type GetTelemetryrouterInstanceFilterAttributeInput interface { pulumi.Input - ToGetSqlserverflexInstanceFlavorOutput() GetSqlserverflexInstanceFlavorOutput - ToGetSqlserverflexInstanceFlavorOutputWithContext(context.Context) GetSqlserverflexInstanceFlavorOutput + ToGetTelemetryrouterInstanceFilterAttributeOutput() GetTelemetryrouterInstanceFilterAttributeOutput + ToGetTelemetryrouterInstanceFilterAttributeOutputWithContext(context.Context) GetTelemetryrouterInstanceFilterAttributeOutput } -type GetSqlserverflexInstanceFlavorArgs struct { - Cpu pulumi.IntInput `pulumi:"cpu"` - Description pulumi.StringInput `pulumi:"description"` - Id pulumi.StringInput `pulumi:"id"` - Ram pulumi.IntInput `pulumi:"ram"` +type GetTelemetryrouterInstanceFilterAttributeArgs struct { + // The TelemetryRouter global filter attribute key + Key pulumi.StringInput `pulumi:"key"` + // The TelemetryRouter global filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + Level pulumi.StringInput `pulumi:"level"` + // The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. + Matcher pulumi.StringInput `pulumi:"matcher"` + // The TelemetryRouter global filter attributes + Values pulumi.StringArrayInput `pulumi:"values"` } -func (GetSqlserverflexInstanceFlavorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSqlserverflexInstanceFlavor)(nil)).Elem() +func (GetTelemetryrouterInstanceFilterAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterInstanceFilterAttribute)(nil)).Elem() } -func (i GetSqlserverflexInstanceFlavorArgs) ToGetSqlserverflexInstanceFlavorOutput() GetSqlserverflexInstanceFlavorOutput { - return i.ToGetSqlserverflexInstanceFlavorOutputWithContext(context.Background()) +func (i GetTelemetryrouterInstanceFilterAttributeArgs) ToGetTelemetryrouterInstanceFilterAttributeOutput() GetTelemetryrouterInstanceFilterAttributeOutput { + return i.ToGetTelemetryrouterInstanceFilterAttributeOutputWithContext(context.Background()) } -func (i GetSqlserverflexInstanceFlavorArgs) ToGetSqlserverflexInstanceFlavorOutputWithContext(ctx context.Context) GetSqlserverflexInstanceFlavorOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceFlavorOutput) +func (i GetTelemetryrouterInstanceFilterAttributeArgs) ToGetTelemetryrouterInstanceFilterAttributeOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterInstanceFilterAttributeOutput) } -type GetSqlserverflexInstanceFlavorOutput struct{ *pulumi.OutputState } +// GetTelemetryrouterInstanceFilterAttributeArrayInput is an input type that accepts GetTelemetryrouterInstanceFilterAttributeArray and GetTelemetryrouterInstanceFilterAttributeArrayOutput values. +// You can construct a concrete instance of `GetTelemetryrouterInstanceFilterAttributeArrayInput` via: +// +// GetTelemetryrouterInstanceFilterAttributeArray{ GetTelemetryrouterInstanceFilterAttributeArgs{...} } +type GetTelemetryrouterInstanceFilterAttributeArrayInput interface { + pulumi.Input -func (GetSqlserverflexInstanceFlavorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSqlserverflexInstanceFlavor)(nil)).Elem() + ToGetTelemetryrouterInstanceFilterAttributeArrayOutput() GetTelemetryrouterInstanceFilterAttributeArrayOutput + ToGetTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(context.Context) GetTelemetryrouterInstanceFilterAttributeArrayOutput } -func (o GetSqlserverflexInstanceFlavorOutput) ToGetSqlserverflexInstanceFlavorOutput() GetSqlserverflexInstanceFlavorOutput { - return o -} +type GetTelemetryrouterInstanceFilterAttributeArray []GetTelemetryrouterInstanceFilterAttributeInput -func (o GetSqlserverflexInstanceFlavorOutput) ToGetSqlserverflexInstanceFlavorOutputWithContext(ctx context.Context) GetSqlserverflexInstanceFlavorOutput { - return o +func (GetTelemetryrouterInstanceFilterAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTelemetryrouterInstanceFilterAttribute)(nil)).Elem() } -func (o GetSqlserverflexInstanceFlavorOutput) Cpu() pulumi.IntOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceFlavor) int { return v.Cpu }).(pulumi.IntOutput) +func (i GetTelemetryrouterInstanceFilterAttributeArray) ToGetTelemetryrouterInstanceFilterAttributeArrayOutput() GetTelemetryrouterInstanceFilterAttributeArrayOutput { + return i.ToGetTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(context.Background()) } -func (o GetSqlserverflexInstanceFlavorOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceFlavor) string { return v.Description }).(pulumi.StringOutput) +func (i GetTelemetryrouterInstanceFilterAttributeArray) ToGetTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterInstanceFilterAttributeArrayOutput) } -func (o GetSqlserverflexInstanceFlavorOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceFlavor) string { return v.Id }).(pulumi.StringOutput) -} +type GetTelemetryrouterInstanceFilterAttributeOutput struct{ *pulumi.OutputState } -func (o GetSqlserverflexInstanceFlavorOutput) Ram() pulumi.IntOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceFlavor) int { return v.Ram }).(pulumi.IntOutput) +func (GetTelemetryrouterInstanceFilterAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterInstanceFilterAttribute)(nil)).Elem() } -type GetSqlserverflexInstanceOptions struct { - Edition string `pulumi:"edition"` - RetentionDays int `pulumi:"retentionDays"` +func (o GetTelemetryrouterInstanceFilterAttributeOutput) ToGetTelemetryrouterInstanceFilterAttributeOutput() GetTelemetryrouterInstanceFilterAttributeOutput { + return o } -// GetSqlserverflexInstanceOptionsInput is an input type that accepts GetSqlserverflexInstanceOptionsArgs and GetSqlserverflexInstanceOptionsOutput values. -// You can construct a concrete instance of `GetSqlserverflexInstanceOptionsInput` via: -// -// GetSqlserverflexInstanceOptionsArgs{...} -type GetSqlserverflexInstanceOptionsInput interface { - pulumi.Input - - ToGetSqlserverflexInstanceOptionsOutput() GetSqlserverflexInstanceOptionsOutput - ToGetSqlserverflexInstanceOptionsOutputWithContext(context.Context) GetSqlserverflexInstanceOptionsOutput +func (o GetTelemetryrouterInstanceFilterAttributeOutput) ToGetTelemetryrouterInstanceFilterAttributeOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterAttributeOutput { + return o } -type GetSqlserverflexInstanceOptionsArgs struct { - Edition pulumi.StringInput `pulumi:"edition"` - RetentionDays pulumi.IntInput `pulumi:"retentionDays"` +// The TelemetryRouter global filter attribute key +func (o GetTelemetryrouterInstanceFilterAttributeOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v GetTelemetryrouterInstanceFilterAttribute) string { return v.Key }).(pulumi.StringOutput) } -func (GetSqlserverflexInstanceOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSqlserverflexInstanceOptions)(nil)).Elem() +// The TelemetryRouter global filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. +func (o GetTelemetryrouterInstanceFilterAttributeOutput) Level() pulumi.StringOutput { + return o.ApplyT(func(v GetTelemetryrouterInstanceFilterAttribute) string { return v.Level }).(pulumi.StringOutput) } -func (i GetSqlserverflexInstanceOptionsArgs) ToGetSqlserverflexInstanceOptionsOutput() GetSqlserverflexInstanceOptionsOutput { - return i.ToGetSqlserverflexInstanceOptionsOutputWithContext(context.Background()) +// The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. +func (o GetTelemetryrouterInstanceFilterAttributeOutput) Matcher() pulumi.StringOutput { + return o.ApplyT(func(v GetTelemetryrouterInstanceFilterAttribute) string { return v.Matcher }).(pulumi.StringOutput) } -func (i GetSqlserverflexInstanceOptionsArgs) ToGetSqlserverflexInstanceOptionsOutputWithContext(ctx context.Context) GetSqlserverflexInstanceOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceOptionsOutput) +// The TelemetryRouter global filter attributes +func (o GetTelemetryrouterInstanceFilterAttributeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetTelemetryrouterInstanceFilterAttribute) []string { return v.Values }).(pulumi.StringArrayOutput) } -type GetSqlserverflexInstanceOptionsOutput struct{ *pulumi.OutputState } +type GetTelemetryrouterInstanceFilterAttributeArrayOutput struct{ *pulumi.OutputState } -func (GetSqlserverflexInstanceOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSqlserverflexInstanceOptions)(nil)).Elem() +func (GetTelemetryrouterInstanceFilterAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTelemetryrouterInstanceFilterAttribute)(nil)).Elem() } -func (o GetSqlserverflexInstanceOptionsOutput) ToGetSqlserverflexInstanceOptionsOutput() GetSqlserverflexInstanceOptionsOutput { +func (o GetTelemetryrouterInstanceFilterAttributeArrayOutput) ToGetTelemetryrouterInstanceFilterAttributeArrayOutput() GetTelemetryrouterInstanceFilterAttributeArrayOutput { return o } -func (o GetSqlserverflexInstanceOptionsOutput) ToGetSqlserverflexInstanceOptionsOutputWithContext(ctx context.Context) GetSqlserverflexInstanceOptionsOutput { +func (o GetTelemetryrouterInstanceFilterAttributeArrayOutput) ToGetTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterAttributeArrayOutput { return o } -func (o GetSqlserverflexInstanceOptionsOutput) Edition() pulumi.StringOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceOptions) string { return v.Edition }).(pulumi.StringOutput) -} - -func (o GetSqlserverflexInstanceOptionsOutput) RetentionDays() pulumi.IntOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceOptions) int { return v.RetentionDays }).(pulumi.IntOutput) +func (o GetTelemetryrouterInstanceFilterAttributeArrayOutput) Index(i pulumi.IntInput) GetTelemetryrouterInstanceFilterAttributeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTelemetryrouterInstanceFilterAttribute { + return vs[0].([]GetTelemetryrouterInstanceFilterAttribute)[vs[1].(int)] + }).(GetTelemetryrouterInstanceFilterAttributeOutput) } -type GetSqlserverflexInstanceStorage struct { - Class string `pulumi:"class"` - Size int `pulumi:"size"` +type GetVolumeSource struct { + // The ID of the source, e.g. image ID + Id string `pulumi:"id"` + // The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`. + Type string `pulumi:"type"` } -// GetSqlserverflexInstanceStorageInput is an input type that accepts GetSqlserverflexInstanceStorageArgs and GetSqlserverflexInstanceStorageOutput values. -// You can construct a concrete instance of `GetSqlserverflexInstanceStorageInput` via: +// GetVolumeSourceInput is an input type that accepts GetVolumeSourceArgs and GetVolumeSourceOutput values. +// You can construct a concrete instance of `GetVolumeSourceInput` via: // -// GetSqlserverflexInstanceStorageArgs{...} -type GetSqlserverflexInstanceStorageInput interface { +// GetVolumeSourceArgs{...} +type GetVolumeSourceInput interface { pulumi.Input - ToGetSqlserverflexInstanceStorageOutput() GetSqlserverflexInstanceStorageOutput - ToGetSqlserverflexInstanceStorageOutputWithContext(context.Context) GetSqlserverflexInstanceStorageOutput + ToGetVolumeSourceOutput() GetVolumeSourceOutput + ToGetVolumeSourceOutputWithContext(context.Context) GetVolumeSourceOutput } -type GetSqlserverflexInstanceStorageArgs struct { - Class pulumi.StringInput `pulumi:"class"` - Size pulumi.IntInput `pulumi:"size"` +type GetVolumeSourceArgs struct { + // The ID of the source, e.g. image ID + Id pulumi.StringInput `pulumi:"id"` + // The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`. + Type pulumi.StringInput `pulumi:"type"` } -func (GetSqlserverflexInstanceStorageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSqlserverflexInstanceStorage)(nil)).Elem() +func (GetVolumeSourceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVolumeSource)(nil)).Elem() } -func (i GetSqlserverflexInstanceStorageArgs) ToGetSqlserverflexInstanceStorageOutput() GetSqlserverflexInstanceStorageOutput { - return i.ToGetSqlserverflexInstanceStorageOutputWithContext(context.Background()) +func (i GetVolumeSourceArgs) ToGetVolumeSourceOutput() GetVolumeSourceOutput { + return i.ToGetVolumeSourceOutputWithContext(context.Background()) } -func (i GetSqlserverflexInstanceStorageArgs) ToGetSqlserverflexInstanceStorageOutputWithContext(ctx context.Context) GetSqlserverflexInstanceStorageOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceStorageOutput) +func (i GetVolumeSourceArgs) ToGetVolumeSourceOutputWithContext(ctx context.Context) GetVolumeSourceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVolumeSourceOutput) } -type GetSqlserverflexInstanceStorageOutput struct{ *pulumi.OutputState } +type GetVolumeSourceOutput struct{ *pulumi.OutputState } -func (GetSqlserverflexInstanceStorageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSqlserverflexInstanceStorage)(nil)).Elem() +func (GetVolumeSourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVolumeSource)(nil)).Elem() } -func (o GetSqlserverflexInstanceStorageOutput) ToGetSqlserverflexInstanceStorageOutput() GetSqlserverflexInstanceStorageOutput { +func (o GetVolumeSourceOutput) ToGetVolumeSourceOutput() GetVolumeSourceOutput { return o } -func (o GetSqlserverflexInstanceStorageOutput) ToGetSqlserverflexInstanceStorageOutputWithContext(ctx context.Context) GetSqlserverflexInstanceStorageOutput { +func (o GetVolumeSourceOutput) ToGetVolumeSourceOutputWithContext(ctx context.Context) GetVolumeSourceOutput { return o } -func (o GetSqlserverflexInstanceStorageOutput) Class() pulumi.StringOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceStorage) string { return v.Class }).(pulumi.StringOutput) +// The ID of the source, e.g. image ID +func (o GetVolumeSourceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetVolumeSource) string { return v.Id }).(pulumi.StringOutput) } -func (o GetSqlserverflexInstanceStorageOutput) Size() pulumi.IntOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceStorage) int { return v.Size }).(pulumi.IntOutput) +// The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`. +func (o GetVolumeSourceOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v GetVolumeSource) string { return v.Type }).(pulumi.StringOutput) } -type GetTelemetryrouterDestinationConfig struct { - // The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. - ConfigType string `pulumi:"configType"` - // The TelemetryRouter destination's filter settings - Filter GetTelemetryrouterDestinationConfigFilter `pulumi:"filter"` - // OpenTelemetry configuration - Opentelemetry GetTelemetryrouterDestinationConfigOpentelemetry `pulumi:"opentelemetry"` - // S3 configuration - S3 GetTelemetryrouterDestinationConfigS3 `pulumi:"s3"` +type GetVpnConnectionTunnel1 struct { + // BGP configuration for this tunnel. + Bgp GetVpnConnectionTunnel1Bgp `pulumi:"bgp"` + // Tunnel interface peering configuration. + Peering GetVpnConnectionTunnel1Peering `pulumi:"peering"` + // IKE Phase 1 configuration. + Phase1 GetVpnConnectionTunnel1Phase1 `pulumi:"phase1"` + // IKE Phase 2 configuration. + Phase2 GetVpnConnectionTunnel1Phase2 `pulumi:"phase2"` + // Remote peer IPv4 address for this tunnel. + RemoteAddress string `pulumi:"remoteAddress"` } -// GetTelemetryrouterDestinationConfigInput is an input type that accepts GetTelemetryrouterDestinationConfigArgs and GetTelemetryrouterDestinationConfigOutput values. -// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigInput` via: +// GetVpnConnectionTunnel1Input is an input type that accepts GetVpnConnectionTunnel1Args and GetVpnConnectionTunnel1Output values. +// You can construct a concrete instance of `GetVpnConnectionTunnel1Input` via: // -// GetTelemetryrouterDestinationConfigArgs{...} -type GetTelemetryrouterDestinationConfigInput interface { +// GetVpnConnectionTunnel1Args{...} +type GetVpnConnectionTunnel1Input interface { pulumi.Input - ToGetTelemetryrouterDestinationConfigOutput() GetTelemetryrouterDestinationConfigOutput - ToGetTelemetryrouterDestinationConfigOutputWithContext(context.Context) GetTelemetryrouterDestinationConfigOutput + ToGetVpnConnectionTunnel1Output() GetVpnConnectionTunnel1Output + ToGetVpnConnectionTunnel1OutputWithContext(context.Context) GetVpnConnectionTunnel1Output } -type GetTelemetryrouterDestinationConfigArgs struct { - // The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. - ConfigType pulumi.StringInput `pulumi:"configType"` - // The TelemetryRouter destination's filter settings - Filter GetTelemetryrouterDestinationConfigFilterInput `pulumi:"filter"` - // OpenTelemetry configuration - Opentelemetry GetTelemetryrouterDestinationConfigOpentelemetryInput `pulumi:"opentelemetry"` - // S3 configuration - S3 GetTelemetryrouterDestinationConfigS3Input `pulumi:"s3"` +type GetVpnConnectionTunnel1Args struct { + // BGP configuration for this tunnel. + Bgp GetVpnConnectionTunnel1BgpInput `pulumi:"bgp"` + // Tunnel interface peering configuration. + Peering GetVpnConnectionTunnel1PeeringInput `pulumi:"peering"` + // IKE Phase 1 configuration. + Phase1 GetVpnConnectionTunnel1Phase1Input `pulumi:"phase1"` + // IKE Phase 2 configuration. + Phase2 GetVpnConnectionTunnel1Phase2Input `pulumi:"phase2"` + // Remote peer IPv4 address for this tunnel. + RemoteAddress pulumi.StringInput `pulumi:"remoteAddress"` } -func (GetTelemetryrouterDestinationConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterDestinationConfig)(nil)).Elem() +func (GetVpnConnectionTunnel1Args) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnConnectionTunnel1)(nil)).Elem() } -func (i GetTelemetryrouterDestinationConfigArgs) ToGetTelemetryrouterDestinationConfigOutput() GetTelemetryrouterDestinationConfigOutput { - return i.ToGetTelemetryrouterDestinationConfigOutputWithContext(context.Background()) +func (i GetVpnConnectionTunnel1Args) ToGetVpnConnectionTunnel1Output() GetVpnConnectionTunnel1Output { + return i.ToGetVpnConnectionTunnel1OutputWithContext(context.Background()) } -func (i GetTelemetryrouterDestinationConfigArgs) ToGetTelemetryrouterDestinationConfigOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigOutput) +func (i GetVpnConnectionTunnel1Args) ToGetVpnConnectionTunnel1OutputWithContext(ctx context.Context) GetVpnConnectionTunnel1Output { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnConnectionTunnel1Output) } -type GetTelemetryrouterDestinationConfigOutput struct{ *pulumi.OutputState } +type GetVpnConnectionTunnel1Output struct{ *pulumi.OutputState } -func (GetTelemetryrouterDestinationConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterDestinationConfig)(nil)).Elem() +func (GetVpnConnectionTunnel1Output) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnConnectionTunnel1)(nil)).Elem() } -func (o GetTelemetryrouterDestinationConfigOutput) ToGetTelemetryrouterDestinationConfigOutput() GetTelemetryrouterDestinationConfigOutput { +func (o GetVpnConnectionTunnel1Output) ToGetVpnConnectionTunnel1Output() GetVpnConnectionTunnel1Output { return o } -func (o GetTelemetryrouterDestinationConfigOutput) ToGetTelemetryrouterDestinationConfigOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigOutput { +func (o GetVpnConnectionTunnel1Output) ToGetVpnConnectionTunnel1OutputWithContext(ctx context.Context) GetVpnConnectionTunnel1Output { return o } -// The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. -func (o GetTelemetryrouterDestinationConfigOutput) ConfigType() pulumi.StringOutput { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfig) string { return v.ConfigType }).(pulumi.StringOutput) +// BGP configuration for this tunnel. +func (o GetVpnConnectionTunnel1Output) Bgp() GetVpnConnectionTunnel1BgpOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel1) GetVpnConnectionTunnel1Bgp { return v.Bgp }).(GetVpnConnectionTunnel1BgpOutput) } -// The TelemetryRouter destination's filter settings -func (o GetTelemetryrouterDestinationConfigOutput) Filter() GetTelemetryrouterDestinationConfigFilterOutput { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfig) GetTelemetryrouterDestinationConfigFilter { return v.Filter }).(GetTelemetryrouterDestinationConfigFilterOutput) +// Tunnel interface peering configuration. +func (o GetVpnConnectionTunnel1Output) Peering() GetVpnConnectionTunnel1PeeringOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel1) GetVpnConnectionTunnel1Peering { return v.Peering }).(GetVpnConnectionTunnel1PeeringOutput) } -// OpenTelemetry configuration -func (o GetTelemetryrouterDestinationConfigOutput) Opentelemetry() GetTelemetryrouterDestinationConfigOpentelemetryOutput { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfig) GetTelemetryrouterDestinationConfigOpentelemetry { - return v.Opentelemetry - }).(GetTelemetryrouterDestinationConfigOpentelemetryOutput) +// IKE Phase 1 configuration. +func (o GetVpnConnectionTunnel1Output) Phase1() GetVpnConnectionTunnel1Phase1Output { + return o.ApplyT(func(v GetVpnConnectionTunnel1) GetVpnConnectionTunnel1Phase1 { return v.Phase1 }).(GetVpnConnectionTunnel1Phase1Output) } -// S3 configuration -func (o GetTelemetryrouterDestinationConfigOutput) S3() GetTelemetryrouterDestinationConfigS3Output { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfig) GetTelemetryrouterDestinationConfigS3 { return v.S3 }).(GetTelemetryrouterDestinationConfigS3Output) +// IKE Phase 2 configuration. +func (o GetVpnConnectionTunnel1Output) Phase2() GetVpnConnectionTunnel1Phase2Output { + return o.ApplyT(func(v GetVpnConnectionTunnel1) GetVpnConnectionTunnel1Phase2 { return v.Phase2 }).(GetVpnConnectionTunnel1Phase2Output) } -type GetTelemetryrouterDestinationConfigFilter struct { - // The TelemetryRouter destination's filter attributes - Attributes []GetTelemetryrouterDestinationConfigFilterAttribute `pulumi:"attributes"` +// Remote peer IPv4 address for this tunnel. +func (o GetVpnConnectionTunnel1Output) RemoteAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel1) string { return v.RemoteAddress }).(pulumi.StringOutput) } -// GetTelemetryrouterDestinationConfigFilterInput is an input type that accepts GetTelemetryrouterDestinationConfigFilterArgs and GetTelemetryrouterDestinationConfigFilterOutput values. -// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigFilterInput` via: +type GetVpnConnectionTunnel1Bgp struct { + // Remote AS number. + RemoteAsn int `pulumi:"remoteAsn"` +} + +// GetVpnConnectionTunnel1BgpInput is an input type that accepts GetVpnConnectionTunnel1BgpArgs and GetVpnConnectionTunnel1BgpOutput values. +// You can construct a concrete instance of `GetVpnConnectionTunnel1BgpInput` via: // -// GetTelemetryrouterDestinationConfigFilterArgs{...} -type GetTelemetryrouterDestinationConfigFilterInput interface { +// GetVpnConnectionTunnel1BgpArgs{...} +type GetVpnConnectionTunnel1BgpInput interface { pulumi.Input - ToGetTelemetryrouterDestinationConfigFilterOutput() GetTelemetryrouterDestinationConfigFilterOutput - ToGetTelemetryrouterDestinationConfigFilterOutputWithContext(context.Context) GetTelemetryrouterDestinationConfigFilterOutput + ToGetVpnConnectionTunnel1BgpOutput() GetVpnConnectionTunnel1BgpOutput + ToGetVpnConnectionTunnel1BgpOutputWithContext(context.Context) GetVpnConnectionTunnel1BgpOutput } -type GetTelemetryrouterDestinationConfigFilterArgs struct { - // The TelemetryRouter destination's filter attributes - Attributes GetTelemetryrouterDestinationConfigFilterAttributeArrayInput `pulumi:"attributes"` +type GetVpnConnectionTunnel1BgpArgs struct { + // Remote AS number. + RemoteAsn pulumi.IntInput `pulumi:"remoteAsn"` } -func (GetTelemetryrouterDestinationConfigFilterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterDestinationConfigFilter)(nil)).Elem() +func (GetVpnConnectionTunnel1BgpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnConnectionTunnel1Bgp)(nil)).Elem() } -func (i GetTelemetryrouterDestinationConfigFilterArgs) ToGetTelemetryrouterDestinationConfigFilterOutput() GetTelemetryrouterDestinationConfigFilterOutput { - return i.ToGetTelemetryrouterDestinationConfigFilterOutputWithContext(context.Background()) +func (i GetVpnConnectionTunnel1BgpArgs) ToGetVpnConnectionTunnel1BgpOutput() GetVpnConnectionTunnel1BgpOutput { + return i.ToGetVpnConnectionTunnel1BgpOutputWithContext(context.Background()) } -func (i GetTelemetryrouterDestinationConfigFilterArgs) ToGetTelemetryrouterDestinationConfigFilterOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigFilterOutput) +func (i GetVpnConnectionTunnel1BgpArgs) ToGetVpnConnectionTunnel1BgpOutputWithContext(ctx context.Context) GetVpnConnectionTunnel1BgpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnConnectionTunnel1BgpOutput) } -type GetTelemetryrouterDestinationConfigFilterOutput struct{ *pulumi.OutputState } +type GetVpnConnectionTunnel1BgpOutput struct{ *pulumi.OutputState } -func (GetTelemetryrouterDestinationConfigFilterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterDestinationConfigFilter)(nil)).Elem() +func (GetVpnConnectionTunnel1BgpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnConnectionTunnel1Bgp)(nil)).Elem() } -func (o GetTelemetryrouterDestinationConfigFilterOutput) ToGetTelemetryrouterDestinationConfigFilterOutput() GetTelemetryrouterDestinationConfigFilterOutput { +func (o GetVpnConnectionTunnel1BgpOutput) ToGetVpnConnectionTunnel1BgpOutput() GetVpnConnectionTunnel1BgpOutput { return o } -func (o GetTelemetryrouterDestinationConfigFilterOutput) ToGetTelemetryrouterDestinationConfigFilterOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterOutput { +func (o GetVpnConnectionTunnel1BgpOutput) ToGetVpnConnectionTunnel1BgpOutputWithContext(ctx context.Context) GetVpnConnectionTunnel1BgpOutput { return o } -// The TelemetryRouter destination's filter attributes -func (o GetTelemetryrouterDestinationConfigFilterOutput) Attributes() GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfigFilter) []GetTelemetryrouterDestinationConfigFilterAttribute { - return v.Attributes - }).(GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) +// Remote AS number. +func (o GetVpnConnectionTunnel1BgpOutput) RemoteAsn() pulumi.IntOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel1Bgp) int { return v.RemoteAsn }).(pulumi.IntOutput) } -type GetTelemetryrouterDestinationConfigFilterAttribute struct { - // The TelemetryRouter destination's filter attribute key - Key string `pulumi:"key"` - // The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. - Level string `pulumi:"level"` - // The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. - Matcher string `pulumi:"matcher"` - // The TelemetryRouter destination's filter attribute values - Values []string `pulumi:"values"` +type GetVpnConnectionTunnel1Peering struct { + // Local tunnel interface IPv4 address. + LocalAddress string `pulumi:"localAddress"` + // Remote tunnel interface IPv4 address. + RemoteAddress string `pulumi:"remoteAddress"` } -// GetTelemetryrouterDestinationConfigFilterAttributeInput is an input type that accepts GetTelemetryrouterDestinationConfigFilterAttributeArgs and GetTelemetryrouterDestinationConfigFilterAttributeOutput values. -// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigFilterAttributeInput` via: +// GetVpnConnectionTunnel1PeeringInput is an input type that accepts GetVpnConnectionTunnel1PeeringArgs and GetVpnConnectionTunnel1PeeringOutput values. +// You can construct a concrete instance of `GetVpnConnectionTunnel1PeeringInput` via: // -// GetTelemetryrouterDestinationConfigFilterAttributeArgs{...} -type GetTelemetryrouterDestinationConfigFilterAttributeInput interface { +// GetVpnConnectionTunnel1PeeringArgs{...} +type GetVpnConnectionTunnel1PeeringInput interface { pulumi.Input - ToGetTelemetryrouterDestinationConfigFilterAttributeOutput() GetTelemetryrouterDestinationConfigFilterAttributeOutput - ToGetTelemetryrouterDestinationConfigFilterAttributeOutputWithContext(context.Context) GetTelemetryrouterDestinationConfigFilterAttributeOutput + ToGetVpnConnectionTunnel1PeeringOutput() GetVpnConnectionTunnel1PeeringOutput + ToGetVpnConnectionTunnel1PeeringOutputWithContext(context.Context) GetVpnConnectionTunnel1PeeringOutput } -type GetTelemetryrouterDestinationConfigFilterAttributeArgs struct { - // The TelemetryRouter destination's filter attribute key - Key pulumi.StringInput `pulumi:"key"` - // The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. - Level pulumi.StringInput `pulumi:"level"` - // The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. - Matcher pulumi.StringInput `pulumi:"matcher"` - // The TelemetryRouter destination's filter attribute values - Values pulumi.StringArrayInput `pulumi:"values"` +type GetVpnConnectionTunnel1PeeringArgs struct { + // Local tunnel interface IPv4 address. + LocalAddress pulumi.StringInput `pulumi:"localAddress"` + // Remote tunnel interface IPv4 address. + RemoteAddress pulumi.StringInput `pulumi:"remoteAddress"` } -func (GetTelemetryrouterDestinationConfigFilterAttributeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterDestinationConfigFilterAttribute)(nil)).Elem() +func (GetVpnConnectionTunnel1PeeringArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnConnectionTunnel1Peering)(nil)).Elem() } -func (i GetTelemetryrouterDestinationConfigFilterAttributeArgs) ToGetTelemetryrouterDestinationConfigFilterAttributeOutput() GetTelemetryrouterDestinationConfigFilterAttributeOutput { - return i.ToGetTelemetryrouterDestinationConfigFilterAttributeOutputWithContext(context.Background()) +func (i GetVpnConnectionTunnel1PeeringArgs) ToGetVpnConnectionTunnel1PeeringOutput() GetVpnConnectionTunnel1PeeringOutput { + return i.ToGetVpnConnectionTunnel1PeeringOutputWithContext(context.Background()) } -func (i GetTelemetryrouterDestinationConfigFilterAttributeArgs) ToGetTelemetryrouterDestinationConfigFilterAttributeOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterAttributeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigFilterAttributeOutput) +func (i GetVpnConnectionTunnel1PeeringArgs) ToGetVpnConnectionTunnel1PeeringOutputWithContext(ctx context.Context) GetVpnConnectionTunnel1PeeringOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnConnectionTunnel1PeeringOutput) } -// GetTelemetryrouterDestinationConfigFilterAttributeArrayInput is an input type that accepts GetTelemetryrouterDestinationConfigFilterAttributeArray and GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput values. -// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigFilterAttributeArrayInput` via: -// -// GetTelemetryrouterDestinationConfigFilterAttributeArray{ GetTelemetryrouterDestinationConfigFilterAttributeArgs{...} } -type GetTelemetryrouterDestinationConfigFilterAttributeArrayInput interface { - pulumi.Input +type GetVpnConnectionTunnel1PeeringOutput struct{ *pulumi.OutputState } - ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutput() GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput - ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutputWithContext(context.Context) GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput +func (GetVpnConnectionTunnel1PeeringOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnConnectionTunnel1Peering)(nil)).Elem() } -type GetTelemetryrouterDestinationConfigFilterAttributeArray []GetTelemetryrouterDestinationConfigFilterAttributeInput - -func (GetTelemetryrouterDestinationConfigFilterAttributeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetTelemetryrouterDestinationConfigFilterAttribute)(nil)).Elem() +func (o GetVpnConnectionTunnel1PeeringOutput) ToGetVpnConnectionTunnel1PeeringOutput() GetVpnConnectionTunnel1PeeringOutput { + return o } -func (i GetTelemetryrouterDestinationConfigFilterAttributeArray) ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutput() GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput { - return i.ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutputWithContext(context.Background()) +func (o GetVpnConnectionTunnel1PeeringOutput) ToGetVpnConnectionTunnel1PeeringOutputWithContext(ctx context.Context) GetVpnConnectionTunnel1PeeringOutput { + return o } -func (i GetTelemetryrouterDestinationConfigFilterAttributeArray) ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) +// Local tunnel interface IPv4 address. +func (o GetVpnConnectionTunnel1PeeringOutput) LocalAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel1Peering) string { return v.LocalAddress }).(pulumi.StringOutput) } -type GetTelemetryrouterDestinationConfigFilterAttributeOutput struct{ *pulumi.OutputState } - -func (GetTelemetryrouterDestinationConfigFilterAttributeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterDestinationConfigFilterAttribute)(nil)).Elem() +// Remote tunnel interface IPv4 address. +func (o GetVpnConnectionTunnel1PeeringOutput) RemoteAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel1Peering) string { return v.RemoteAddress }).(pulumi.StringOutput) } -func (o GetTelemetryrouterDestinationConfigFilterAttributeOutput) ToGetTelemetryrouterDestinationConfigFilterAttributeOutput() GetTelemetryrouterDestinationConfigFilterAttributeOutput { - return o +type GetVpnConnectionTunnel1Phase1 struct { + // Diffie-Hellman groups. + DhGroups []string `pulumi:"dhGroups"` + // Encryption algorithms. + EncryptionAlgorithms []string `pulumi:"encryptionAlgorithms"` + // Integrity/hash algorithms. + IntegrityAlgorithms []string `pulumi:"integrityAlgorithms"` + // IKE re-keying time in seconds. + RekeyTime int `pulumi:"rekeyTime"` } -func (o GetTelemetryrouterDestinationConfigFilterAttributeOutput) ToGetTelemetryrouterDestinationConfigFilterAttributeOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterAttributeOutput { - return o +// GetVpnConnectionTunnel1Phase1Input is an input type that accepts GetVpnConnectionTunnel1Phase1Args and GetVpnConnectionTunnel1Phase1Output values. +// You can construct a concrete instance of `GetVpnConnectionTunnel1Phase1Input` via: +// +// GetVpnConnectionTunnel1Phase1Args{...} +type GetVpnConnectionTunnel1Phase1Input interface { + pulumi.Input + + ToGetVpnConnectionTunnel1Phase1Output() GetVpnConnectionTunnel1Phase1Output + ToGetVpnConnectionTunnel1Phase1OutputWithContext(context.Context) GetVpnConnectionTunnel1Phase1Output } -// The TelemetryRouter destination's filter attribute key -func (o GetTelemetryrouterDestinationConfigFilterAttributeOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfigFilterAttribute) string { return v.Key }).(pulumi.StringOutput) +type GetVpnConnectionTunnel1Phase1Args struct { + // Diffie-Hellman groups. + DhGroups pulumi.StringArrayInput `pulumi:"dhGroups"` + // Encryption algorithms. + EncryptionAlgorithms pulumi.StringArrayInput `pulumi:"encryptionAlgorithms"` + // Integrity/hash algorithms. + IntegrityAlgorithms pulumi.StringArrayInput `pulumi:"integrityAlgorithms"` + // IKE re-keying time in seconds. + RekeyTime pulumi.IntInput `pulumi:"rekeyTime"` } -// The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. -func (o GetTelemetryrouterDestinationConfigFilterAttributeOutput) Level() pulumi.StringOutput { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfigFilterAttribute) string { return v.Level }).(pulumi.StringOutput) +func (GetVpnConnectionTunnel1Phase1Args) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnConnectionTunnel1Phase1)(nil)).Elem() } -// The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. -func (o GetTelemetryrouterDestinationConfigFilterAttributeOutput) Matcher() pulumi.StringOutput { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfigFilterAttribute) string { return v.Matcher }).(pulumi.StringOutput) +func (i GetVpnConnectionTunnel1Phase1Args) ToGetVpnConnectionTunnel1Phase1Output() GetVpnConnectionTunnel1Phase1Output { + return i.ToGetVpnConnectionTunnel1Phase1OutputWithContext(context.Background()) } -// The TelemetryRouter destination's filter attribute values -func (o GetTelemetryrouterDestinationConfigFilterAttributeOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfigFilterAttribute) []string { return v.Values }).(pulumi.StringArrayOutput) +func (i GetVpnConnectionTunnel1Phase1Args) ToGetVpnConnectionTunnel1Phase1OutputWithContext(ctx context.Context) GetVpnConnectionTunnel1Phase1Output { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnConnectionTunnel1Phase1Output) } -type GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput struct{ *pulumi.OutputState } +type GetVpnConnectionTunnel1Phase1Output struct{ *pulumi.OutputState } -func (GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetTelemetryrouterDestinationConfigFilterAttribute)(nil)).Elem() +func (GetVpnConnectionTunnel1Phase1Output) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnConnectionTunnel1Phase1)(nil)).Elem() } -func (o GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutput() GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput { +func (o GetVpnConnectionTunnel1Phase1Output) ToGetVpnConnectionTunnel1Phase1Output() GetVpnConnectionTunnel1Phase1Output { return o } -func (o GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput { +func (o GetVpnConnectionTunnel1Phase1Output) ToGetVpnConnectionTunnel1Phase1OutputWithContext(ctx context.Context) GetVpnConnectionTunnel1Phase1Output { return o } -func (o GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) Index(i pulumi.IntInput) GetTelemetryrouterDestinationConfigFilterAttributeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTelemetryrouterDestinationConfigFilterAttribute { - return vs[0].([]GetTelemetryrouterDestinationConfigFilterAttribute)[vs[1].(int)] - }).(GetTelemetryrouterDestinationConfigFilterAttributeOutput) +// Diffie-Hellman groups. +func (o GetVpnConnectionTunnel1Phase1Output) DhGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel1Phase1) []string { return v.DhGroups }).(pulumi.StringArrayOutput) } -type GetTelemetryrouterDestinationConfigOpentelemetry struct { - // OpenTelemetry destination URI - Uri string `pulumi:"uri"` +// Encryption algorithms. +func (o GetVpnConnectionTunnel1Phase1Output) EncryptionAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel1Phase1) []string { return v.EncryptionAlgorithms }).(pulumi.StringArrayOutput) } -// GetTelemetryrouterDestinationConfigOpentelemetryInput is an input type that accepts GetTelemetryrouterDestinationConfigOpentelemetryArgs and GetTelemetryrouterDestinationConfigOpentelemetryOutput values. -// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigOpentelemetryInput` via: +// Integrity/hash algorithms. +func (o GetVpnConnectionTunnel1Phase1Output) IntegrityAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel1Phase1) []string { return v.IntegrityAlgorithms }).(pulumi.StringArrayOutput) +} + +// IKE re-keying time in seconds. +func (o GetVpnConnectionTunnel1Phase1Output) RekeyTime() pulumi.IntOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel1Phase1) int { return v.RekeyTime }).(pulumi.IntOutput) +} + +type GetVpnConnectionTunnel1Phase2 struct { + // Diffie-Hellman groups for PFS. + DhGroups []string `pulumi:"dhGroups"` + // DPD timeout action (clear or restart). + DpdAction string `pulumi:"dpdAction"` + // Encryption algorithms. + EncryptionAlgorithms []string `pulumi:"encryptionAlgorithms"` + // Integrity/hash algorithms. + IntegrityAlgorithms []string `pulumi:"integrityAlgorithms"` + // Child SA re-keying time in seconds. + RekeyTime int `pulumi:"rekeyTime"` + // Start action (none or start). + StartAction string `pulumi:"startAction"` +} + +// GetVpnConnectionTunnel1Phase2Input is an input type that accepts GetVpnConnectionTunnel1Phase2Args and GetVpnConnectionTunnel1Phase2Output values. +// You can construct a concrete instance of `GetVpnConnectionTunnel1Phase2Input` via: // -// GetTelemetryrouterDestinationConfigOpentelemetryArgs{...} -type GetTelemetryrouterDestinationConfigOpentelemetryInput interface { +// GetVpnConnectionTunnel1Phase2Args{...} +type GetVpnConnectionTunnel1Phase2Input interface { pulumi.Input - ToGetTelemetryrouterDestinationConfigOpentelemetryOutput() GetTelemetryrouterDestinationConfigOpentelemetryOutput - ToGetTelemetryrouterDestinationConfigOpentelemetryOutputWithContext(context.Context) GetTelemetryrouterDestinationConfigOpentelemetryOutput + ToGetVpnConnectionTunnel1Phase2Output() GetVpnConnectionTunnel1Phase2Output + ToGetVpnConnectionTunnel1Phase2OutputWithContext(context.Context) GetVpnConnectionTunnel1Phase2Output } -type GetTelemetryrouterDestinationConfigOpentelemetryArgs struct { - // OpenTelemetry destination URI - Uri pulumi.StringInput `pulumi:"uri"` +type GetVpnConnectionTunnel1Phase2Args struct { + // Diffie-Hellman groups for PFS. + DhGroups pulumi.StringArrayInput `pulumi:"dhGroups"` + // DPD timeout action (clear or restart). + DpdAction pulumi.StringInput `pulumi:"dpdAction"` + // Encryption algorithms. + EncryptionAlgorithms pulumi.StringArrayInput `pulumi:"encryptionAlgorithms"` + // Integrity/hash algorithms. + IntegrityAlgorithms pulumi.StringArrayInput `pulumi:"integrityAlgorithms"` + // Child SA re-keying time in seconds. + RekeyTime pulumi.IntInput `pulumi:"rekeyTime"` + // Start action (none or start). + StartAction pulumi.StringInput `pulumi:"startAction"` } -func (GetTelemetryrouterDestinationConfigOpentelemetryArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterDestinationConfigOpentelemetry)(nil)).Elem() +func (GetVpnConnectionTunnel1Phase2Args) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnConnectionTunnel1Phase2)(nil)).Elem() } -func (i GetTelemetryrouterDestinationConfigOpentelemetryArgs) ToGetTelemetryrouterDestinationConfigOpentelemetryOutput() GetTelemetryrouterDestinationConfigOpentelemetryOutput { - return i.ToGetTelemetryrouterDestinationConfigOpentelemetryOutputWithContext(context.Background()) +func (i GetVpnConnectionTunnel1Phase2Args) ToGetVpnConnectionTunnel1Phase2Output() GetVpnConnectionTunnel1Phase2Output { + return i.ToGetVpnConnectionTunnel1Phase2OutputWithContext(context.Background()) } -func (i GetTelemetryrouterDestinationConfigOpentelemetryArgs) ToGetTelemetryrouterDestinationConfigOpentelemetryOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigOpentelemetryOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigOpentelemetryOutput) +func (i GetVpnConnectionTunnel1Phase2Args) ToGetVpnConnectionTunnel1Phase2OutputWithContext(ctx context.Context) GetVpnConnectionTunnel1Phase2Output { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnConnectionTunnel1Phase2Output) } -type GetTelemetryrouterDestinationConfigOpentelemetryOutput struct{ *pulumi.OutputState } +type GetVpnConnectionTunnel1Phase2Output struct{ *pulumi.OutputState } -func (GetTelemetryrouterDestinationConfigOpentelemetryOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterDestinationConfigOpentelemetry)(nil)).Elem() +func (GetVpnConnectionTunnel1Phase2Output) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnConnectionTunnel1Phase2)(nil)).Elem() } -func (o GetTelemetryrouterDestinationConfigOpentelemetryOutput) ToGetTelemetryrouterDestinationConfigOpentelemetryOutput() GetTelemetryrouterDestinationConfigOpentelemetryOutput { +func (o GetVpnConnectionTunnel1Phase2Output) ToGetVpnConnectionTunnel1Phase2Output() GetVpnConnectionTunnel1Phase2Output { return o } -func (o GetTelemetryrouterDestinationConfigOpentelemetryOutput) ToGetTelemetryrouterDestinationConfigOpentelemetryOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigOpentelemetryOutput { +func (o GetVpnConnectionTunnel1Phase2Output) ToGetVpnConnectionTunnel1Phase2OutputWithContext(ctx context.Context) GetVpnConnectionTunnel1Phase2Output { return o } -// OpenTelemetry destination URI -func (o GetTelemetryrouterDestinationConfigOpentelemetryOutput) Uri() pulumi.StringOutput { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfigOpentelemetry) string { return v.Uri }).(pulumi.StringOutput) +// Diffie-Hellman groups for PFS. +func (o GetVpnConnectionTunnel1Phase2Output) DhGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel1Phase2) []string { return v.DhGroups }).(pulumi.StringArrayOutput) } -type GetTelemetryrouterDestinationConfigS3 struct { - // S3 bucket name - Bucket string `pulumi:"bucket"` - // S3 endpoint - Endpoint string `pulumi:"endpoint"` +// DPD timeout action (clear or restart). +func (o GetVpnConnectionTunnel1Phase2Output) DpdAction() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel1Phase2) string { return v.DpdAction }).(pulumi.StringOutput) } -// GetTelemetryrouterDestinationConfigS3Input is an input type that accepts GetTelemetryrouterDestinationConfigS3Args and GetTelemetryrouterDestinationConfigS3Output values. -// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigS3Input` via: +// Encryption algorithms. +func (o GetVpnConnectionTunnel1Phase2Output) EncryptionAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel1Phase2) []string { return v.EncryptionAlgorithms }).(pulumi.StringArrayOutput) +} + +// Integrity/hash algorithms. +func (o GetVpnConnectionTunnel1Phase2Output) IntegrityAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel1Phase2) []string { return v.IntegrityAlgorithms }).(pulumi.StringArrayOutput) +} + +// Child SA re-keying time in seconds. +func (o GetVpnConnectionTunnel1Phase2Output) RekeyTime() pulumi.IntOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel1Phase2) int { return v.RekeyTime }).(pulumi.IntOutput) +} + +// Start action (none or start). +func (o GetVpnConnectionTunnel1Phase2Output) StartAction() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel1Phase2) string { return v.StartAction }).(pulumi.StringOutput) +} + +type GetVpnConnectionTunnel2 struct { + // BGP configuration for this tunnel. + Bgp GetVpnConnectionTunnel2Bgp `pulumi:"bgp"` + // Tunnel interface peering configuration. + Peering GetVpnConnectionTunnel2Peering `pulumi:"peering"` + // IKE Phase 1 configuration. + Phase1 GetVpnConnectionTunnel2Phase1 `pulumi:"phase1"` + // IKE Phase 2 configuration. + Phase2 GetVpnConnectionTunnel2Phase2 `pulumi:"phase2"` + // Remote peer IPv4 address for this tunnel. + RemoteAddress string `pulumi:"remoteAddress"` +} + +// GetVpnConnectionTunnel2Input is an input type that accepts GetVpnConnectionTunnel2Args and GetVpnConnectionTunnel2Output values. +// You can construct a concrete instance of `GetVpnConnectionTunnel2Input` via: // -// GetTelemetryrouterDestinationConfigS3Args{...} -type GetTelemetryrouterDestinationConfigS3Input interface { +// GetVpnConnectionTunnel2Args{...} +type GetVpnConnectionTunnel2Input interface { pulumi.Input - ToGetTelemetryrouterDestinationConfigS3Output() GetTelemetryrouterDestinationConfigS3Output - ToGetTelemetryrouterDestinationConfigS3OutputWithContext(context.Context) GetTelemetryrouterDestinationConfigS3Output + ToGetVpnConnectionTunnel2Output() GetVpnConnectionTunnel2Output + ToGetVpnConnectionTunnel2OutputWithContext(context.Context) GetVpnConnectionTunnel2Output } -type GetTelemetryrouterDestinationConfigS3Args struct { - // S3 bucket name - Bucket pulumi.StringInput `pulumi:"bucket"` - // S3 endpoint - Endpoint pulumi.StringInput `pulumi:"endpoint"` +type GetVpnConnectionTunnel2Args struct { + // BGP configuration for this tunnel. + Bgp GetVpnConnectionTunnel2BgpInput `pulumi:"bgp"` + // Tunnel interface peering configuration. + Peering GetVpnConnectionTunnel2PeeringInput `pulumi:"peering"` + // IKE Phase 1 configuration. + Phase1 GetVpnConnectionTunnel2Phase1Input `pulumi:"phase1"` + // IKE Phase 2 configuration. + Phase2 GetVpnConnectionTunnel2Phase2Input `pulumi:"phase2"` + // Remote peer IPv4 address for this tunnel. + RemoteAddress pulumi.StringInput `pulumi:"remoteAddress"` } -func (GetTelemetryrouterDestinationConfigS3Args) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterDestinationConfigS3)(nil)).Elem() +func (GetVpnConnectionTunnel2Args) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnConnectionTunnel2)(nil)).Elem() } -func (i GetTelemetryrouterDestinationConfigS3Args) ToGetTelemetryrouterDestinationConfigS3Output() GetTelemetryrouterDestinationConfigS3Output { - return i.ToGetTelemetryrouterDestinationConfigS3OutputWithContext(context.Background()) +func (i GetVpnConnectionTunnel2Args) ToGetVpnConnectionTunnel2Output() GetVpnConnectionTunnel2Output { + return i.ToGetVpnConnectionTunnel2OutputWithContext(context.Background()) } -func (i GetTelemetryrouterDestinationConfigS3Args) ToGetTelemetryrouterDestinationConfigS3OutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigS3Output { - return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigS3Output) +func (i GetVpnConnectionTunnel2Args) ToGetVpnConnectionTunnel2OutputWithContext(ctx context.Context) GetVpnConnectionTunnel2Output { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnConnectionTunnel2Output) } -type GetTelemetryrouterDestinationConfigS3Output struct{ *pulumi.OutputState } +type GetVpnConnectionTunnel2Output struct{ *pulumi.OutputState } -func (GetTelemetryrouterDestinationConfigS3Output) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterDestinationConfigS3)(nil)).Elem() +func (GetVpnConnectionTunnel2Output) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnConnectionTunnel2)(nil)).Elem() } -func (o GetTelemetryrouterDestinationConfigS3Output) ToGetTelemetryrouterDestinationConfigS3Output() GetTelemetryrouterDestinationConfigS3Output { +func (o GetVpnConnectionTunnel2Output) ToGetVpnConnectionTunnel2Output() GetVpnConnectionTunnel2Output { return o } -func (o GetTelemetryrouterDestinationConfigS3Output) ToGetTelemetryrouterDestinationConfigS3OutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigS3Output { +func (o GetVpnConnectionTunnel2Output) ToGetVpnConnectionTunnel2OutputWithContext(ctx context.Context) GetVpnConnectionTunnel2Output { return o } -// S3 bucket name -func (o GetTelemetryrouterDestinationConfigS3Output) Bucket() pulumi.StringOutput { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfigS3) string { return v.Bucket }).(pulumi.StringOutput) +// BGP configuration for this tunnel. +func (o GetVpnConnectionTunnel2Output) Bgp() GetVpnConnectionTunnel2BgpOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel2) GetVpnConnectionTunnel2Bgp { return v.Bgp }).(GetVpnConnectionTunnel2BgpOutput) } -// S3 endpoint -func (o GetTelemetryrouterDestinationConfigS3Output) Endpoint() pulumi.StringOutput { - return o.ApplyT(func(v GetTelemetryrouterDestinationConfigS3) string { return v.Endpoint }).(pulumi.StringOutput) +// Tunnel interface peering configuration. +func (o GetVpnConnectionTunnel2Output) Peering() GetVpnConnectionTunnel2PeeringOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel2) GetVpnConnectionTunnel2Peering { return v.Peering }).(GetVpnConnectionTunnel2PeeringOutput) } -type GetTelemetryrouterInstanceFilter struct { - // The TelemetryRouter global filter attributes - Attributes []GetTelemetryrouterInstanceFilterAttribute `pulumi:"attributes"` +// IKE Phase 1 configuration. +func (o GetVpnConnectionTunnel2Output) Phase1() GetVpnConnectionTunnel2Phase1Output { + return o.ApplyT(func(v GetVpnConnectionTunnel2) GetVpnConnectionTunnel2Phase1 { return v.Phase1 }).(GetVpnConnectionTunnel2Phase1Output) } -// GetTelemetryrouterInstanceFilterInput is an input type that accepts GetTelemetryrouterInstanceFilterArgs and GetTelemetryrouterInstanceFilterOutput values. -// You can construct a concrete instance of `GetTelemetryrouterInstanceFilterInput` via: +// IKE Phase 2 configuration. +func (o GetVpnConnectionTunnel2Output) Phase2() GetVpnConnectionTunnel2Phase2Output { + return o.ApplyT(func(v GetVpnConnectionTunnel2) GetVpnConnectionTunnel2Phase2 { return v.Phase2 }).(GetVpnConnectionTunnel2Phase2Output) +} + +// Remote peer IPv4 address for this tunnel. +func (o GetVpnConnectionTunnel2Output) RemoteAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel2) string { return v.RemoteAddress }).(pulumi.StringOutput) +} + +type GetVpnConnectionTunnel2Bgp struct { + // Remote AS number. + RemoteAsn int `pulumi:"remoteAsn"` +} + +// GetVpnConnectionTunnel2BgpInput is an input type that accepts GetVpnConnectionTunnel2BgpArgs and GetVpnConnectionTunnel2BgpOutput values. +// You can construct a concrete instance of `GetVpnConnectionTunnel2BgpInput` via: // -// GetTelemetryrouterInstanceFilterArgs{...} -type GetTelemetryrouterInstanceFilterInput interface { +// GetVpnConnectionTunnel2BgpArgs{...} +type GetVpnConnectionTunnel2BgpInput interface { pulumi.Input - ToGetTelemetryrouterInstanceFilterOutput() GetTelemetryrouterInstanceFilterOutput - ToGetTelemetryrouterInstanceFilterOutputWithContext(context.Context) GetTelemetryrouterInstanceFilterOutput + ToGetVpnConnectionTunnel2BgpOutput() GetVpnConnectionTunnel2BgpOutput + ToGetVpnConnectionTunnel2BgpOutputWithContext(context.Context) GetVpnConnectionTunnel2BgpOutput } - -type GetTelemetryrouterInstanceFilterArgs struct { - // The TelemetryRouter global filter attributes - Attributes GetTelemetryrouterInstanceFilterAttributeArrayInput `pulumi:"attributes"` + +type GetVpnConnectionTunnel2BgpArgs struct { + // Remote AS number. + RemoteAsn pulumi.IntInput `pulumi:"remoteAsn"` } -func (GetTelemetryrouterInstanceFilterArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterInstanceFilter)(nil)).Elem() +func (GetVpnConnectionTunnel2BgpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnConnectionTunnel2Bgp)(nil)).Elem() } -func (i GetTelemetryrouterInstanceFilterArgs) ToGetTelemetryrouterInstanceFilterOutput() GetTelemetryrouterInstanceFilterOutput { - return i.ToGetTelemetryrouterInstanceFilterOutputWithContext(context.Background()) +func (i GetVpnConnectionTunnel2BgpArgs) ToGetVpnConnectionTunnel2BgpOutput() GetVpnConnectionTunnel2BgpOutput { + return i.ToGetVpnConnectionTunnel2BgpOutputWithContext(context.Background()) } -func (i GetTelemetryrouterInstanceFilterArgs) ToGetTelemetryrouterInstanceFilterOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterInstanceFilterOutput) +func (i GetVpnConnectionTunnel2BgpArgs) ToGetVpnConnectionTunnel2BgpOutputWithContext(ctx context.Context) GetVpnConnectionTunnel2BgpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnConnectionTunnel2BgpOutput) } -type GetTelemetryrouterInstanceFilterOutput struct{ *pulumi.OutputState } +type GetVpnConnectionTunnel2BgpOutput struct{ *pulumi.OutputState } -func (GetTelemetryrouterInstanceFilterOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterInstanceFilter)(nil)).Elem() +func (GetVpnConnectionTunnel2BgpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnConnectionTunnel2Bgp)(nil)).Elem() } -func (o GetTelemetryrouterInstanceFilterOutput) ToGetTelemetryrouterInstanceFilterOutput() GetTelemetryrouterInstanceFilterOutput { +func (o GetVpnConnectionTunnel2BgpOutput) ToGetVpnConnectionTunnel2BgpOutput() GetVpnConnectionTunnel2BgpOutput { return o } -func (o GetTelemetryrouterInstanceFilterOutput) ToGetTelemetryrouterInstanceFilterOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterOutput { +func (o GetVpnConnectionTunnel2BgpOutput) ToGetVpnConnectionTunnel2BgpOutputWithContext(ctx context.Context) GetVpnConnectionTunnel2BgpOutput { return o } -// The TelemetryRouter global filter attributes -func (o GetTelemetryrouterInstanceFilterOutput) Attributes() GetTelemetryrouterInstanceFilterAttributeArrayOutput { - return o.ApplyT(func(v GetTelemetryrouterInstanceFilter) []GetTelemetryrouterInstanceFilterAttribute { - return v.Attributes - }).(GetTelemetryrouterInstanceFilterAttributeArrayOutput) +// Remote AS number. +func (o GetVpnConnectionTunnel2BgpOutput) RemoteAsn() pulumi.IntOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel2Bgp) int { return v.RemoteAsn }).(pulumi.IntOutput) } -type GetTelemetryrouterInstanceFilterAttribute struct { - // The TelemetryRouter global filter attribute key - Key string `pulumi:"key"` - // The TelemetryRouter global filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. - Level string `pulumi:"level"` - // The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. - Matcher string `pulumi:"matcher"` - // The TelemetryRouter global filter attributes - Values []string `pulumi:"values"` +type GetVpnConnectionTunnel2Peering struct { + // Local tunnel interface IPv4 address. + LocalAddress string `pulumi:"localAddress"` + // Remote tunnel interface IPv4 address. + RemoteAddress string `pulumi:"remoteAddress"` } -// GetTelemetryrouterInstanceFilterAttributeInput is an input type that accepts GetTelemetryrouterInstanceFilterAttributeArgs and GetTelemetryrouterInstanceFilterAttributeOutput values. -// You can construct a concrete instance of `GetTelemetryrouterInstanceFilterAttributeInput` via: +// GetVpnConnectionTunnel2PeeringInput is an input type that accepts GetVpnConnectionTunnel2PeeringArgs and GetVpnConnectionTunnel2PeeringOutput values. +// You can construct a concrete instance of `GetVpnConnectionTunnel2PeeringInput` via: // -// GetTelemetryrouterInstanceFilterAttributeArgs{...} -type GetTelemetryrouterInstanceFilterAttributeInput interface { +// GetVpnConnectionTunnel2PeeringArgs{...} +type GetVpnConnectionTunnel2PeeringInput interface { pulumi.Input - ToGetTelemetryrouterInstanceFilterAttributeOutput() GetTelemetryrouterInstanceFilterAttributeOutput - ToGetTelemetryrouterInstanceFilterAttributeOutputWithContext(context.Context) GetTelemetryrouterInstanceFilterAttributeOutput + ToGetVpnConnectionTunnel2PeeringOutput() GetVpnConnectionTunnel2PeeringOutput + ToGetVpnConnectionTunnel2PeeringOutputWithContext(context.Context) GetVpnConnectionTunnel2PeeringOutput } -type GetTelemetryrouterInstanceFilterAttributeArgs struct { - // The TelemetryRouter global filter attribute key - Key pulumi.StringInput `pulumi:"key"` - // The TelemetryRouter global filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. - Level pulumi.StringInput `pulumi:"level"` - // The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. - Matcher pulumi.StringInput `pulumi:"matcher"` - // The TelemetryRouter global filter attributes - Values pulumi.StringArrayInput `pulumi:"values"` +type GetVpnConnectionTunnel2PeeringArgs struct { + // Local tunnel interface IPv4 address. + LocalAddress pulumi.StringInput `pulumi:"localAddress"` + // Remote tunnel interface IPv4 address. + RemoteAddress pulumi.StringInput `pulumi:"remoteAddress"` } -func (GetTelemetryrouterInstanceFilterAttributeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterInstanceFilterAttribute)(nil)).Elem() +func (GetVpnConnectionTunnel2PeeringArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnConnectionTunnel2Peering)(nil)).Elem() } -func (i GetTelemetryrouterInstanceFilterAttributeArgs) ToGetTelemetryrouterInstanceFilterAttributeOutput() GetTelemetryrouterInstanceFilterAttributeOutput { - return i.ToGetTelemetryrouterInstanceFilterAttributeOutputWithContext(context.Background()) +func (i GetVpnConnectionTunnel2PeeringArgs) ToGetVpnConnectionTunnel2PeeringOutput() GetVpnConnectionTunnel2PeeringOutput { + return i.ToGetVpnConnectionTunnel2PeeringOutputWithContext(context.Background()) } -func (i GetTelemetryrouterInstanceFilterAttributeArgs) ToGetTelemetryrouterInstanceFilterAttributeOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterAttributeOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterInstanceFilterAttributeOutput) +func (i GetVpnConnectionTunnel2PeeringArgs) ToGetVpnConnectionTunnel2PeeringOutputWithContext(ctx context.Context) GetVpnConnectionTunnel2PeeringOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnConnectionTunnel2PeeringOutput) } -// GetTelemetryrouterInstanceFilterAttributeArrayInput is an input type that accepts GetTelemetryrouterInstanceFilterAttributeArray and GetTelemetryrouterInstanceFilterAttributeArrayOutput values. -// You can construct a concrete instance of `GetTelemetryrouterInstanceFilterAttributeArrayInput` via: -// -// GetTelemetryrouterInstanceFilterAttributeArray{ GetTelemetryrouterInstanceFilterAttributeArgs{...} } -type GetTelemetryrouterInstanceFilterAttributeArrayInput interface { - pulumi.Input +type GetVpnConnectionTunnel2PeeringOutput struct{ *pulumi.OutputState } - ToGetTelemetryrouterInstanceFilterAttributeArrayOutput() GetTelemetryrouterInstanceFilterAttributeArrayOutput - ToGetTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(context.Context) GetTelemetryrouterInstanceFilterAttributeArrayOutput +func (GetVpnConnectionTunnel2PeeringOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnConnectionTunnel2Peering)(nil)).Elem() } -type GetTelemetryrouterInstanceFilterAttributeArray []GetTelemetryrouterInstanceFilterAttributeInput - -func (GetTelemetryrouterInstanceFilterAttributeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetTelemetryrouterInstanceFilterAttribute)(nil)).Elem() +func (o GetVpnConnectionTunnel2PeeringOutput) ToGetVpnConnectionTunnel2PeeringOutput() GetVpnConnectionTunnel2PeeringOutput { + return o } -func (i GetTelemetryrouterInstanceFilterAttributeArray) ToGetTelemetryrouterInstanceFilterAttributeArrayOutput() GetTelemetryrouterInstanceFilterAttributeArrayOutput { - return i.ToGetTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(context.Background()) +func (o GetVpnConnectionTunnel2PeeringOutput) ToGetVpnConnectionTunnel2PeeringOutputWithContext(ctx context.Context) GetVpnConnectionTunnel2PeeringOutput { + return o } -func (i GetTelemetryrouterInstanceFilterAttributeArray) ToGetTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterAttributeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterInstanceFilterAttributeArrayOutput) +// Local tunnel interface IPv4 address. +func (o GetVpnConnectionTunnel2PeeringOutput) LocalAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel2Peering) string { return v.LocalAddress }).(pulumi.StringOutput) } -type GetTelemetryrouterInstanceFilterAttributeOutput struct{ *pulumi.OutputState } - -func (GetTelemetryrouterInstanceFilterAttributeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetTelemetryrouterInstanceFilterAttribute)(nil)).Elem() +// Remote tunnel interface IPv4 address. +func (o GetVpnConnectionTunnel2PeeringOutput) RemoteAddress() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel2Peering) string { return v.RemoteAddress }).(pulumi.StringOutput) } -func (o GetTelemetryrouterInstanceFilterAttributeOutput) ToGetTelemetryrouterInstanceFilterAttributeOutput() GetTelemetryrouterInstanceFilterAttributeOutput { - return o +type GetVpnConnectionTunnel2Phase1 struct { + // Diffie-Hellman groups. + DhGroups []string `pulumi:"dhGroups"` + // Encryption algorithms. + EncryptionAlgorithms []string `pulumi:"encryptionAlgorithms"` + // Integrity/hash algorithms. + IntegrityAlgorithms []string `pulumi:"integrityAlgorithms"` + // IKE re-keying time in seconds. + RekeyTime int `pulumi:"rekeyTime"` } -func (o GetTelemetryrouterInstanceFilterAttributeOutput) ToGetTelemetryrouterInstanceFilterAttributeOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterAttributeOutput { - return o +// GetVpnConnectionTunnel2Phase1Input is an input type that accepts GetVpnConnectionTunnel2Phase1Args and GetVpnConnectionTunnel2Phase1Output values. +// You can construct a concrete instance of `GetVpnConnectionTunnel2Phase1Input` via: +// +// GetVpnConnectionTunnel2Phase1Args{...} +type GetVpnConnectionTunnel2Phase1Input interface { + pulumi.Input + + ToGetVpnConnectionTunnel2Phase1Output() GetVpnConnectionTunnel2Phase1Output + ToGetVpnConnectionTunnel2Phase1OutputWithContext(context.Context) GetVpnConnectionTunnel2Phase1Output } -// The TelemetryRouter global filter attribute key -func (o GetTelemetryrouterInstanceFilterAttributeOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v GetTelemetryrouterInstanceFilterAttribute) string { return v.Key }).(pulumi.StringOutput) +type GetVpnConnectionTunnel2Phase1Args struct { + // Diffie-Hellman groups. + DhGroups pulumi.StringArrayInput `pulumi:"dhGroups"` + // Encryption algorithms. + EncryptionAlgorithms pulumi.StringArrayInput `pulumi:"encryptionAlgorithms"` + // Integrity/hash algorithms. + IntegrityAlgorithms pulumi.StringArrayInput `pulumi:"integrityAlgorithms"` + // IKE re-keying time in seconds. + RekeyTime pulumi.IntInput `pulumi:"rekeyTime"` } -// The TelemetryRouter global filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. -func (o GetTelemetryrouterInstanceFilterAttributeOutput) Level() pulumi.StringOutput { - return o.ApplyT(func(v GetTelemetryrouterInstanceFilterAttribute) string { return v.Level }).(pulumi.StringOutput) +func (GetVpnConnectionTunnel2Phase1Args) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnConnectionTunnel2Phase1)(nil)).Elem() } -// The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. -func (o GetTelemetryrouterInstanceFilterAttributeOutput) Matcher() pulumi.StringOutput { - return o.ApplyT(func(v GetTelemetryrouterInstanceFilterAttribute) string { return v.Matcher }).(pulumi.StringOutput) +func (i GetVpnConnectionTunnel2Phase1Args) ToGetVpnConnectionTunnel2Phase1Output() GetVpnConnectionTunnel2Phase1Output { + return i.ToGetVpnConnectionTunnel2Phase1OutputWithContext(context.Background()) } -// The TelemetryRouter global filter attributes -func (o GetTelemetryrouterInstanceFilterAttributeOutput) Values() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetTelemetryrouterInstanceFilterAttribute) []string { return v.Values }).(pulumi.StringArrayOutput) +func (i GetVpnConnectionTunnel2Phase1Args) ToGetVpnConnectionTunnel2Phase1OutputWithContext(ctx context.Context) GetVpnConnectionTunnel2Phase1Output { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnConnectionTunnel2Phase1Output) } -type GetTelemetryrouterInstanceFilterAttributeArrayOutput struct{ *pulumi.OutputState } +type GetVpnConnectionTunnel2Phase1Output struct{ *pulumi.OutputState } -func (GetTelemetryrouterInstanceFilterAttributeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetTelemetryrouterInstanceFilterAttribute)(nil)).Elem() +func (GetVpnConnectionTunnel2Phase1Output) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnConnectionTunnel2Phase1)(nil)).Elem() } -func (o GetTelemetryrouterInstanceFilterAttributeArrayOutput) ToGetTelemetryrouterInstanceFilterAttributeArrayOutput() GetTelemetryrouterInstanceFilterAttributeArrayOutput { +func (o GetVpnConnectionTunnel2Phase1Output) ToGetVpnConnectionTunnel2Phase1Output() GetVpnConnectionTunnel2Phase1Output { return o } -func (o GetTelemetryrouterInstanceFilterAttributeArrayOutput) ToGetTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterAttributeArrayOutput { +func (o GetVpnConnectionTunnel2Phase1Output) ToGetVpnConnectionTunnel2Phase1OutputWithContext(ctx context.Context) GetVpnConnectionTunnel2Phase1Output { return o } -func (o GetTelemetryrouterInstanceFilterAttributeArrayOutput) Index(i pulumi.IntInput) GetTelemetryrouterInstanceFilterAttributeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetTelemetryrouterInstanceFilterAttribute { - return vs[0].([]GetTelemetryrouterInstanceFilterAttribute)[vs[1].(int)] - }).(GetTelemetryrouterInstanceFilterAttributeOutput) +// Diffie-Hellman groups. +func (o GetVpnConnectionTunnel2Phase1Output) DhGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel2Phase1) []string { return v.DhGroups }).(pulumi.StringArrayOutput) } -type GetVolumeSource struct { - // The ID of the source, e.g. image ID - Id string `pulumi:"id"` - // The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`. - Type string `pulumi:"type"` +// Encryption algorithms. +func (o GetVpnConnectionTunnel2Phase1Output) EncryptionAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel2Phase1) []string { return v.EncryptionAlgorithms }).(pulumi.StringArrayOutput) } -// GetVolumeSourceInput is an input type that accepts GetVolumeSourceArgs and GetVolumeSourceOutput values. -// You can construct a concrete instance of `GetVolumeSourceInput` via: +// Integrity/hash algorithms. +func (o GetVpnConnectionTunnel2Phase1Output) IntegrityAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel2Phase1) []string { return v.IntegrityAlgorithms }).(pulumi.StringArrayOutput) +} + +// IKE re-keying time in seconds. +func (o GetVpnConnectionTunnel2Phase1Output) RekeyTime() pulumi.IntOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel2Phase1) int { return v.RekeyTime }).(pulumi.IntOutput) +} + +type GetVpnConnectionTunnel2Phase2 struct { + // Diffie-Hellman groups for PFS. + DhGroups []string `pulumi:"dhGroups"` + // DPD timeout action (clear or restart). + DpdAction string `pulumi:"dpdAction"` + // Encryption algorithms. + EncryptionAlgorithms []string `pulumi:"encryptionAlgorithms"` + // Integrity/hash algorithms. + IntegrityAlgorithms []string `pulumi:"integrityAlgorithms"` + // Child SA re-keying time in seconds. + RekeyTime int `pulumi:"rekeyTime"` + // Start action (none or start). + StartAction string `pulumi:"startAction"` +} + +// GetVpnConnectionTunnel2Phase2Input is an input type that accepts GetVpnConnectionTunnel2Phase2Args and GetVpnConnectionTunnel2Phase2Output values. +// You can construct a concrete instance of `GetVpnConnectionTunnel2Phase2Input` via: // -// GetVolumeSourceArgs{...} -type GetVolumeSourceInput interface { +// GetVpnConnectionTunnel2Phase2Args{...} +type GetVpnConnectionTunnel2Phase2Input interface { pulumi.Input - ToGetVolumeSourceOutput() GetVolumeSourceOutput - ToGetVolumeSourceOutputWithContext(context.Context) GetVolumeSourceOutput + ToGetVpnConnectionTunnel2Phase2Output() GetVpnConnectionTunnel2Phase2Output + ToGetVpnConnectionTunnel2Phase2OutputWithContext(context.Context) GetVpnConnectionTunnel2Phase2Output } -type GetVolumeSourceArgs struct { - // The ID of the source, e.g. image ID - Id pulumi.StringInput `pulumi:"id"` - // The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`. - Type pulumi.StringInput `pulumi:"type"` +type GetVpnConnectionTunnel2Phase2Args struct { + // Diffie-Hellman groups for PFS. + DhGroups pulumi.StringArrayInput `pulumi:"dhGroups"` + // DPD timeout action (clear or restart). + DpdAction pulumi.StringInput `pulumi:"dpdAction"` + // Encryption algorithms. + EncryptionAlgorithms pulumi.StringArrayInput `pulumi:"encryptionAlgorithms"` + // Integrity/hash algorithms. + IntegrityAlgorithms pulumi.StringArrayInput `pulumi:"integrityAlgorithms"` + // Child SA re-keying time in seconds. + RekeyTime pulumi.IntInput `pulumi:"rekeyTime"` + // Start action (none or start). + StartAction pulumi.StringInput `pulumi:"startAction"` } -func (GetVolumeSourceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetVolumeSource)(nil)).Elem() +func (GetVpnConnectionTunnel2Phase2Args) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnConnectionTunnel2Phase2)(nil)).Elem() } -func (i GetVolumeSourceArgs) ToGetVolumeSourceOutput() GetVolumeSourceOutput { - return i.ToGetVolumeSourceOutputWithContext(context.Background()) +func (i GetVpnConnectionTunnel2Phase2Args) ToGetVpnConnectionTunnel2Phase2Output() GetVpnConnectionTunnel2Phase2Output { + return i.ToGetVpnConnectionTunnel2Phase2OutputWithContext(context.Background()) } -func (i GetVolumeSourceArgs) ToGetVolumeSourceOutputWithContext(ctx context.Context) GetVolumeSourceOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetVolumeSourceOutput) +func (i GetVpnConnectionTunnel2Phase2Args) ToGetVpnConnectionTunnel2Phase2OutputWithContext(ctx context.Context) GetVpnConnectionTunnel2Phase2Output { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnConnectionTunnel2Phase2Output) } -type GetVolumeSourceOutput struct{ *pulumi.OutputState } +type GetVpnConnectionTunnel2Phase2Output struct{ *pulumi.OutputState } -func (GetVolumeSourceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetVolumeSource)(nil)).Elem() +func (GetVpnConnectionTunnel2Phase2Output) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnConnectionTunnel2Phase2)(nil)).Elem() } -func (o GetVolumeSourceOutput) ToGetVolumeSourceOutput() GetVolumeSourceOutput { +func (o GetVpnConnectionTunnel2Phase2Output) ToGetVpnConnectionTunnel2Phase2Output() GetVpnConnectionTunnel2Phase2Output { return o } -func (o GetVolumeSourceOutput) ToGetVolumeSourceOutputWithContext(ctx context.Context) GetVolumeSourceOutput { +func (o GetVpnConnectionTunnel2Phase2Output) ToGetVpnConnectionTunnel2Phase2OutputWithContext(ctx context.Context) GetVpnConnectionTunnel2Phase2Output { return o } -// The ID of the source, e.g. image ID -func (o GetVolumeSourceOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetVolumeSource) string { return v.Id }).(pulumi.StringOutput) +// Diffie-Hellman groups for PFS. +func (o GetVpnConnectionTunnel2Phase2Output) DhGroups() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel2Phase2) []string { return v.DhGroups }).(pulumi.StringArrayOutput) } -// The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`. -func (o GetVolumeSourceOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v GetVolumeSource) string { return v.Type }).(pulumi.StringOutput) +// DPD timeout action (clear or restart). +func (o GetVpnConnectionTunnel2Phase2Output) DpdAction() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel2Phase2) string { return v.DpdAction }).(pulumi.StringOutput) +} + +// Encryption algorithms. +func (o GetVpnConnectionTunnel2Phase2Output) EncryptionAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel2Phase2) []string { return v.EncryptionAlgorithms }).(pulumi.StringArrayOutput) +} + +// Integrity/hash algorithms. +func (o GetVpnConnectionTunnel2Phase2Output) IntegrityAlgorithms() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel2Phase2) []string { return v.IntegrityAlgorithms }).(pulumi.StringArrayOutput) +} + +// Child SA re-keying time in seconds. +func (o GetVpnConnectionTunnel2Phase2Output) RekeyTime() pulumi.IntOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel2Phase2) int { return v.RekeyTime }).(pulumi.IntOutput) +} + +// Start action (none or start). +func (o GetVpnConnectionTunnel2Phase2Output) StartAction() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnConnectionTunnel2Phase2) string { return v.StartAction }).(pulumi.StringOutput) } type GetVpnGatewayAvailabilityZones struct { @@ -35348,6 +38462,236 @@ func (o GetVpnGatewayBgpOutput) OverrideAdvertisedRoutes() pulumi.StringArrayOut return o.ApplyT(func(v GetVpnGatewayBgp) []string { return v.OverrideAdvertisedRoutes }).(pulumi.StringArrayOutput) } +type GetVpnGatewayStatusConnection struct { + // ID of the VPN connection. + ConnectionId string `pulumi:"connectionId"` + // Display name of the VPN connection. + DisplayName string `pulumi:"displayName"` + // Wether the VPN connection is enabled or not. + Enabled bool `pulumi:"enabled"` +} + +// GetVpnGatewayStatusConnectionInput is an input type that accepts GetVpnGatewayStatusConnectionArgs and GetVpnGatewayStatusConnectionOutput values. +// You can construct a concrete instance of `GetVpnGatewayStatusConnectionInput` via: +// +// GetVpnGatewayStatusConnectionArgs{...} +type GetVpnGatewayStatusConnectionInput interface { + pulumi.Input + + ToGetVpnGatewayStatusConnectionOutput() GetVpnGatewayStatusConnectionOutput + ToGetVpnGatewayStatusConnectionOutputWithContext(context.Context) GetVpnGatewayStatusConnectionOutput +} + +type GetVpnGatewayStatusConnectionArgs struct { + // ID of the VPN connection. + ConnectionId pulumi.StringInput `pulumi:"connectionId"` + // Display name of the VPN connection. + DisplayName pulumi.StringInput `pulumi:"displayName"` + // Wether the VPN connection is enabled or not. + Enabled pulumi.BoolInput `pulumi:"enabled"` +} + +func (GetVpnGatewayStatusConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnGatewayStatusConnection)(nil)).Elem() +} + +func (i GetVpnGatewayStatusConnectionArgs) ToGetVpnGatewayStatusConnectionOutput() GetVpnGatewayStatusConnectionOutput { + return i.ToGetVpnGatewayStatusConnectionOutputWithContext(context.Background()) +} + +func (i GetVpnGatewayStatusConnectionArgs) ToGetVpnGatewayStatusConnectionOutputWithContext(ctx context.Context) GetVpnGatewayStatusConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnGatewayStatusConnectionOutput) +} + +// GetVpnGatewayStatusConnectionArrayInput is an input type that accepts GetVpnGatewayStatusConnectionArray and GetVpnGatewayStatusConnectionArrayOutput values. +// You can construct a concrete instance of `GetVpnGatewayStatusConnectionArrayInput` via: +// +// GetVpnGatewayStatusConnectionArray{ GetVpnGatewayStatusConnectionArgs{...} } +type GetVpnGatewayStatusConnectionArrayInput interface { + pulumi.Input + + ToGetVpnGatewayStatusConnectionArrayOutput() GetVpnGatewayStatusConnectionArrayOutput + ToGetVpnGatewayStatusConnectionArrayOutputWithContext(context.Context) GetVpnGatewayStatusConnectionArrayOutput +} + +type GetVpnGatewayStatusConnectionArray []GetVpnGatewayStatusConnectionInput + +func (GetVpnGatewayStatusConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpnGatewayStatusConnection)(nil)).Elem() +} + +func (i GetVpnGatewayStatusConnectionArray) ToGetVpnGatewayStatusConnectionArrayOutput() GetVpnGatewayStatusConnectionArrayOutput { + return i.ToGetVpnGatewayStatusConnectionArrayOutputWithContext(context.Background()) +} + +func (i GetVpnGatewayStatusConnectionArray) ToGetVpnGatewayStatusConnectionArrayOutputWithContext(ctx context.Context) GetVpnGatewayStatusConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnGatewayStatusConnectionArrayOutput) +} + +type GetVpnGatewayStatusConnectionOutput struct{ *pulumi.OutputState } + +func (GetVpnGatewayStatusConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnGatewayStatusConnection)(nil)).Elem() +} + +func (o GetVpnGatewayStatusConnectionOutput) ToGetVpnGatewayStatusConnectionOutput() GetVpnGatewayStatusConnectionOutput { + return o +} + +func (o GetVpnGatewayStatusConnectionOutput) ToGetVpnGatewayStatusConnectionOutputWithContext(ctx context.Context) GetVpnGatewayStatusConnectionOutput { + return o +} + +// ID of the VPN connection. +func (o GetVpnGatewayStatusConnectionOutput) ConnectionId() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnGatewayStatusConnection) string { return v.ConnectionId }).(pulumi.StringOutput) +} + +// Display name of the VPN connection. +func (o GetVpnGatewayStatusConnectionOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnGatewayStatusConnection) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// Wether the VPN connection is enabled or not. +func (o GetVpnGatewayStatusConnectionOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetVpnGatewayStatusConnection) bool { return v.Enabled }).(pulumi.BoolOutput) +} + +type GetVpnGatewayStatusConnectionArrayOutput struct{ *pulumi.OutputState } + +func (GetVpnGatewayStatusConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpnGatewayStatusConnection)(nil)).Elem() +} + +func (o GetVpnGatewayStatusConnectionArrayOutput) ToGetVpnGatewayStatusConnectionArrayOutput() GetVpnGatewayStatusConnectionArrayOutput { + return o +} + +func (o GetVpnGatewayStatusConnectionArrayOutput) ToGetVpnGatewayStatusConnectionArrayOutputWithContext(ctx context.Context) GetVpnGatewayStatusConnectionArrayOutput { + return o +} + +func (o GetVpnGatewayStatusConnectionArrayOutput) Index(i pulumi.IntInput) GetVpnGatewayStatusConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVpnGatewayStatusConnection { + return vs[0].([]GetVpnGatewayStatusConnection)[vs[1].(int)] + }).(GetVpnGatewayStatusConnectionOutput) +} + +type GetVpnGatewayStatusTunnel struct { + // The IPv4 address of the endpoint in the SNA. + InternalNextHopIp string `pulumi:"internalNextHopIp"` + // The name of the VPN tunnel. Possible values are: `tunnel1`, `tunnel2`. + Name string `pulumi:"name"` + // The public IPv4 address of this endpoint. + PublicIp string `pulumi:"publicIp"` +} + +// GetVpnGatewayStatusTunnelInput is an input type that accepts GetVpnGatewayStatusTunnelArgs and GetVpnGatewayStatusTunnelOutput values. +// You can construct a concrete instance of `GetVpnGatewayStatusTunnelInput` via: +// +// GetVpnGatewayStatusTunnelArgs{...} +type GetVpnGatewayStatusTunnelInput interface { + pulumi.Input + + ToGetVpnGatewayStatusTunnelOutput() GetVpnGatewayStatusTunnelOutput + ToGetVpnGatewayStatusTunnelOutputWithContext(context.Context) GetVpnGatewayStatusTunnelOutput +} + +type GetVpnGatewayStatusTunnelArgs struct { + // The IPv4 address of the endpoint in the SNA. + InternalNextHopIp pulumi.StringInput `pulumi:"internalNextHopIp"` + // The name of the VPN tunnel. Possible values are: `tunnel1`, `tunnel2`. + Name pulumi.StringInput `pulumi:"name"` + // The public IPv4 address of this endpoint. + PublicIp pulumi.StringInput `pulumi:"publicIp"` +} + +func (GetVpnGatewayStatusTunnelArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnGatewayStatusTunnel)(nil)).Elem() +} + +func (i GetVpnGatewayStatusTunnelArgs) ToGetVpnGatewayStatusTunnelOutput() GetVpnGatewayStatusTunnelOutput { + return i.ToGetVpnGatewayStatusTunnelOutputWithContext(context.Background()) +} + +func (i GetVpnGatewayStatusTunnelArgs) ToGetVpnGatewayStatusTunnelOutputWithContext(ctx context.Context) GetVpnGatewayStatusTunnelOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnGatewayStatusTunnelOutput) +} + +// GetVpnGatewayStatusTunnelArrayInput is an input type that accepts GetVpnGatewayStatusTunnelArray and GetVpnGatewayStatusTunnelArrayOutput values. +// You can construct a concrete instance of `GetVpnGatewayStatusTunnelArrayInput` via: +// +// GetVpnGatewayStatusTunnelArray{ GetVpnGatewayStatusTunnelArgs{...} } +type GetVpnGatewayStatusTunnelArrayInput interface { + pulumi.Input + + ToGetVpnGatewayStatusTunnelArrayOutput() GetVpnGatewayStatusTunnelArrayOutput + ToGetVpnGatewayStatusTunnelArrayOutputWithContext(context.Context) GetVpnGatewayStatusTunnelArrayOutput +} + +type GetVpnGatewayStatusTunnelArray []GetVpnGatewayStatusTunnelInput + +func (GetVpnGatewayStatusTunnelArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpnGatewayStatusTunnel)(nil)).Elem() +} + +func (i GetVpnGatewayStatusTunnelArray) ToGetVpnGatewayStatusTunnelArrayOutput() GetVpnGatewayStatusTunnelArrayOutput { + return i.ToGetVpnGatewayStatusTunnelArrayOutputWithContext(context.Background()) +} + +func (i GetVpnGatewayStatusTunnelArray) ToGetVpnGatewayStatusTunnelArrayOutputWithContext(ctx context.Context) GetVpnGatewayStatusTunnelArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnGatewayStatusTunnelArrayOutput) +} + +type GetVpnGatewayStatusTunnelOutput struct{ *pulumi.OutputState } + +func (GetVpnGatewayStatusTunnelOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnGatewayStatusTunnel)(nil)).Elem() +} + +func (o GetVpnGatewayStatusTunnelOutput) ToGetVpnGatewayStatusTunnelOutput() GetVpnGatewayStatusTunnelOutput { + return o +} + +func (o GetVpnGatewayStatusTunnelOutput) ToGetVpnGatewayStatusTunnelOutputWithContext(ctx context.Context) GetVpnGatewayStatusTunnelOutput { + return o +} + +// The IPv4 address of the endpoint in the SNA. +func (o GetVpnGatewayStatusTunnelOutput) InternalNextHopIp() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnGatewayStatusTunnel) string { return v.InternalNextHopIp }).(pulumi.StringOutput) +} + +// The name of the VPN tunnel. Possible values are: `tunnel1`, `tunnel2`. +func (o GetVpnGatewayStatusTunnelOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnGatewayStatusTunnel) string { return v.Name }).(pulumi.StringOutput) +} + +// The public IPv4 address of this endpoint. +func (o GetVpnGatewayStatusTunnelOutput) PublicIp() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnGatewayStatusTunnel) string { return v.PublicIp }).(pulumi.StringOutput) +} + +type GetVpnGatewayStatusTunnelArrayOutput struct{ *pulumi.OutputState } + +func (GetVpnGatewayStatusTunnelArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetVpnGatewayStatusTunnel)(nil)).Elem() +} + +func (o GetVpnGatewayStatusTunnelArrayOutput) ToGetVpnGatewayStatusTunnelArrayOutput() GetVpnGatewayStatusTunnelArrayOutput { + return o +} + +func (o GetVpnGatewayStatusTunnelArrayOutput) ToGetVpnGatewayStatusTunnelArrayOutputWithContext(ctx context.Context) GetVpnGatewayStatusTunnelArrayOutput { + return o +} + +func (o GetVpnGatewayStatusTunnelArrayOutput) Index(i pulumi.IntInput) GetVpnGatewayStatusTunnelOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetVpnGatewayStatusTunnel { + return vs[0].([]GetVpnGatewayStatusTunnel)[vs[1].(int)] + }).(GetVpnGatewayStatusTunnelOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*ApplicationLoadBalancerErrorInput)(nil)).Elem(), ApplicationLoadBalancerErrorArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ApplicationLoadBalancerErrorArrayInput)(nil)).Elem(), ApplicationLoadBalancerErrorArray{}) @@ -35546,6 +38890,10 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*SfsExportPolicyRuleArrayInput)(nil)).Elem(), SfsExportPolicyRuleArray{}) pulumi.RegisterInputType(reflect.TypeOf((*SfsResourcePoolSnapshotPolicyInput)(nil)).Elem(), SfsResourcePoolSnapshotPolicyArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SfsResourcePoolSnapshotPolicyPtrInput)(nil)).Elem(), SfsResourcePoolSnapshotPolicyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterAccessInput)(nil)).Elem(), SkeClusterAccessArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterAccessPtrInput)(nil)).Elem(), SkeClusterAccessArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterAccessIdpInput)(nil)).Elem(), SkeClusterAccessIdpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterAccessIdpPtrInput)(nil)).Elem(), SkeClusterAccessIdpArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterExtensionsInput)(nil)).Elem(), SkeClusterExtensionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterExtensionsPtrInput)(nil)).Elem(), SkeClusterExtensionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SkeClusterExtensionsAclInput)(nil)).Elem(), SkeClusterExtensionsAclArgs{}) @@ -35596,6 +38944,26 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*VolumeEncryptionParametersPtrInput)(nil)).Elem(), VolumeEncryptionParametersArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VolumeSourceInput)(nil)).Elem(), VolumeSourceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VolumeSourcePtrInput)(nil)).Elem(), VolumeSourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel1Input)(nil)).Elem(), VpnConnectionTunnel1Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel1PtrInput)(nil)).Elem(), VpnConnectionTunnel1Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel1BgpInput)(nil)).Elem(), VpnConnectionTunnel1BgpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel1BgpPtrInput)(nil)).Elem(), VpnConnectionTunnel1BgpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel1PeeringInput)(nil)).Elem(), VpnConnectionTunnel1PeeringArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel1PeeringPtrInput)(nil)).Elem(), VpnConnectionTunnel1PeeringArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel1Phase1Input)(nil)).Elem(), VpnConnectionTunnel1Phase1Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel1Phase1PtrInput)(nil)).Elem(), VpnConnectionTunnel1Phase1Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel1Phase2Input)(nil)).Elem(), VpnConnectionTunnel1Phase2Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel1Phase2PtrInput)(nil)).Elem(), VpnConnectionTunnel1Phase2Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel2Input)(nil)).Elem(), VpnConnectionTunnel2Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel2PtrInput)(nil)).Elem(), VpnConnectionTunnel2Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel2BgpInput)(nil)).Elem(), VpnConnectionTunnel2BgpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel2BgpPtrInput)(nil)).Elem(), VpnConnectionTunnel2BgpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel2PeeringInput)(nil)).Elem(), VpnConnectionTunnel2PeeringArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel2PeeringPtrInput)(nil)).Elem(), VpnConnectionTunnel2PeeringArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel2Phase1Input)(nil)).Elem(), VpnConnectionTunnel2Phase1Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel2Phase1PtrInput)(nil)).Elem(), VpnConnectionTunnel2Phase1Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel2Phase2Input)(nil)).Elem(), VpnConnectionTunnel2Phase2Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionTunnel2Phase2PtrInput)(nil)).Elem(), VpnConnectionTunnel2Phase2Args{}) pulumi.RegisterInputType(reflect.TypeOf((*VpnGatewayAvailabilityZonesInput)(nil)).Elem(), VpnGatewayAvailabilityZonesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VpnGatewayAvailabilityZonesPtrInput)(nil)).Elem(), VpnGatewayAvailabilityZonesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VpnGatewayBgpInput)(nil)).Elem(), VpnGatewayBgpArgs{}) @@ -35762,6 +39130,8 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetSfsSnapshotPoliciesItemArrayInput)(nil)).Elem(), GetSfsSnapshotPoliciesItemArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSfsSnapshotPoliciesItemSnapshotScheduleInput)(nil)).Elem(), GetSfsSnapshotPoliciesItemSnapshotScheduleArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSfsSnapshotPoliciesItemSnapshotScheduleArrayInput)(nil)).Elem(), GetSfsSnapshotPoliciesItemSnapshotScheduleArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterAccessInput)(nil)).Elem(), GetSkeClusterAccessArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterAccessIdpInput)(nil)).Elem(), GetSkeClusterAccessIdpArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterExtensionsInput)(nil)).Elem(), GetSkeClusterExtensionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterExtensionsAclInput)(nil)).Elem(), GetSkeClusterExtensionsAclArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSkeClusterExtensionsArgusInput)(nil)).Elem(), GetSkeClusterExtensionsArgusArgs{}) @@ -35795,8 +39165,22 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetTelemetryrouterInstanceFilterAttributeInput)(nil)).Elem(), GetTelemetryrouterInstanceFilterAttributeArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetTelemetryrouterInstanceFilterAttributeArrayInput)(nil)).Elem(), GetTelemetryrouterInstanceFilterAttributeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVolumeSourceInput)(nil)).Elem(), GetVolumeSourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnConnectionTunnel1Input)(nil)).Elem(), GetVpnConnectionTunnel1Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnConnectionTunnel1BgpInput)(nil)).Elem(), GetVpnConnectionTunnel1BgpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnConnectionTunnel1PeeringInput)(nil)).Elem(), GetVpnConnectionTunnel1PeeringArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnConnectionTunnel1Phase1Input)(nil)).Elem(), GetVpnConnectionTunnel1Phase1Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnConnectionTunnel1Phase2Input)(nil)).Elem(), GetVpnConnectionTunnel1Phase2Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnConnectionTunnel2Input)(nil)).Elem(), GetVpnConnectionTunnel2Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnConnectionTunnel2BgpInput)(nil)).Elem(), GetVpnConnectionTunnel2BgpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnConnectionTunnel2PeeringInput)(nil)).Elem(), GetVpnConnectionTunnel2PeeringArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnConnectionTunnel2Phase1Input)(nil)).Elem(), GetVpnConnectionTunnel2Phase1Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnConnectionTunnel2Phase2Input)(nil)).Elem(), GetVpnConnectionTunnel2Phase2Args{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVpnGatewayAvailabilityZonesInput)(nil)).Elem(), GetVpnGatewayAvailabilityZonesArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetVpnGatewayBgpInput)(nil)).Elem(), GetVpnGatewayBgpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnGatewayStatusConnectionInput)(nil)).Elem(), GetVpnGatewayStatusConnectionArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnGatewayStatusConnectionArrayInput)(nil)).Elem(), GetVpnGatewayStatusConnectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnGatewayStatusTunnelInput)(nil)).Elem(), GetVpnGatewayStatusTunnelArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnGatewayStatusTunnelArrayInput)(nil)).Elem(), GetVpnGatewayStatusTunnelArray{}) pulumi.RegisterOutputType(ApplicationLoadBalancerErrorOutput{}) pulumi.RegisterOutputType(ApplicationLoadBalancerErrorArrayOutput{}) pulumi.RegisterOutputType(ApplicationLoadBalancerListenerOutput{}) @@ -35994,6 +39378,10 @@ func init() { pulumi.RegisterOutputType(SfsExportPolicyRuleArrayOutput{}) pulumi.RegisterOutputType(SfsResourcePoolSnapshotPolicyOutput{}) pulumi.RegisterOutputType(SfsResourcePoolSnapshotPolicyPtrOutput{}) + pulumi.RegisterOutputType(SkeClusterAccessOutput{}) + pulumi.RegisterOutputType(SkeClusterAccessPtrOutput{}) + pulumi.RegisterOutputType(SkeClusterAccessIdpOutput{}) + pulumi.RegisterOutputType(SkeClusterAccessIdpPtrOutput{}) pulumi.RegisterOutputType(SkeClusterExtensionsOutput{}) pulumi.RegisterOutputType(SkeClusterExtensionsPtrOutput{}) pulumi.RegisterOutputType(SkeClusterExtensionsAclOutput{}) @@ -36044,6 +39432,26 @@ func init() { pulumi.RegisterOutputType(VolumeEncryptionParametersPtrOutput{}) pulumi.RegisterOutputType(VolumeSourceOutput{}) pulumi.RegisterOutputType(VolumeSourcePtrOutput{}) + pulumi.RegisterOutputType(VpnConnectionTunnel1Output{}) + pulumi.RegisterOutputType(VpnConnectionTunnel1PtrOutput{}) + pulumi.RegisterOutputType(VpnConnectionTunnel1BgpOutput{}) + pulumi.RegisterOutputType(VpnConnectionTunnel1BgpPtrOutput{}) + pulumi.RegisterOutputType(VpnConnectionTunnel1PeeringOutput{}) + pulumi.RegisterOutputType(VpnConnectionTunnel1PeeringPtrOutput{}) + pulumi.RegisterOutputType(VpnConnectionTunnel1Phase1Output{}) + pulumi.RegisterOutputType(VpnConnectionTunnel1Phase1PtrOutput{}) + pulumi.RegisterOutputType(VpnConnectionTunnel1Phase2Output{}) + pulumi.RegisterOutputType(VpnConnectionTunnel1Phase2PtrOutput{}) + pulumi.RegisterOutputType(VpnConnectionTunnel2Output{}) + pulumi.RegisterOutputType(VpnConnectionTunnel2PtrOutput{}) + pulumi.RegisterOutputType(VpnConnectionTunnel2BgpOutput{}) + pulumi.RegisterOutputType(VpnConnectionTunnel2BgpPtrOutput{}) + pulumi.RegisterOutputType(VpnConnectionTunnel2PeeringOutput{}) + pulumi.RegisterOutputType(VpnConnectionTunnel2PeeringPtrOutput{}) + pulumi.RegisterOutputType(VpnConnectionTunnel2Phase1Output{}) + pulumi.RegisterOutputType(VpnConnectionTunnel2Phase1PtrOutput{}) + pulumi.RegisterOutputType(VpnConnectionTunnel2Phase2Output{}) + pulumi.RegisterOutputType(VpnConnectionTunnel2Phase2PtrOutput{}) pulumi.RegisterOutputType(VpnGatewayAvailabilityZonesOutput{}) pulumi.RegisterOutputType(VpnGatewayAvailabilityZonesPtrOutput{}) pulumi.RegisterOutputType(VpnGatewayBgpOutput{}) @@ -36210,6 +39618,8 @@ func init() { pulumi.RegisterOutputType(GetSfsSnapshotPoliciesItemArrayOutput{}) pulumi.RegisterOutputType(GetSfsSnapshotPoliciesItemSnapshotScheduleOutput{}) pulumi.RegisterOutputType(GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput{}) + pulumi.RegisterOutputType(GetSkeClusterAccessOutput{}) + pulumi.RegisterOutputType(GetSkeClusterAccessIdpOutput{}) pulumi.RegisterOutputType(GetSkeClusterExtensionsOutput{}) pulumi.RegisterOutputType(GetSkeClusterExtensionsAclOutput{}) pulumi.RegisterOutputType(GetSkeClusterExtensionsArgusOutput{}) @@ -36243,6 +39653,20 @@ func init() { pulumi.RegisterOutputType(GetTelemetryrouterInstanceFilterAttributeOutput{}) pulumi.RegisterOutputType(GetTelemetryrouterInstanceFilterAttributeArrayOutput{}) pulumi.RegisterOutputType(GetVolumeSourceOutput{}) + pulumi.RegisterOutputType(GetVpnConnectionTunnel1Output{}) + pulumi.RegisterOutputType(GetVpnConnectionTunnel1BgpOutput{}) + pulumi.RegisterOutputType(GetVpnConnectionTunnel1PeeringOutput{}) + pulumi.RegisterOutputType(GetVpnConnectionTunnel1Phase1Output{}) + pulumi.RegisterOutputType(GetVpnConnectionTunnel1Phase2Output{}) + pulumi.RegisterOutputType(GetVpnConnectionTunnel2Output{}) + pulumi.RegisterOutputType(GetVpnConnectionTunnel2BgpOutput{}) + pulumi.RegisterOutputType(GetVpnConnectionTunnel2PeeringOutput{}) + pulumi.RegisterOutputType(GetVpnConnectionTunnel2Phase1Output{}) + pulumi.RegisterOutputType(GetVpnConnectionTunnel2Phase2Output{}) pulumi.RegisterOutputType(GetVpnGatewayAvailabilityZonesOutput{}) pulumi.RegisterOutputType(GetVpnGatewayBgpOutput{}) + pulumi.RegisterOutputType(GetVpnGatewayStatusConnectionOutput{}) + pulumi.RegisterOutputType(GetVpnGatewayStatusConnectionArrayOutput{}) + pulumi.RegisterOutputType(GetVpnGatewayStatusTunnelOutput{}) + pulumi.RegisterOutputType(GetVpnGatewayStatusTunnelArrayOutput{}) } diff --git a/sdk/go/stackit/skeCluster.go b/sdk/go/stackit/skeCluster.go index a1a5046..e576d23 100644 --- a/sdk/go/stackit/skeCluster.go +++ b/sdk/go/stackit/skeCluster.go @@ -20,6 +20,8 @@ import ( type SkeCluster struct { pulumi.CustomResourceState + // Configure access to the cluster + Access SkeClusterAccessOutput `pulumi:"access"` // The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. EgressAddressRanges pulumi.StringArrayOutput `pulumi:"egressAddressRanges"` // A single extensions block as defined below. @@ -83,6 +85,8 @@ func GetSkeCluster(ctx *pulumi.Context, // Input properties used for looking up and filtering SkeCluster resources. type skeClusterState struct { + // Configure access to the cluster + Access *SkeClusterAccess `pulumi:"access"` // The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. EgressAddressRanges []string `pulumi:"egressAddressRanges"` // A single extensions block as defined below. @@ -111,6 +115,8 @@ type skeClusterState struct { } type SkeClusterState struct { + // Configure access to the cluster + Access SkeClusterAccessPtrInput // The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. EgressAddressRanges pulumi.StringArrayInput // A single extensions block as defined below. @@ -143,6 +149,8 @@ func (SkeClusterState) ElementType() reflect.Type { } type skeClusterArgs struct { + // Configure access to the cluster + Access *SkeClusterAccess `pulumi:"access"` // A single extensions block as defined below. Extensions *SkeClusterExtensions `pulumi:"extensions"` // One or more hibernation block as defined below. @@ -166,6 +174,8 @@ type skeClusterArgs struct { // The set of arguments for constructing a SkeCluster resource. type SkeClusterArgs struct { + // Configure access to the cluster + Access SkeClusterAccessPtrInput // A single extensions block as defined below. Extensions SkeClusterExtensionsPtrInput // One or more hibernation block as defined below. @@ -274,6 +284,11 @@ func (o SkeClusterOutput) ToSkeClusterOutputWithContext(ctx context.Context) Ske return o } +// Configure access to the cluster +func (o SkeClusterOutput) Access() SkeClusterAccessOutput { + return o.ApplyT(func(v *SkeCluster) SkeClusterAccessOutput { return v.Access }).(SkeClusterAccessOutput) +} + // The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. func (o SkeClusterOutput) EgressAddressRanges() pulumi.StringArrayOutput { return o.ApplyT(func(v *SkeCluster) pulumi.StringArrayOutput { return v.EgressAddressRanges }).(pulumi.StringArrayOutput) diff --git a/sdk/go/stackit/vpnConnection.go b/sdk/go/stackit/vpnConnection.go new file mode 100644 index 0000000..359db53 --- /dev/null +++ b/sdk/go/stackit/vpnConnection.go @@ -0,0 +1,406 @@ +// Code generated by pulumi-language-go DO NOT EDIT. +// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! *** + +package stackit + +import ( + "context" + "reflect" + + "errors" + "github.com/pulumi/pulumi/sdk/v3/go/pulumi" + "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" +) + +// 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 +type VpnConnection struct { + pulumi.CustomResourceState + + // The server-generated UUID of the VPN connection. + ConnectionId pulumi.StringOutput `pulumi:"connectionId"` + // A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long. + DisplayName pulumi.StringOutput `pulumi:"displayName"` + // Whether this connection is enabled. Defaults to true. + Enabled pulumi.BoolOutput `pulumi:"enabled"` + // The UUID of the parent VPN gateway. + GatewayId pulumi.StringOutput `pulumi:"gatewayId"` + // Map of custom labels. + Labels pulumi.StringMapOutput `pulumi:"labels"` + // 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. + LocalSubnets pulumi.StringArrayOutput `pulumi:"localSubnets"` + // STACKIT project ID. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // STACKIT region. + Region pulumi.StringOutput `pulumi:"region"` + // 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. + RemoteSubnets pulumi.StringArrayOutput `pulumi:"remoteSubnets"` + // List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways. + StaticRoutes pulumi.StringArrayOutput `pulumi:"staticRoutes"` + // Configuration for the IPsec tunnel1 + Tunnel1 VpnConnectionTunnel1Output `pulumi:"tunnel1"` + // Configuration for the IPsec tunnel2 + // + // > Write-Only argument `preSharedKeyWo` is available to use in place of `preSharedKey`. 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). + Tunnel2 VpnConnectionTunnel2Output `pulumi:"tunnel2"` +} + +// NewVpnConnection registers a new resource with the given unique name, arguments, and options. +func NewVpnConnection(ctx *pulumi.Context, + name string, args *VpnConnectionArgs, opts ...pulumi.ResourceOption) (*VpnConnection, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.DisplayName == nil { + return nil, errors.New("invalid value for required argument 'DisplayName'") + } + if args.GatewayId == nil { + return nil, errors.New("invalid value for required argument 'GatewayId'") + } + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + if args.Tunnel1 == nil { + return nil, errors.New("invalid value for required argument 'Tunnel1'") + } + if args.Tunnel2 == nil { + return nil, errors.New("invalid value for required argument 'Tunnel2'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource VpnConnection + err := ctx.RegisterResource("stackit:index/vpnConnection:VpnConnection", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVpnConnection gets an existing VpnConnection resource's state with the given name, ID, and optional +// state properties that are used to uniquely qualify the lookup (nil if not required). +func GetVpnConnection(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VpnConnectionState, opts ...pulumi.ResourceOption) (*VpnConnection, error) { + var resource VpnConnection + err := ctx.ReadResource("stackit:index/vpnConnection:VpnConnection", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering VpnConnection resources. +type vpnConnectionState struct { + // The server-generated UUID of the VPN connection. + ConnectionId *string `pulumi:"connectionId"` + // A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long. + DisplayName *string `pulumi:"displayName"` + // Whether this connection is enabled. Defaults to true. + Enabled *bool `pulumi:"enabled"` + // The UUID of the parent VPN gateway. + GatewayId *string `pulumi:"gatewayId"` + // Map of custom labels. + Labels map[string]string `pulumi:"labels"` + // 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. + LocalSubnets []string `pulumi:"localSubnets"` + // STACKIT project ID. + ProjectId *string `pulumi:"projectId"` + // STACKIT region. + Region *string `pulumi:"region"` + // 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. + RemoteSubnets []string `pulumi:"remoteSubnets"` + // List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways. + StaticRoutes []string `pulumi:"staticRoutes"` + // Configuration for the IPsec tunnel1 + Tunnel1 *VpnConnectionTunnel1 `pulumi:"tunnel1"` + // Configuration for the IPsec tunnel2 + // + // > Write-Only argument `preSharedKeyWo` is available to use in place of `preSharedKey`. 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). + Tunnel2 *VpnConnectionTunnel2 `pulumi:"tunnel2"` +} + +type VpnConnectionState struct { + // The server-generated UUID of the VPN connection. + ConnectionId pulumi.StringPtrInput + // A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long. + DisplayName pulumi.StringPtrInput + // Whether this connection is enabled. Defaults to true. + Enabled pulumi.BoolPtrInput + // The UUID of the parent VPN gateway. + GatewayId pulumi.StringPtrInput + // Map of custom labels. + Labels pulumi.StringMapInput + // 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. + LocalSubnets pulumi.StringArrayInput + // STACKIT project ID. + ProjectId pulumi.StringPtrInput + // STACKIT region. + Region pulumi.StringPtrInput + // 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. + RemoteSubnets pulumi.StringArrayInput + // List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways. + StaticRoutes pulumi.StringArrayInput + // Configuration for the IPsec tunnel1 + Tunnel1 VpnConnectionTunnel1PtrInput + // Configuration for the IPsec tunnel2 + // + // > Write-Only argument `preSharedKeyWo` is available to use in place of `preSharedKey`. 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). + Tunnel2 VpnConnectionTunnel2PtrInput +} + +func (VpnConnectionState) ElementType() reflect.Type { + return reflect.TypeOf((*vpnConnectionState)(nil)).Elem() +} + +type vpnConnectionArgs struct { + // A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long. + DisplayName string `pulumi:"displayName"` + // Whether this connection is enabled. Defaults to true. + Enabled *bool `pulumi:"enabled"` + // The UUID of the parent VPN gateway. + GatewayId string `pulumi:"gatewayId"` + // Map of custom labels. + Labels map[string]string `pulumi:"labels"` + // 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. + LocalSubnets []string `pulumi:"localSubnets"` + // STACKIT project ID. + ProjectId string `pulumi:"projectId"` + // STACKIT region. + Region *string `pulumi:"region"` + // 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. + RemoteSubnets []string `pulumi:"remoteSubnets"` + // List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways. + StaticRoutes []string `pulumi:"staticRoutes"` + // Configuration for the IPsec tunnel1 + Tunnel1 VpnConnectionTunnel1 `pulumi:"tunnel1"` + // Configuration for the IPsec tunnel2 + // + // > Write-Only argument `preSharedKeyWo` is available to use in place of `preSharedKey`. 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). + Tunnel2 VpnConnectionTunnel2 `pulumi:"tunnel2"` +} + +// The set of arguments for constructing a VpnConnection resource. +type VpnConnectionArgs struct { + // A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long. + DisplayName pulumi.StringInput + // Whether this connection is enabled. Defaults to true. + Enabled pulumi.BoolPtrInput + // The UUID of the parent VPN gateway. + GatewayId pulumi.StringInput + // Map of custom labels. + Labels pulumi.StringMapInput + // 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. + LocalSubnets pulumi.StringArrayInput + // STACKIT project ID. + ProjectId pulumi.StringInput + // STACKIT region. + Region pulumi.StringPtrInput + // 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. + RemoteSubnets pulumi.StringArrayInput + // List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways. + StaticRoutes pulumi.StringArrayInput + // Configuration for the IPsec tunnel1 + Tunnel1 VpnConnectionTunnel1Input + // Configuration for the IPsec tunnel2 + // + // > Write-Only argument `preSharedKeyWo` is available to use in place of `preSharedKey`. 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). + Tunnel2 VpnConnectionTunnel2Input +} + +func (VpnConnectionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*vpnConnectionArgs)(nil)).Elem() +} + +type VpnConnectionInput interface { + pulumi.Input + + ToVpnConnectionOutput() VpnConnectionOutput + ToVpnConnectionOutputWithContext(ctx context.Context) VpnConnectionOutput +} + +func (*VpnConnection) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnection)(nil)).Elem() +} + +func (i *VpnConnection) ToVpnConnectionOutput() VpnConnectionOutput { + return i.ToVpnConnectionOutputWithContext(context.Background()) +} + +func (i *VpnConnection) ToVpnConnectionOutputWithContext(ctx context.Context) VpnConnectionOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionOutput) +} + +// VpnConnectionArrayInput is an input type that accepts VpnConnectionArray and VpnConnectionArrayOutput values. +// You can construct a concrete instance of `VpnConnectionArrayInput` via: +// +// VpnConnectionArray{ VpnConnectionArgs{...} } +type VpnConnectionArrayInput interface { + pulumi.Input + + ToVpnConnectionArrayOutput() VpnConnectionArrayOutput + ToVpnConnectionArrayOutputWithContext(context.Context) VpnConnectionArrayOutput +} + +type VpnConnectionArray []VpnConnectionInput + +func (VpnConnectionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpnConnection)(nil)).Elem() +} + +func (i VpnConnectionArray) ToVpnConnectionArrayOutput() VpnConnectionArrayOutput { + return i.ToVpnConnectionArrayOutputWithContext(context.Background()) +} + +func (i VpnConnectionArray) ToVpnConnectionArrayOutputWithContext(ctx context.Context) VpnConnectionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionArrayOutput) +} + +// VpnConnectionMapInput is an input type that accepts VpnConnectionMap and VpnConnectionMapOutput values. +// You can construct a concrete instance of `VpnConnectionMapInput` via: +// +// VpnConnectionMap{ "key": VpnConnectionArgs{...} } +type VpnConnectionMapInput interface { + pulumi.Input + + ToVpnConnectionMapOutput() VpnConnectionMapOutput + ToVpnConnectionMapOutputWithContext(context.Context) VpnConnectionMapOutput +} + +type VpnConnectionMap map[string]VpnConnectionInput + +func (VpnConnectionMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpnConnection)(nil)).Elem() +} + +func (i VpnConnectionMap) ToVpnConnectionMapOutput() VpnConnectionMapOutput { + return i.ToVpnConnectionMapOutputWithContext(context.Background()) +} + +func (i VpnConnectionMap) ToVpnConnectionMapOutputWithContext(ctx context.Context) VpnConnectionMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnConnectionMapOutput) +} + +type VpnConnectionOutput struct{ *pulumi.OutputState } + +func (VpnConnectionOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnConnection)(nil)).Elem() +} + +func (o VpnConnectionOutput) ToVpnConnectionOutput() VpnConnectionOutput { + return o +} + +func (o VpnConnectionOutput) ToVpnConnectionOutputWithContext(ctx context.Context) VpnConnectionOutput { + return o +} + +// The server-generated UUID of the VPN connection. +func (o VpnConnectionOutput) ConnectionId() pulumi.StringOutput { + return o.ApplyT(func(v *VpnConnection) pulumi.StringOutput { return v.ConnectionId }).(pulumi.StringOutput) +} + +// A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long. +func (o VpnConnectionOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *VpnConnection) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// Whether this connection is enabled. Defaults to true. +func (o VpnConnectionOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v *VpnConnection) pulumi.BoolOutput { return v.Enabled }).(pulumi.BoolOutput) +} + +// The UUID of the parent VPN gateway. +func (o VpnConnectionOutput) GatewayId() pulumi.StringOutput { + return o.ApplyT(func(v *VpnConnection) pulumi.StringOutput { return v.GatewayId }).(pulumi.StringOutput) +} + +// Map of custom labels. +func (o VpnConnectionOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v *VpnConnection) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) +} + +// 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. +func (o VpnConnectionOutput) LocalSubnets() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnection) pulumi.StringArrayOutput { return v.LocalSubnets }).(pulumi.StringArrayOutput) +} + +// STACKIT project ID. +func (o VpnConnectionOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *VpnConnection) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// STACKIT region. +func (o VpnConnectionOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *VpnConnection) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// 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. +func (o VpnConnectionOutput) RemoteSubnets() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnection) pulumi.StringArrayOutput { return v.RemoteSubnets }).(pulumi.StringArrayOutput) +} + +// List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways. +func (o VpnConnectionOutput) StaticRoutes() pulumi.StringArrayOutput { + return o.ApplyT(func(v *VpnConnection) pulumi.StringArrayOutput { return v.StaticRoutes }).(pulumi.StringArrayOutput) +} + +// Configuration for the IPsec tunnel1 +func (o VpnConnectionOutput) Tunnel1() VpnConnectionTunnel1Output { + return o.ApplyT(func(v *VpnConnection) VpnConnectionTunnel1Output { return v.Tunnel1 }).(VpnConnectionTunnel1Output) +} + +// Configuration for the IPsec tunnel2 +// +// > Write-Only argument `preSharedKeyWo` is available to use in place of `preSharedKey`. 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). +func (o VpnConnectionOutput) Tunnel2() VpnConnectionTunnel2Output { + return o.ApplyT(func(v *VpnConnection) VpnConnectionTunnel2Output { return v.Tunnel2 }).(VpnConnectionTunnel2Output) +} + +type VpnConnectionArrayOutput struct{ *pulumi.OutputState } + +func (VpnConnectionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpnConnection)(nil)).Elem() +} + +func (o VpnConnectionArrayOutput) ToVpnConnectionArrayOutput() VpnConnectionArrayOutput { + return o +} + +func (o VpnConnectionArrayOutput) ToVpnConnectionArrayOutputWithContext(ctx context.Context) VpnConnectionArrayOutput { + return o +} + +func (o VpnConnectionArrayOutput) Index(i pulumi.IntInput) VpnConnectionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VpnConnection { + return vs[0].([]*VpnConnection)[vs[1].(int)] + }).(VpnConnectionOutput) +} + +type VpnConnectionMapOutput struct{ *pulumi.OutputState } + +func (VpnConnectionMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpnConnection)(nil)).Elem() +} + +func (o VpnConnectionMapOutput) ToVpnConnectionMapOutput() VpnConnectionMapOutput { + return o +} + +func (o VpnConnectionMapOutput) ToVpnConnectionMapOutputWithContext(ctx context.Context) VpnConnectionMapOutput { + return o +} + +func (o VpnConnectionMapOutput) MapIndex(k pulumi.StringInput) VpnConnectionOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VpnConnection { + return vs[0].(map[string]*VpnConnection)[vs[1].(string)] + }).(VpnConnectionOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionInput)(nil)).Elem(), &VpnConnection{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionArrayInput)(nil)).Elem(), VpnConnectionArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnConnectionMapInput)(nil)).Elem(), VpnConnectionMap{}) + pulumi.RegisterOutputType(VpnConnectionOutput{}) + pulumi.RegisterOutputType(VpnConnectionArrayOutput{}) + pulumi.RegisterOutputType(VpnConnectionMapOutput{}) +} diff --git a/sdk/nodejs/getIntakeRunner.ts b/sdk/nodejs/getIntakeRunner.ts index 51a51c6..44fbd84 100644 --- a/sdk/nodejs/getIntakeRunner.ts +++ b/sdk/nodejs/getIntakeRunner.ts @@ -40,6 +40,10 @@ export interface GetIntakeRunnerArgs { * A collection of values returned by getIntakeRunner. */ export interface GetIntakeRunnerResult { + /** + * The creation time of the runner. + */ + readonly createTime: string; /** * The description of the runner. */ @@ -76,6 +80,10 @@ export interface GetIntakeRunnerResult { * The runner ID. */ readonly runnerId: string; + /** + * The URI of the runner. + */ + readonly uri: string; } /** * Datasource for STACKIT Intake Runner. diff --git a/sdk/nodejs/getLoadbalancer.ts b/sdk/nodejs/getLoadbalancer.ts index b72136f..a39ed47 100644 --- a/sdk/nodejs/getLoadbalancer.ts +++ b/sdk/nodejs/getLoadbalancer.ts @@ -58,6 +58,10 @@ export interface GetLoadbalancerResult { * List of all listeners which will accept traffic. Limited to 20. */ readonly listeners: outputs.GetLoadbalancerListener[]; + /** + * 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`. + */ + readonly loadBalancerSecurityGroupId: string; /** * Load balancer name. */ @@ -87,7 +91,7 @@ export interface GetLoadbalancerResult { */ readonly region?: string; /** - * 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. */ readonly securityGroupId: string; /** diff --git a/sdk/nodejs/getSkeCluster.ts b/sdk/nodejs/getSkeCluster.ts index 72aef9e..6ff20fb 100644 --- a/sdk/nodejs/getSkeCluster.ts +++ b/sdk/nodejs/getSkeCluster.ts @@ -42,6 +42,10 @@ export interface GetSkeClusterArgs { * A collection of values returned by getSkeCluster. */ export interface GetSkeClusterResult { + /** + * Configure access to the cluster + */ + readonly access: outputs.GetSkeClusterAccess; /** * The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. */ diff --git a/sdk/nodejs/getVpnConnection.ts b/sdk/nodejs/getVpnConnection.ts new file mode 100644 index 0000000..4202fa2 --- /dev/null +++ b/sdk/nodejs/getVpnConnection.ts @@ -0,0 +1,122 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * 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 + */ +export function getVpnConnection(args: GetVpnConnectionArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getVpnConnection:getVpnConnection", { + "connectionId": args.connectionId, + "gatewayId": args.gatewayId, + "projectId": args.projectId, + }, opts); +} + +/** + * A collection of arguments for invoking getVpnConnection. + */ +export interface GetVpnConnectionArgs { + /** + * The server-generated UUID of the VPN connection. + */ + connectionId: string; + /** + * The UUID of the parent VPN gateway. + */ + gatewayId: string; + /** + * STACKIT project ID. + */ + projectId: string; +} + +/** + * A collection of values returned by getVpnConnection. + */ +export interface GetVpnConnectionResult { + /** + * The server-generated UUID of the VPN connection. + */ + readonly connectionId: string; + /** + * A user-friendly name for the connection. + */ + readonly displayName: string; + /** + * Whether this connection is enabled. + */ + readonly enabled: boolean; + /** + * The UUID of the parent VPN gateway. + */ + readonly gatewayId: string; + /** + * Terraform's internal resource identifier. Structured as "`projectId`,`region`,`gatewayId`,`connectionId`". + */ + readonly id: string; + /** + * Map of custom labels. + */ + readonly labels: {[key: string]: string}; + /** + * List of local IPv4 CIDRs to route through this connection. + */ + readonly localSubnets: string[]; + /** + * STACKIT project ID. + */ + readonly projectId: string; + /** + * STACKIT region. + */ + readonly region: string; + /** + * List of remote IPv4 CIDRs accessible via this connection. + */ + readonly remoteSubnets: string[]; + /** + * List of static routes (IPv4 CIDRs) for route-based VPN. + */ + readonly staticRoutes: string[]; + readonly tunnel1: outputs.GetVpnConnectionTunnel1; + readonly tunnel2: outputs.GetVpnConnectionTunnel2; +} +/** + * 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 + */ +export function getVpnConnectionOutput(args: GetVpnConnectionOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getVpnConnection:getVpnConnection", { + "connectionId": args.connectionId, + "gatewayId": args.gatewayId, + "projectId": args.projectId, + }, opts); +} + +/** + * A collection of arguments for invoking getVpnConnection. + */ +export interface GetVpnConnectionOutputArgs { + /** + * The server-generated UUID of the VPN connection. + */ + connectionId: pulumi.Input; + /** + * The UUID of the parent VPN gateway. + */ + gatewayId: pulumi.Input; + /** + * STACKIT project ID. + */ + projectId: pulumi.Input; +} diff --git a/sdk/nodejs/getVpnGatewayStatus.ts b/sdk/nodejs/getVpnGatewayStatus.ts new file mode 100644 index 0000000..b4575f0 --- /dev/null +++ b/sdk/nodejs/getVpnGatewayStatus.ts @@ -0,0 +1,94 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * 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 + */ +export function getVpnGatewayStatus(args: GetVpnGatewayStatusArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getVpnGatewayStatus:getVpnGatewayStatus", { + "gatewayId": args.gatewayId, + "projectId": args.projectId, + }, opts); +} + +/** + * A collection of arguments for invoking getVpnGatewayStatus. + */ +export interface GetVpnGatewayStatusArgs { + /** + * The server-generated UUID of the VPN gateway. + */ + gatewayId: string; + /** + * STACKIT project ID associated with the VPN gateway. + */ + projectId: string; +} + +/** + * A collection of values returned by getVpnGatewayStatus. + */ +export interface GetVpnGatewayStatusResult { + /** + * List of connections in the VPN gateway. + */ + readonly connections: outputs.GetVpnGatewayStatusConnection[]; + /** + * A user-friendly name for the VPN gateway. + */ + readonly displayName: string; + /** + * The server-generated UUID of the VPN gateway. + */ + readonly gatewayId: string; + /** + * Terraform's internal resource identifier. Structured as "`projectId`,`region`,`gatewayId`". + */ + readonly id: string; + /** + * STACKIT project ID associated with the VPN gateway. + */ + readonly projectId: string; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + readonly region: string; + /** + * List of the VPN tunnels in the gateway. + */ + readonly tunnels: outputs.GetVpnGatewayStatusTunnel[]; +} +/** + * 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 + */ +export function getVpnGatewayStatusOutput(args: GetVpnGatewayStatusOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getVpnGatewayStatus:getVpnGatewayStatus", { + "gatewayId": args.gatewayId, + "projectId": args.projectId, + }, opts); +} + +/** + * A collection of arguments for invoking getVpnGatewayStatus. + */ +export interface GetVpnGatewayStatusOutputArgs { + /** + * The server-generated UUID of the VPN gateway. + */ + gatewayId: pulumi.Input; + /** + * STACKIT project ID associated with the VPN gateway. + */ + projectId: pulumi.Input; +} diff --git a/sdk/nodejs/index.ts b/sdk/nodejs/index.ts index d34797e..31ca594 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -590,11 +590,21 @@ export const getVolume: typeof import("./getVolume").getVolume = null as any; export const getVolumeOutput: typeof import("./getVolume").getVolumeOutput = null as any; utilities.lazyLoad(exports, ["getVolume","getVolumeOutput"], () => require("./getVolume")); +export { GetVpnConnectionArgs, GetVpnConnectionResult, GetVpnConnectionOutputArgs } from "./getVpnConnection"; +export const getVpnConnection: typeof import("./getVpnConnection").getVpnConnection = null as any; +export const getVpnConnectionOutput: typeof import("./getVpnConnection").getVpnConnectionOutput = null as any; +utilities.lazyLoad(exports, ["getVpnConnection","getVpnConnectionOutput"], () => require("./getVpnConnection")); + export { GetVpnGatewayArgs, GetVpnGatewayResult, GetVpnGatewayOutputArgs } from "./getVpnGateway"; export const getVpnGateway: typeof import("./getVpnGateway").getVpnGateway = null as any; export const getVpnGatewayOutput: typeof import("./getVpnGateway").getVpnGatewayOutput = null as any; utilities.lazyLoad(exports, ["getVpnGateway","getVpnGatewayOutput"], () => require("./getVpnGateway")); +export { GetVpnGatewayStatusArgs, GetVpnGatewayStatusResult, GetVpnGatewayStatusOutputArgs } from "./getVpnGatewayStatus"; +export const getVpnGatewayStatus: typeof import("./getVpnGatewayStatus").getVpnGatewayStatus = null as any; +export const getVpnGatewayStatusOutput: typeof import("./getVpnGatewayStatus").getVpnGatewayStatusOutput = null as any; +utilities.lazyLoad(exports, ["getVpnGatewayStatus","getVpnGatewayStatusOutput"], () => require("./getVpnGatewayStatus")); + export { GitArgs, GitState } from "./git"; export type Git = import("./git").Git; export const Git: typeof import("./git").Git = null as any; @@ -993,6 +1003,11 @@ export type Volume = import("./volume").Volume; export const Volume: typeof import("./volume").Volume = null as any; utilities.lazyLoad(exports, ["Volume"], () => require("./volume")); +export { VpnConnectionArgs, VpnConnectionState } from "./vpnConnection"; +export type VpnConnection = import("./vpnConnection").VpnConnection; +export const VpnConnection: typeof import("./vpnConnection").VpnConnection = null as any; +utilities.lazyLoad(exports, ["VpnConnection"], () => require("./vpnConnection")); + export { VpnGatewayArgs, VpnGatewayState } from "./vpnGateway"; export type VpnGateway = import("./vpnGateway").VpnGateway; export const VpnGateway: typeof import("./vpnGateway").VpnGateway = null as any; @@ -1208,6 +1223,8 @@ const _module = { return new TelemetryrouterInstance(name, undefined, { urn }) case "stackit:index/volume:Volume": return new Volume(name, undefined, { urn }) + case "stackit:index/vpnConnection:VpnConnection": + return new VpnConnection(name, undefined, { urn }) case "stackit:index/vpnGateway:VpnGateway": return new VpnGateway(name, undefined, { urn }) default: @@ -1313,6 +1330,7 @@ pulumi.runtime.registerResourceModule("stackit", "index/telemetryrouterAccessTok pulumi.runtime.registerResourceModule("stackit", "index/telemetryrouterDestination", _module) pulumi.runtime.registerResourceModule("stackit", "index/telemetryrouterInstance", _module) pulumi.runtime.registerResourceModule("stackit", "index/volume", _module) +pulumi.runtime.registerResourceModule("stackit", "index/vpnConnection", _module) pulumi.runtime.registerResourceModule("stackit", "index/vpnGateway", _module) pulumi.runtime.registerResourcePackage("stackit", { version: utilities.getVersion(), diff --git a/sdk/nodejs/intakeRunner.ts b/sdk/nodejs/intakeRunner.ts index 0266e37..b21c674 100644 --- a/sdk/nodejs/intakeRunner.ts +++ b/sdk/nodejs/intakeRunner.ts @@ -37,6 +37,10 @@ export class IntakeRunner extends pulumi.CustomResource { return obj['__pulumiType'] === IntakeRunner.__pulumiType; } + /** + * The creation time of the runner. + */ + declare public /*out*/ readonly createTime: pulumi.Output; /** * The description of the runner. */ @@ -69,6 +73,10 @@ export class IntakeRunner extends pulumi.CustomResource { * The runner ID. */ declare public /*out*/ readonly runnerId: pulumi.Output; + /** + * The URI of the runner. + */ + declare public /*out*/ readonly uri: pulumi.Output; /** * Create a IntakeRunner resource with the given unique name, arguments, and options. @@ -83,6 +91,7 @@ export class IntakeRunner extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as IntakeRunnerState | undefined; + resourceInputs["createTime"] = state?.createTime; resourceInputs["description"] = state?.description; resourceInputs["labels"] = state?.labels; resourceInputs["maxMessageSizeKib"] = state?.maxMessageSizeKib; @@ -91,6 +100,7 @@ export class IntakeRunner extends pulumi.CustomResource { resourceInputs["projectId"] = state?.projectId; resourceInputs["region"] = state?.region; resourceInputs["runnerId"] = state?.runnerId; + resourceInputs["uri"] = state?.uri; } else { const args = argsOrState as IntakeRunnerArgs | undefined; if (args?.maxMessageSizeKib === undefined && !opts.urn) { @@ -109,7 +119,9 @@ export class IntakeRunner extends pulumi.CustomResource { resourceInputs["name"] = args?.name; resourceInputs["projectId"] = args?.projectId; resourceInputs["region"] = args?.region; + resourceInputs["createTime"] = undefined /*out*/; resourceInputs["runnerId"] = undefined /*out*/; + resourceInputs["uri"] = undefined /*out*/; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(IntakeRunner.__pulumiType, name, resourceInputs, opts); @@ -120,6 +132,10 @@ export class IntakeRunner extends pulumi.CustomResource { * Input properties used for looking up and filtering IntakeRunner resources. */ export interface IntakeRunnerState { + /** + * The creation time of the runner. + */ + createTime?: pulumi.Input; /** * The description of the runner. */ @@ -152,6 +168,10 @@ export interface IntakeRunnerState { * The runner ID. */ runnerId?: pulumi.Input; + /** + * The URI of the runner. + */ + uri?: pulumi.Input; } /** diff --git a/sdk/nodejs/loadbalancer.ts b/sdk/nodejs/loadbalancer.ts index cd40e26..552f545 100644 --- a/sdk/nodejs/loadbalancer.ts +++ b/sdk/nodejs/loadbalancer.ts @@ -53,6 +53,10 @@ export class Loadbalancer extends pulumi.CustomResource { * List of all listeners which will accept traffic. Limited to 20. */ declare public readonly listeners: pulumi.Output; + /** + * 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`. + */ + declare public /*out*/ readonly loadBalancerSecurityGroupId: pulumi.Output; /** * Load balancer name. */ @@ -82,7 +86,7 @@ export class Loadbalancer extends pulumi.CustomResource { */ declare public readonly region: pulumi.Output; /** - * 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. */ declare public /*out*/ readonly securityGroupId: pulumi.Output; /** @@ -110,6 +114,7 @@ export class Loadbalancer extends pulumi.CustomResource { resourceInputs["disableSecurityGroupAssignment"] = state?.disableSecurityGroupAssignment; resourceInputs["externalAddress"] = state?.externalAddress; resourceInputs["listeners"] = state?.listeners; + resourceInputs["loadBalancerSecurityGroupId"] = state?.loadBalancerSecurityGroupId; resourceInputs["name"] = state?.name; resourceInputs["networks"] = state?.networks; resourceInputs["options"] = state?.options; @@ -144,6 +149,7 @@ export class Loadbalancer extends pulumi.CustomResource { resourceInputs["projectId"] = args?.projectId; resourceInputs["region"] = args?.region; resourceInputs["targetPools"] = args?.targetPools; + resourceInputs["loadBalancerSecurityGroupId"] = undefined /*out*/; resourceInputs["privateAddress"] = undefined /*out*/; resourceInputs["securityGroupId"] = undefined /*out*/; resourceInputs["version"] = undefined /*out*/; @@ -169,6 +175,10 @@ export interface LoadbalancerState { * List of all listeners which will accept traffic. Limited to 20. */ listeners?: pulumi.Input[] | undefined>; + /** + * 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`. + */ + loadBalancerSecurityGroupId?: pulumi.Input; /** * Load balancer name. */ @@ -198,7 +208,7 @@ export interface LoadbalancerState { */ region?: pulumi.Input; /** - * 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. */ securityGroupId?: pulumi.Input; /** diff --git a/sdk/nodejs/objectstorageBucket.ts b/sdk/nodejs/objectstorageBucket.ts index 99f0286..f494479 100644 --- a/sdk/nodejs/objectstorageBucket.ts +++ b/sdk/nodejs/objectstorageBucket.ts @@ -7,6 +7,8 @@ import * as utilities from "./utilities"; /** * 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 */ export class ObjectstorageBucket extends pulumi.CustomResource { diff --git a/sdk/nodejs/resourcemanagerProject.ts b/sdk/nodejs/resourcemanagerProject.ts index 0229db2..754a063 100644 --- a/sdk/nodejs/resourcemanagerProject.ts +++ b/sdk/nodejs/resourcemanagerProject.ts @@ -48,7 +48,7 @@ export class ResourcemanagerProject extends pulumi.CustomResource { */ declare public /*out*/ readonly creationTime: pulumi.Output; /** - * Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}. + * Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}.\ * To create a project within a STACKIT Network Area, setting the label `networkArea=` is required. This can not be changed after project creation. */ declare public readonly labels: pulumi.Output<{[key: string]: string} | undefined>; @@ -129,7 +129,7 @@ export interface ResourcemanagerProjectState { */ creationTime?: pulumi.Input; /** - * Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}. + * Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}.\ * To create a project within a STACKIT Network Area, setting the label `networkArea=` is required. This can not be changed after project creation. */ labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; @@ -160,7 +160,7 @@ export interface ResourcemanagerProjectState { */ export interface ResourcemanagerProjectArgs { /** - * Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}. + * Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}.\ * To create a project within a STACKIT Network Area, setting the label `networkArea=` is required. This can not be changed after project creation. */ labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; diff --git a/sdk/nodejs/skeCluster.ts b/sdk/nodejs/skeCluster.ts index 108d7aa..15fba07 100644 --- a/sdk/nodejs/skeCluster.ts +++ b/sdk/nodejs/skeCluster.ts @@ -41,6 +41,10 @@ export class SkeCluster extends pulumi.CustomResource { return obj['__pulumiType'] === SkeCluster.__pulumiType; } + /** + * Configure access to the cluster + */ + declare public readonly access: pulumi.Output; /** * The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. */ @@ -104,6 +108,7 @@ export class SkeCluster extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as SkeClusterState | undefined; + resourceInputs["access"] = state?.access; resourceInputs["egressAddressRanges"] = state?.egressAddressRanges; resourceInputs["extensions"] = state?.extensions; resourceInputs["hibernations"] = state?.hibernations; @@ -124,6 +129,7 @@ export class SkeCluster extends pulumi.CustomResource { if (args?.projectId === undefined && !opts.urn) { throw new Error("Missing required property 'projectId'"); } + resourceInputs["access"] = args?.access; resourceInputs["extensions"] = args?.extensions; resourceInputs["hibernations"] = args?.hibernations; resourceInputs["kubernetesVersionMin"] = args?.kubernetesVersionMin; @@ -146,6 +152,10 @@ export class SkeCluster extends pulumi.CustomResource { * Input properties used for looking up and filtering SkeCluster resources. */ export interface SkeClusterState { + /** + * Configure access to the cluster + */ + access?: pulumi.Input; /** * The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. */ @@ -201,6 +211,10 @@ export interface SkeClusterState { * The set of arguments for constructing a SkeCluster resource. */ export interface SkeClusterArgs { + /** + * Configure access to the cluster + */ + access?: pulumi.Input; /** * A single extensions block as defined below. */ diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 3c9c679..2ffbdf1 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -138,7 +138,9 @@ "getTelemetryrouterDestination.ts", "getTelemetryrouterInstance.ts", "getVolume.ts", + "getVpnConnection.ts", "getVpnGateway.ts", + "getVpnGatewayStatus.ts", "git.ts", "image.ts", "index.ts", @@ -224,6 +226,7 @@ "types/output.ts", "utilities.ts", "volume.ts", + "vpnConnection.ts", "vpnGateway.ts" ] } diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 16bf569..2808d28 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -1938,6 +1938,24 @@ export interface SfsResourcePoolSnapshotPolicy { name?: pulumi.Input; } +export interface SkeClusterAccess { + /** + * Configure IDP + */ + idp?: pulumi.Input; +} + +export interface SkeClusterAccessIdp { + /** + * Enable IDP integration for the cluster. + */ + enabled?: pulumi.Input; + /** + * The IDP type. Possible values: 'stackit'. + */ + type?: pulumi.Input; +} + export interface SkeClusterExtensions { /** * Cluster access control configuration. @@ -2333,6 +2351,182 @@ export interface VolumeSource { type: pulumi.Input; } +export interface VpnConnectionTunnel1 { + bgp?: pulumi.Input; + peering?: pulumi.Input; + phase1: pulumi.Input; + phase2: pulumi.Input; + /** + * Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. + */ + preSharedKey?: pulumi.Input; + /** + * **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. + */ + preSharedKeyWo?: pulumi.Input; + /** + * 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. + */ + preSharedKeyWoVersion?: pulumi.Input; + /** + * Remote IPv4 address for the tunnel endpoint. + */ + remoteAddress: pulumi.Input; +} + +export interface VpnConnectionTunnel1Bgp { + /** + * Remote ASN for BGP peering (private ASN range, 64512-4294967294). + */ + remoteAsn: pulumi.Input; +} + +export interface VpnConnectionTunnel1Peering { + /** + * Local tunnel interface IPv4 address. + */ + localAddress: pulumi.Input; + /** + * Remote tunnel interface IPv4 address. + */ + remoteAddress: pulumi.Input; +} + +export interface VpnConnectionTunnel1Phase1 { + /** + * Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + */ + dhGroups?: pulumi.Input[] | undefined>; + /** + * Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + */ + encryptionAlgorithms: pulumi.Input[]>; + /** + * Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. + */ + integrityAlgorithms: pulumi.Input[]>; + /** + * Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. + */ + rekeyTime?: pulumi.Input; +} + +export interface VpnConnectionTunnel1Phase2 { + /** + * Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + */ + dhGroups?: pulumi.Input[] | undefined>; + /** + * Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. + */ + dpdAction?: pulumi.Input; + /** + * Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + */ + encryptionAlgorithms: pulumi.Input[]>; + /** + * Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. + */ + integrityAlgorithms: pulumi.Input[]>; + /** + * Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + */ + rekeyTime?: pulumi.Input; + /** + * Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. + */ + startAction?: pulumi.Input; +} + +export interface VpnConnectionTunnel2 { + bgp?: pulumi.Input; + peering?: pulumi.Input; + phase1: pulumi.Input; + phase2: pulumi.Input; + /** + * Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. + */ + preSharedKey?: pulumi.Input; + /** + * **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. + */ + preSharedKeyWo?: pulumi.Input; + /** + * 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. + */ + preSharedKeyWoVersion?: pulumi.Input; + /** + * Remote IPv4 address for the tunnel endpoint. + */ + remoteAddress: pulumi.Input; +} + +export interface VpnConnectionTunnel2Bgp { + /** + * Remote ASN for BGP peering (private ASN range, 64512-4294967294). + */ + remoteAsn: pulumi.Input; +} + +export interface VpnConnectionTunnel2Peering { + /** + * Local tunnel interface IPv4 address. + */ + localAddress: pulumi.Input; + /** + * Remote tunnel interface IPv4 address. + */ + remoteAddress: pulumi.Input; +} + +export interface VpnConnectionTunnel2Phase1 { + /** + * Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + */ + dhGroups?: pulumi.Input[] | undefined>; + /** + * Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + */ + encryptionAlgorithms: pulumi.Input[]>; + /** + * Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. + */ + integrityAlgorithms: pulumi.Input[]>; + /** + * Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. + */ + rekeyTime?: pulumi.Input; +} + +export interface VpnConnectionTunnel2Phase2 { + /** + * Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + */ + dhGroups?: pulumi.Input[] | undefined>; + /** + * Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. + */ + dpdAction?: pulumi.Input; + /** + * Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + */ + encryptionAlgorithms: pulumi.Input[]>; + /** + * Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. + */ + integrityAlgorithms: pulumi.Input[]>; + /** + * Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + */ + rekeyTime?: pulumi.Input; + /** + * Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. + */ + startAction?: pulumi.Input; +} + export interface VpnGatewayAvailabilityZones { /** * Availability zone for tunnel 1. diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index eb9738a..937f6ad 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -2833,6 +2833,24 @@ export interface GetSfsSnapshotPoliciesItemSnapshotSchedule { retentionPeriod: string; } +export interface GetSkeClusterAccess { + /** + * Configure IDP + */ + idp: outputs.GetSkeClusterAccessIdp; +} + +export interface GetSkeClusterAccessIdp { + /** + * Enable IDP integration for the cluster. + */ + enabled: boolean; + /** + * The IDP type. Possible values: 'stackit'. + */ + type: string; +} + export interface GetSkeClusterExtensions { /** * Cluster access control configuration @@ -3202,6 +3220,180 @@ export interface GetVolumeSource { type: string; } +export interface GetVpnConnectionTunnel1 { + /** + * BGP configuration for this tunnel. + */ + bgp: outputs.GetVpnConnectionTunnel1Bgp; + /** + * Tunnel interface peering configuration. + */ + peering: outputs.GetVpnConnectionTunnel1Peering; + /** + * IKE Phase 1 configuration. + */ + phase1: outputs.GetVpnConnectionTunnel1Phase1; + /** + * IKE Phase 2 configuration. + */ + phase2: outputs.GetVpnConnectionTunnel1Phase2; + /** + * Remote peer IPv4 address for this tunnel. + */ + remoteAddress: string; +} + +export interface GetVpnConnectionTunnel1Bgp { + /** + * Remote AS number. + */ + remoteAsn: number; +} + +export interface GetVpnConnectionTunnel1Peering { + /** + * Local tunnel interface IPv4 address. + */ + localAddress: string; + /** + * Remote tunnel interface IPv4 address. + */ + remoteAddress: string; +} + +export interface GetVpnConnectionTunnel1Phase1 { + /** + * Diffie-Hellman groups. + */ + dhGroups: string[]; + /** + * Encryption algorithms. + */ + encryptionAlgorithms: string[]; + /** + * Integrity/hash algorithms. + */ + integrityAlgorithms: string[]; + /** + * IKE re-keying time in seconds. + */ + rekeyTime: number; +} + +export interface GetVpnConnectionTunnel1Phase2 { + /** + * Diffie-Hellman groups for PFS. + */ + dhGroups: string[]; + /** + * DPD timeout action (clear or restart). + */ + dpdAction: string; + /** + * Encryption algorithms. + */ + encryptionAlgorithms: string[]; + /** + * Integrity/hash algorithms. + */ + integrityAlgorithms: string[]; + /** + * Child SA re-keying time in seconds. + */ + rekeyTime: number; + /** + * Start action (none or start). + */ + startAction: string; +} + +export interface GetVpnConnectionTunnel2 { + /** + * BGP configuration for this tunnel. + */ + bgp: outputs.GetVpnConnectionTunnel2Bgp; + /** + * Tunnel interface peering configuration. + */ + peering: outputs.GetVpnConnectionTunnel2Peering; + /** + * IKE Phase 1 configuration. + */ + phase1: outputs.GetVpnConnectionTunnel2Phase1; + /** + * IKE Phase 2 configuration. + */ + phase2: outputs.GetVpnConnectionTunnel2Phase2; + /** + * Remote peer IPv4 address for this tunnel. + */ + remoteAddress: string; +} + +export interface GetVpnConnectionTunnel2Bgp { + /** + * Remote AS number. + */ + remoteAsn: number; +} + +export interface GetVpnConnectionTunnel2Peering { + /** + * Local tunnel interface IPv4 address. + */ + localAddress: string; + /** + * Remote tunnel interface IPv4 address. + */ + remoteAddress: string; +} + +export interface GetVpnConnectionTunnel2Phase1 { + /** + * Diffie-Hellman groups. + */ + dhGroups: string[]; + /** + * Encryption algorithms. + */ + encryptionAlgorithms: string[]; + /** + * Integrity/hash algorithms. + */ + integrityAlgorithms: string[]; + /** + * IKE re-keying time in seconds. + */ + rekeyTime: number; +} + +export interface GetVpnConnectionTunnel2Phase2 { + /** + * Diffie-Hellman groups for PFS. + */ + dhGroups: string[]; + /** + * DPD timeout action (clear or restart). + */ + dpdAction: string; + /** + * Encryption algorithms. + */ + encryptionAlgorithms: string[]; + /** + * Integrity/hash algorithms. + */ + integrityAlgorithms: string[]; + /** + * Child SA re-keying time in seconds. + */ + rekeyTime: number; + /** + * Start action (none or start). + */ + startAction: string; +} + export interface GetVpnGatewayAvailabilityZones { /** * Availability zone for tunnel 1. @@ -3224,6 +3416,36 @@ export interface GetVpnGatewayBgp { overrideAdvertisedRoutes: string[]; } +export interface GetVpnGatewayStatusConnection { + /** + * ID of the VPN connection. + */ + connectionId: string; + /** + * Display name of the VPN connection. + */ + displayName: string; + /** + * Wether the VPN connection is enabled or not. + */ + enabled: boolean; +} + +export interface GetVpnGatewayStatusTunnel { + /** + * The IPv4 address of the endpoint in the SNA. + */ + internalNextHopIp: string; + /** + * The name of the VPN tunnel. Possible values are: `tunnel1`, `tunnel2`. + */ + name: string; + /** + * The public IPv4 address of this endpoint. + */ + publicIp: string; +} + export interface ImageChecksum { /** * Algorithm for the checksum of the image data. @@ -4363,6 +4585,24 @@ export interface SfsResourcePoolSnapshotPolicy { name: string; } +export interface SkeClusterAccess { + /** + * Configure IDP + */ + idp: outputs.SkeClusterAccessIdp; +} + +export interface SkeClusterAccessIdp { + /** + * Enable IDP integration for the cluster. + */ + enabled: boolean; + /** + * The IDP type. Possible values: 'stackit'. + */ + type: string; +} + export interface SkeClusterExtensions { /** * Cluster access control configuration. @@ -4758,6 +4998,182 @@ export interface VolumeSource { type: string; } +export interface VpnConnectionTunnel1 { + bgp?: outputs.VpnConnectionTunnel1Bgp; + peering?: outputs.VpnConnectionTunnel1Peering; + phase1: outputs.VpnConnectionTunnel1Phase1; + phase2: outputs.VpnConnectionTunnel1Phase2; + /** + * Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. + */ + preSharedKey?: string; + /** + * **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. + */ + preSharedKeyWo?: string; + /** + * 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. + */ + preSharedKeyWoVersion?: number; + /** + * Remote IPv4 address for the tunnel endpoint. + */ + remoteAddress: string; +} + +export interface VpnConnectionTunnel1Bgp { + /** + * Remote ASN for BGP peering (private ASN range, 64512-4294967294). + */ + remoteAsn: number; +} + +export interface VpnConnectionTunnel1Peering { + /** + * Local tunnel interface IPv4 address. + */ + localAddress: string; + /** + * Remote tunnel interface IPv4 address. + */ + remoteAddress: string; +} + +export interface VpnConnectionTunnel1Phase1 { + /** + * Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + */ + dhGroups?: string[]; + /** + * Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + */ + encryptionAlgorithms: string[]; + /** + * Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. + */ + integrityAlgorithms: string[]; + /** + * Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. + */ + rekeyTime: number; +} + +export interface VpnConnectionTunnel1Phase2 { + /** + * Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + */ + dhGroups?: string[]; + /** + * Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. + */ + dpdAction: string; + /** + * Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + */ + encryptionAlgorithms: string[]; + /** + * Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. + */ + integrityAlgorithms: string[]; + /** + * Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + */ + rekeyTime: number; + /** + * Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. + */ + startAction: string; +} + +export interface VpnConnectionTunnel2 { + bgp?: outputs.VpnConnectionTunnel2Bgp; + peering?: outputs.VpnConnectionTunnel2Peering; + phase1: outputs.VpnConnectionTunnel2Phase1; + phase2: outputs.VpnConnectionTunnel2Phase2; + /** + * Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `preSharedKeyWo` should be preferred. + */ + preSharedKey?: string; + /** + * **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. + */ + preSharedKeyWo?: string; + /** + * 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. + */ + preSharedKeyWoVersion?: number; + /** + * Remote IPv4 address for the tunnel endpoint. + */ + remoteAddress: string; +} + +export interface VpnConnectionTunnel2Bgp { + /** + * Remote ASN for BGP peering (private ASN range, 64512-4294967294). + */ + remoteAsn: number; +} + +export interface VpnConnectionTunnel2Peering { + /** + * Local tunnel interface IPv4 address. + */ + localAddress: string; + /** + * Remote tunnel interface IPv4 address. + */ + remoteAddress: string; +} + +export interface VpnConnectionTunnel2Phase1 { + /** + * Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + */ + dhGroups?: string[]; + /** + * Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + */ + encryptionAlgorithms: string[]; + /** + * Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2256`, `sha2384`. + */ + integrityAlgorithms: string[]; + /** + * Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. + */ + rekeyTime: number; +} + +export interface VpnConnectionTunnel2Phase2 { + /** + * Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + */ + dhGroups?: string[]; + /** + * Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. + */ + dpdAction: string; + /** + * Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + */ + encryptionAlgorithms: string[]; + /** + * Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2256`, `sha2384`. + */ + integrityAlgorithms: string[]; + /** + * Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + */ + rekeyTime: number; + /** + * Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. + */ + startAction: string; +} + export interface VpnGatewayAvailabilityZones { /** * Availability zone for tunnel 1. diff --git a/sdk/nodejs/vpnConnection.ts b/sdk/nodejs/vpnConnection.ts new file mode 100644 index 0000000..1c44af0 --- /dev/null +++ b/sdk/nodejs/vpnConnection.ts @@ -0,0 +1,259 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * 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 + */ +export class VpnConnection extends pulumi.CustomResource { + /** + * Get an existing VpnConnection resource's state with the given name, ID, and optional extra + * properties used to qualify the lookup. + * + * @param name The _unique_ name of the resulting resource. + * @param id The _unique_ provider ID of the resource to lookup. + * @param state Any extra arguments used during the lookup. + * @param opts Optional settings to control the behavior of the CustomResource. + */ + public static get(name: string, id: pulumi.Input, state?: VpnConnectionState, opts?: pulumi.CustomResourceOptions): VpnConnection { + return new VpnConnection(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/vpnConnection:VpnConnection'; + + /** + * Returns true if the given object is an instance of VpnConnection. This is designed to work even + * when multiple copies of the Pulumi SDK have been loaded into the same process. + */ + public static isInstance(obj: any): obj is VpnConnection { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VpnConnection.__pulumiType; + } + + /** + * The server-generated UUID of the VPN connection. + */ + declare public /*out*/ readonly connectionId: pulumi.Output; + /** + * A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long. + */ + declare public readonly displayName: pulumi.Output; + /** + * Whether this connection is enabled. Defaults to true. + */ + declare public readonly enabled: pulumi.Output; + /** + * The UUID of the parent VPN gateway. + */ + declare public readonly gatewayId: pulumi.Output; + /** + * Map of custom labels. + */ + declare public readonly labels: pulumi.Output<{[key: string]: string} | undefined>; + /** + * 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. + */ + declare public readonly localSubnets: pulumi.Output; + /** + * STACKIT project ID. + */ + declare public readonly projectId: pulumi.Output; + /** + * STACKIT region. + */ + declare public readonly region: pulumi.Output; + /** + * 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. + */ + declare public readonly remoteSubnets: pulumi.Output; + /** + * List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways. + */ + declare public readonly staticRoutes: pulumi.Output; + /** + * Configuration for the IPsec tunnel1 + */ + declare public readonly tunnel1: pulumi.Output; + /** + * Configuration for the IPsec tunnel2 + * + * > Write-Only argument `preSharedKeyWo` is available to use in place of `preSharedKey`. 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). + */ + declare public readonly tunnel2: pulumi.Output; + + /** + * Create a VpnConnection resource with the given unique name, arguments, and options. + * + * @param name The _unique_ name of the resource. + * @param args The arguments to use to populate this resource's properties. + * @param opts A bag of options that control this resource's behavior. + */ + constructor(name: string, args: VpnConnectionArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: VpnConnectionArgs | VpnConnectionState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as VpnConnectionState | undefined; + resourceInputs["connectionId"] = state?.connectionId; + resourceInputs["displayName"] = state?.displayName; + resourceInputs["enabled"] = state?.enabled; + resourceInputs["gatewayId"] = state?.gatewayId; + resourceInputs["labels"] = state?.labels; + resourceInputs["localSubnets"] = state?.localSubnets; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; + resourceInputs["remoteSubnets"] = state?.remoteSubnets; + resourceInputs["staticRoutes"] = state?.staticRoutes; + resourceInputs["tunnel1"] = state?.tunnel1; + resourceInputs["tunnel2"] = state?.tunnel2; + } else { + const args = argsOrState as VpnConnectionArgs | undefined; + if (args?.displayName === undefined && !opts.urn) { + throw new Error("Missing required property 'displayName'"); + } + if (args?.gatewayId === undefined && !opts.urn) { + throw new Error("Missing required property 'gatewayId'"); + } + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + if (args?.tunnel1 === undefined && !opts.urn) { + throw new Error("Missing required property 'tunnel1'"); + } + if (args?.tunnel2 === undefined && !opts.urn) { + throw new Error("Missing required property 'tunnel2'"); + } + resourceInputs["displayName"] = args?.displayName; + resourceInputs["enabled"] = args?.enabled; + resourceInputs["gatewayId"] = args?.gatewayId; + resourceInputs["labels"] = args?.labels; + resourceInputs["localSubnets"] = args?.localSubnets; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + resourceInputs["remoteSubnets"] = args?.remoteSubnets; + resourceInputs["staticRoutes"] = args?.staticRoutes; + resourceInputs["tunnel1"] = args?.tunnel1; + resourceInputs["tunnel2"] = args?.tunnel2; + resourceInputs["connectionId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(VpnConnection.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering VpnConnection resources. + */ +export interface VpnConnectionState { + /** + * The server-generated UUID of the VPN connection. + */ + connectionId?: pulumi.Input; + /** + * A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long. + */ + displayName?: pulumi.Input; + /** + * Whether this connection is enabled. Defaults to true. + */ + enabled?: pulumi.Input; + /** + * The UUID of the parent VPN gateway. + */ + gatewayId?: pulumi.Input; + /** + * Map of custom labels. + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * 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. + */ + localSubnets?: pulumi.Input[] | undefined>; + /** + * STACKIT project ID. + */ + projectId?: pulumi.Input; + /** + * STACKIT region. + */ + region?: pulumi.Input; + /** + * 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. + */ + remoteSubnets?: pulumi.Input[] | undefined>; + /** + * List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways. + */ + staticRoutes?: pulumi.Input[] | undefined>; + /** + * Configuration for the IPsec tunnel1 + */ + tunnel1?: pulumi.Input; + /** + * Configuration for the IPsec tunnel2 + * + * > Write-Only argument `preSharedKeyWo` is available to use in place of `preSharedKey`. 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). + */ + tunnel2?: pulumi.Input; +} + +/** + * The set of arguments for constructing a VpnConnection resource. + */ +export interface VpnConnectionArgs { + /** + * A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long. + */ + displayName: pulumi.Input; + /** + * Whether this connection is enabled. Defaults to true. + */ + enabled?: pulumi.Input; + /** + * The UUID of the parent VPN gateway. + */ + gatewayId: pulumi.Input; + /** + * Map of custom labels. + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * 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. + */ + localSubnets?: pulumi.Input[] | undefined>; + /** + * STACKIT project ID. + */ + projectId: pulumi.Input; + /** + * STACKIT region. + */ + region?: pulumi.Input; + /** + * 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. + */ + remoteSubnets?: pulumi.Input[] | undefined>; + /** + * List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways. + */ + staticRoutes?: pulumi.Input[] | undefined>; + /** + * Configuration for the IPsec tunnel1 + */ + tunnel1: pulumi.Input; + /** + * Configuration for the IPsec tunnel2 + * + * > Write-Only argument `preSharedKeyWo` is available to use in place of `preSharedKey`. 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). + */ + tunnel2: pulumi.Input; +} diff --git a/sdk/python/pulumi_stackit/__init__.py b/sdk/python/pulumi_stackit/__init__.py index 2c564bb..929444a 100644 --- a/sdk/python/pulumi_stackit/__init__.py +++ b/sdk/python/pulumi_stackit/__init__.py @@ -123,7 +123,9 @@ from .get_telemetryrouter_destination import * from .get_telemetryrouter_instance import * from .get_volume import * +from .get_vpn_connection import * from .get_vpn_gateway import * +from .get_vpn_gateway_status import * from .git import * from .image import * from .intake_runner import * @@ -204,6 +206,7 @@ from .telemetryrouter_destination import * from .telemetryrouter_instance import * from .volume import * +from .vpn_connection import * from .vpn_gateway import * from ._inputs import * from . import outputs @@ -1002,6 +1005,14 @@ "stackit:index/volume:Volume": "Volume" } }, + { + "pkg": "stackit", + "mod": "index/vpnConnection", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/vpnConnection:VpnConnection": "VpnConnection" + } + }, { "pkg": "stackit", "mod": "index/vpnGateway", diff --git a/sdk/python/pulumi_stackit/_inputs.py b/sdk/python/pulumi_stackit/_inputs.py index e8688be..8da2b07 100644 --- a/sdk/python/pulumi_stackit/_inputs.py +++ b/sdk/python/pulumi_stackit/_inputs.py @@ -213,6 +213,10 @@ 'SfsExportPolicyRuleArgsDict', 'SfsResourcePoolSnapshotPolicyArgs', 'SfsResourcePoolSnapshotPolicyArgsDict', + 'SkeClusterAccessArgs', + 'SkeClusterAccessArgsDict', + 'SkeClusterAccessIdpArgs', + 'SkeClusterAccessIdpArgsDict', 'SkeClusterExtensionsArgs', 'SkeClusterExtensionsArgsDict', 'SkeClusterExtensionsAclArgs', @@ -263,6 +267,26 @@ 'VolumeEncryptionParametersArgsDict', 'VolumeSourceArgs', 'VolumeSourceArgsDict', + 'VpnConnectionTunnel1Args', + 'VpnConnectionTunnel1ArgsDict', + 'VpnConnectionTunnel1BgpArgs', + 'VpnConnectionTunnel1BgpArgsDict', + 'VpnConnectionTunnel1PeeringArgs', + 'VpnConnectionTunnel1PeeringArgsDict', + 'VpnConnectionTunnel1Phase1Args', + 'VpnConnectionTunnel1Phase1ArgsDict', + 'VpnConnectionTunnel1Phase2Args', + 'VpnConnectionTunnel1Phase2ArgsDict', + 'VpnConnectionTunnel2Args', + 'VpnConnectionTunnel2ArgsDict', + 'VpnConnectionTunnel2BgpArgs', + 'VpnConnectionTunnel2BgpArgsDict', + 'VpnConnectionTunnel2PeeringArgs', + 'VpnConnectionTunnel2PeeringArgsDict', + 'VpnConnectionTunnel2Phase1Args', + 'VpnConnectionTunnel2Phase1ArgsDict', + 'VpnConnectionTunnel2Phase2Args', + 'VpnConnectionTunnel2Phase2ArgsDict', 'VpnGatewayAvailabilityZonesArgs', 'VpnGatewayAvailabilityZonesArgsDict', 'VpnGatewayBgpArgs', @@ -8969,6 +8993,84 @@ def name(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "name", value) +class SkeClusterAccessArgsDict(TypedDict): + idp: NotRequired[pulumi.Input[Optional['SkeClusterAccessIdpArgsDict']]] + """ + Configure IDP + """ + +@pulumi.input_type +class SkeClusterAccessArgs: + def __init__(__self__, *, + idp: pulumi.Input[Optional['SkeClusterAccessIdpArgs']] = None): + """ + :param pulumi.Input['SkeClusterAccessIdpArgs'] idp: Configure IDP + """ + if idp is not None: + pulumi.set(__self__, "idp", idp) + + @_builtins.property + @pulumi.getter + def idp(self) -> pulumi.Input[Optional['SkeClusterAccessIdpArgs']]: + """ + Configure IDP + """ + return pulumi.get(self, "idp") + + @idp.setter + def idp(self, value: pulumi.Input[Optional['SkeClusterAccessIdpArgs']]): + pulumi.set(self, "idp", value) + + +class SkeClusterAccessIdpArgsDict(TypedDict): + enabled: NotRequired[pulumi.Input[Optional[_builtins.bool]]] + """ + Enable IDP integration for the cluster. + """ + type: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + The IDP type. Possible values: 'stackit'. + """ + +@pulumi.input_type +class SkeClusterAccessIdpArgs: + def __init__(__self__, *, + enabled: pulumi.Input[Optional[_builtins.bool]] = None, + type: pulumi.Input[Optional[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.bool] enabled: Enable IDP integration for the cluster. + :param pulumi.Input[_builtins.str] type: The IDP type. Possible values: 'stackit'. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if type is not None: + pulumi.set(__self__, "type", type) + + @_builtins.property + @pulumi.getter + def enabled(self) -> pulumi.Input[Optional[_builtins.bool]]: + """ + Enable IDP integration for the cluster. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "enabled", value) + + @_builtins.property + @pulumi.getter + def type(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The IDP type. Possible values: 'stackit'. + """ + return pulumi.get(self, "type") + + @type.setter + def type(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "type", value) + + class SkeClusterExtensionsArgsDict(TypedDict): acl: NotRequired[pulumi.Input[Optional['SkeClusterExtensionsAclArgsDict']]] """ @@ -10784,6 +10886,866 @@ def type(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "type", value) +class VpnConnectionTunnel1ArgsDict(TypedDict): + phase1: pulumi.Input['VpnConnectionTunnel1Phase1ArgsDict'] + phase2: pulumi.Input['VpnConnectionTunnel1Phase2ArgsDict'] + remote_address: pulumi.Input[_builtins.str] + """ + Remote IPv4 address for the tunnel endpoint. + """ + bgp: NotRequired[pulumi.Input[Optional['VpnConnectionTunnel1BgpArgsDict']]] + peering: NotRequired[pulumi.Input[Optional['VpnConnectionTunnel1PeeringArgsDict']]] + pre_shared_key: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `pre_shared_key_wo` should be preferred. + """ + pre_shared_key_wo: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + **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. + """ + pre_shared_key_wo_version: NotRequired[pulumi.Input[Optional[_builtins.int]]] + """ + 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. + """ + +@pulumi.input_type +class VpnConnectionTunnel1Args: + def __init__(__self__, *, + phase1: pulumi.Input['VpnConnectionTunnel1Phase1Args'], + phase2: pulumi.Input['VpnConnectionTunnel1Phase2Args'], + remote_address: pulumi.Input[_builtins.str], + bgp: pulumi.Input[Optional['VpnConnectionTunnel1BgpArgs']] = None, + peering: pulumi.Input[Optional['VpnConnectionTunnel1PeeringArgs']] = None, + pre_shared_key: pulumi.Input[Optional[_builtins.str]] = None, + pre_shared_key_wo: pulumi.Input[Optional[_builtins.str]] = None, + pre_shared_key_wo_version: pulumi.Input[Optional[_builtins.int]] = None): + """ + :param pulumi.Input[_builtins.str] remote_address: Remote IPv4 address for the tunnel endpoint. + :param pulumi.Input[_builtins.str] pre_shared_key: Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `pre_shared_key_wo` should be preferred. + :param pulumi.Input[_builtins.str] pre_shared_key_wo: **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. + :param pulumi.Input[_builtins.int] pre_shared_key_wo_version: 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. + """ + pulumi.set(__self__, "phase1", phase1) + pulumi.set(__self__, "phase2", phase2) + pulumi.set(__self__, "remote_address", remote_address) + if bgp is not None: + pulumi.set(__self__, "bgp", bgp) + if peering is not None: + pulumi.set(__self__, "peering", peering) + if pre_shared_key is not None: + pulumi.set(__self__, "pre_shared_key", pre_shared_key) + if pre_shared_key_wo is not None: + pulumi.set(__self__, "pre_shared_key_wo", pre_shared_key_wo) + if pre_shared_key_wo_version is not None: + pulumi.set(__self__, "pre_shared_key_wo_version", pre_shared_key_wo_version) + + @_builtins.property + @pulumi.getter + def phase1(self) -> pulumi.Input['VpnConnectionTunnel1Phase1Args']: + return pulumi.get(self, "phase1") + + @phase1.setter + def phase1(self, value: pulumi.Input['VpnConnectionTunnel1Phase1Args']): + pulumi.set(self, "phase1", value) + + @_builtins.property + @pulumi.getter + def phase2(self) -> pulumi.Input['VpnConnectionTunnel1Phase2Args']: + return pulumi.get(self, "phase2") + + @phase2.setter + def phase2(self, value: pulumi.Input['VpnConnectionTunnel1Phase2Args']): + pulumi.set(self, "phase2", value) + + @_builtins.property + @pulumi.getter(name="remoteAddress") + def remote_address(self) -> pulumi.Input[_builtins.str]: + """ + Remote IPv4 address for the tunnel endpoint. + """ + return pulumi.get(self, "remote_address") + + @remote_address.setter + def remote_address(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "remote_address", value) + + @_builtins.property + @pulumi.getter + def bgp(self) -> pulumi.Input[Optional['VpnConnectionTunnel1BgpArgs']]: + return pulumi.get(self, "bgp") + + @bgp.setter + def bgp(self, value: pulumi.Input[Optional['VpnConnectionTunnel1BgpArgs']]): + pulumi.set(self, "bgp", value) + + @_builtins.property + @pulumi.getter + def peering(self) -> pulumi.Input[Optional['VpnConnectionTunnel1PeeringArgs']]: + return pulumi.get(self, "peering") + + @peering.setter + def peering(self, value: pulumi.Input[Optional['VpnConnectionTunnel1PeeringArgs']]): + pulumi.set(self, "peering", value) + + @_builtins.property + @pulumi.getter(name="preSharedKey") + def pre_shared_key(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `pre_shared_key_wo` should be preferred. + """ + return pulumi.get(self, "pre_shared_key") + + @pre_shared_key.setter + def pre_shared_key(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "pre_shared_key", value) + + @_builtins.property + @pulumi.getter(name="preSharedKeyWo") + def pre_shared_key_wo(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + **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. + """ + return pulumi.get(self, "pre_shared_key_wo") + + @pre_shared_key_wo.setter + def pre_shared_key_wo(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "pre_shared_key_wo", value) + + @_builtins.property + @pulumi.getter(name="preSharedKeyWoVersion") + def pre_shared_key_wo_version(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + 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. + """ + return pulumi.get(self, "pre_shared_key_wo_version") + + @pre_shared_key_wo_version.setter + def pre_shared_key_wo_version(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "pre_shared_key_wo_version", value) + + +class VpnConnectionTunnel1BgpArgsDict(TypedDict): + remote_asn: pulumi.Input[_builtins.int] + """ + Remote ASN for BGP peering (private ASN range, 64512-4294967294). + """ + +@pulumi.input_type +class VpnConnectionTunnel1BgpArgs: + def __init__(__self__, *, + remote_asn: pulumi.Input[_builtins.int]): + """ + :param pulumi.Input[_builtins.int] remote_asn: Remote ASN for BGP peering (private ASN range, 64512-4294967294). + """ + pulumi.set(__self__, "remote_asn", remote_asn) + + @_builtins.property + @pulumi.getter(name="remoteAsn") + def remote_asn(self) -> pulumi.Input[_builtins.int]: + """ + Remote ASN for BGP peering (private ASN range, 64512-4294967294). + """ + return pulumi.get(self, "remote_asn") + + @remote_asn.setter + def remote_asn(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "remote_asn", value) + + +class VpnConnectionTunnel1PeeringArgsDict(TypedDict): + local_address: pulumi.Input[_builtins.str] + """ + Local tunnel interface IPv4 address. + """ + remote_address: pulumi.Input[_builtins.str] + """ + Remote tunnel interface IPv4 address. + """ + +@pulumi.input_type +class VpnConnectionTunnel1PeeringArgs: + def __init__(__self__, *, + local_address: pulumi.Input[_builtins.str], + remote_address: pulumi.Input[_builtins.str]): + """ + :param pulumi.Input[_builtins.str] local_address: Local tunnel interface IPv4 address. + :param pulumi.Input[_builtins.str] remote_address: Remote tunnel interface IPv4 address. + """ + pulumi.set(__self__, "local_address", local_address) + pulumi.set(__self__, "remote_address", remote_address) + + @_builtins.property + @pulumi.getter(name="localAddress") + def local_address(self) -> pulumi.Input[_builtins.str]: + """ + Local tunnel interface IPv4 address. + """ + return pulumi.get(self, "local_address") + + @local_address.setter + def local_address(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "local_address", value) + + @_builtins.property + @pulumi.getter(name="remoteAddress") + def remote_address(self) -> pulumi.Input[_builtins.str]: + """ + Remote tunnel interface IPv4 address. + """ + return pulumi.get(self, "remote_address") + + @remote_address.setter + def remote_address(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "remote_address", value) + + +class VpnConnectionTunnel1Phase1ArgsDict(TypedDict): + encryption_algorithms: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] + """ + Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + """ + integrity_algorithms: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] + """ + Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2_256`, `sha2_384`. + """ + dh_groups: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]] + """ + Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + """ + rekey_time: NotRequired[pulumi.Input[Optional[_builtins.int]]] + """ + Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. + """ + +@pulumi.input_type +class VpnConnectionTunnel1Phase1Args: + def __init__(__self__, *, + encryption_algorithms: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], + integrity_algorithms: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], + dh_groups: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + rekey_time: pulumi.Input[Optional[_builtins.int]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] encryption_algorithms: Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] integrity_algorithms: Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2_256`, `sha2_384`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] dh_groups: Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + :param pulumi.Input[_builtins.int] rekey_time: Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. + """ + pulumi.set(__self__, "encryption_algorithms", encryption_algorithms) + pulumi.set(__self__, "integrity_algorithms", integrity_algorithms) + if dh_groups is not None: + pulumi.set(__self__, "dh_groups", dh_groups) + if rekey_time is not None: + pulumi.set(__self__, "rekey_time", rekey_time) + + @_builtins.property + @pulumi.getter(name="encryptionAlgorithms") + def encryption_algorithms(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: + """ + Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + """ + return pulumi.get(self, "encryption_algorithms") + + @encryption_algorithms.setter + def encryption_algorithms(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): + pulumi.set(self, "encryption_algorithms", value) + + @_builtins.property + @pulumi.getter(name="integrityAlgorithms") + def integrity_algorithms(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: + """ + Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2_256`, `sha2_384`. + """ + return pulumi.get(self, "integrity_algorithms") + + @integrity_algorithms.setter + def integrity_algorithms(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): + pulumi.set(self, "integrity_algorithms", value) + + @_builtins.property + @pulumi.getter(name="dhGroups") + def dh_groups(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + """ + return pulumi.get(self, "dh_groups") + + @dh_groups.setter + def dh_groups(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "dh_groups", value) + + @_builtins.property + @pulumi.getter(name="rekeyTime") + def rekey_time(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. + """ + return pulumi.get(self, "rekey_time") + + @rekey_time.setter + def rekey_time(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "rekey_time", value) + + +class VpnConnectionTunnel1Phase2ArgsDict(TypedDict): + encryption_algorithms: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] + """ + Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + """ + integrity_algorithms: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] + """ + Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2_256`, `sha2_384`. + """ + dh_groups: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]] + """ + Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + """ + dpd_action: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. + """ + rekey_time: NotRequired[pulumi.Input[Optional[_builtins.int]]] + """ + Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + """ + start_action: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. + """ + +@pulumi.input_type +class VpnConnectionTunnel1Phase2Args: + def __init__(__self__, *, + encryption_algorithms: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], + integrity_algorithms: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], + dh_groups: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + dpd_action: pulumi.Input[Optional[_builtins.str]] = None, + rekey_time: pulumi.Input[Optional[_builtins.int]] = None, + start_action: pulumi.Input[Optional[_builtins.str]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] encryption_algorithms: Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] integrity_algorithms: Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2_256`, `sha2_384`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] dh_groups: Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + :param pulumi.Input[_builtins.str] dpd_action: Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. + :param pulumi.Input[_builtins.int] rekey_time: Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + :param pulumi.Input[_builtins.str] start_action: Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. + """ + pulumi.set(__self__, "encryption_algorithms", encryption_algorithms) + pulumi.set(__self__, "integrity_algorithms", integrity_algorithms) + if dh_groups is not None: + pulumi.set(__self__, "dh_groups", dh_groups) + if dpd_action is not None: + pulumi.set(__self__, "dpd_action", dpd_action) + if rekey_time is not None: + pulumi.set(__self__, "rekey_time", rekey_time) + if start_action is not None: + pulumi.set(__self__, "start_action", start_action) + + @_builtins.property + @pulumi.getter(name="encryptionAlgorithms") + def encryption_algorithms(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: + """ + Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + """ + return pulumi.get(self, "encryption_algorithms") + + @encryption_algorithms.setter + def encryption_algorithms(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): + pulumi.set(self, "encryption_algorithms", value) + + @_builtins.property + @pulumi.getter(name="integrityAlgorithms") + def integrity_algorithms(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: + """ + Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2_256`, `sha2_384`. + """ + return pulumi.get(self, "integrity_algorithms") + + @integrity_algorithms.setter + def integrity_algorithms(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): + pulumi.set(self, "integrity_algorithms", value) + + @_builtins.property + @pulumi.getter(name="dhGroups") + def dh_groups(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + """ + return pulumi.get(self, "dh_groups") + + @dh_groups.setter + def dh_groups(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "dh_groups", value) + + @_builtins.property + @pulumi.getter(name="dpdAction") + def dpd_action(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. + """ + return pulumi.get(self, "dpd_action") + + @dpd_action.setter + def dpd_action(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "dpd_action", value) + + @_builtins.property + @pulumi.getter(name="rekeyTime") + def rekey_time(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + """ + return pulumi.get(self, "rekey_time") + + @rekey_time.setter + def rekey_time(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "rekey_time", value) + + @_builtins.property + @pulumi.getter(name="startAction") + def start_action(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. + """ + return pulumi.get(self, "start_action") + + @start_action.setter + def start_action(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "start_action", value) + + +class VpnConnectionTunnel2ArgsDict(TypedDict): + phase1: pulumi.Input['VpnConnectionTunnel2Phase1ArgsDict'] + phase2: pulumi.Input['VpnConnectionTunnel2Phase2ArgsDict'] + remote_address: pulumi.Input[_builtins.str] + """ + Remote IPv4 address for the tunnel endpoint. + """ + bgp: NotRequired[pulumi.Input[Optional['VpnConnectionTunnel2BgpArgsDict']]] + peering: NotRequired[pulumi.Input[Optional['VpnConnectionTunnel2PeeringArgsDict']]] + pre_shared_key: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `pre_shared_key_wo` should be preferred. + """ + pre_shared_key_wo: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + **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. + """ + pre_shared_key_wo_version: NotRequired[pulumi.Input[Optional[_builtins.int]]] + """ + 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. + """ + +@pulumi.input_type +class VpnConnectionTunnel2Args: + def __init__(__self__, *, + phase1: pulumi.Input['VpnConnectionTunnel2Phase1Args'], + phase2: pulumi.Input['VpnConnectionTunnel2Phase2Args'], + remote_address: pulumi.Input[_builtins.str], + bgp: pulumi.Input[Optional['VpnConnectionTunnel2BgpArgs']] = None, + peering: pulumi.Input[Optional['VpnConnectionTunnel2PeeringArgs']] = None, + pre_shared_key: pulumi.Input[Optional[_builtins.str]] = None, + pre_shared_key_wo: pulumi.Input[Optional[_builtins.str]] = None, + pre_shared_key_wo_version: pulumi.Input[Optional[_builtins.int]] = None): + """ + :param pulumi.Input[_builtins.str] remote_address: Remote IPv4 address for the tunnel endpoint. + :param pulumi.Input[_builtins.str] pre_shared_key: Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `pre_shared_key_wo` should be preferred. + :param pulumi.Input[_builtins.str] pre_shared_key_wo: **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. + :param pulumi.Input[_builtins.int] pre_shared_key_wo_version: 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. + """ + pulumi.set(__self__, "phase1", phase1) + pulumi.set(__self__, "phase2", phase2) + pulumi.set(__self__, "remote_address", remote_address) + if bgp is not None: + pulumi.set(__self__, "bgp", bgp) + if peering is not None: + pulumi.set(__self__, "peering", peering) + if pre_shared_key is not None: + pulumi.set(__self__, "pre_shared_key", pre_shared_key) + if pre_shared_key_wo is not None: + pulumi.set(__self__, "pre_shared_key_wo", pre_shared_key_wo) + if pre_shared_key_wo_version is not None: + pulumi.set(__self__, "pre_shared_key_wo_version", pre_shared_key_wo_version) + + @_builtins.property + @pulumi.getter + def phase1(self) -> pulumi.Input['VpnConnectionTunnel2Phase1Args']: + return pulumi.get(self, "phase1") + + @phase1.setter + def phase1(self, value: pulumi.Input['VpnConnectionTunnel2Phase1Args']): + pulumi.set(self, "phase1", value) + + @_builtins.property + @pulumi.getter + def phase2(self) -> pulumi.Input['VpnConnectionTunnel2Phase2Args']: + return pulumi.get(self, "phase2") + + @phase2.setter + def phase2(self, value: pulumi.Input['VpnConnectionTunnel2Phase2Args']): + pulumi.set(self, "phase2", value) + + @_builtins.property + @pulumi.getter(name="remoteAddress") + def remote_address(self) -> pulumi.Input[_builtins.str]: + """ + Remote IPv4 address for the tunnel endpoint. + """ + return pulumi.get(self, "remote_address") + + @remote_address.setter + def remote_address(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "remote_address", value) + + @_builtins.property + @pulumi.getter + def bgp(self) -> pulumi.Input[Optional['VpnConnectionTunnel2BgpArgs']]: + return pulumi.get(self, "bgp") + + @bgp.setter + def bgp(self, value: pulumi.Input[Optional['VpnConnectionTunnel2BgpArgs']]): + pulumi.set(self, "bgp", value) + + @_builtins.property + @pulumi.getter + def peering(self) -> pulumi.Input[Optional['VpnConnectionTunnel2PeeringArgs']]: + return pulumi.get(self, "peering") + + @peering.setter + def peering(self, value: pulumi.Input[Optional['VpnConnectionTunnel2PeeringArgs']]): + pulumi.set(self, "peering", value) + + @_builtins.property + @pulumi.getter(name="preSharedKey") + def pre_shared_key(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `pre_shared_key_wo` should be preferred. + """ + return pulumi.get(self, "pre_shared_key") + + @pre_shared_key.setter + def pre_shared_key(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "pre_shared_key", value) + + @_builtins.property + @pulumi.getter(name="preSharedKeyWo") + def pre_shared_key_wo(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + **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. + """ + return pulumi.get(self, "pre_shared_key_wo") + + @pre_shared_key_wo.setter + def pre_shared_key_wo(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "pre_shared_key_wo", value) + + @_builtins.property + @pulumi.getter(name="preSharedKeyWoVersion") + def pre_shared_key_wo_version(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + 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. + """ + return pulumi.get(self, "pre_shared_key_wo_version") + + @pre_shared_key_wo_version.setter + def pre_shared_key_wo_version(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "pre_shared_key_wo_version", value) + + +class VpnConnectionTunnel2BgpArgsDict(TypedDict): + remote_asn: pulumi.Input[_builtins.int] + """ + Remote ASN for BGP peering (private ASN range, 64512-4294967294). + """ + +@pulumi.input_type +class VpnConnectionTunnel2BgpArgs: + def __init__(__self__, *, + remote_asn: pulumi.Input[_builtins.int]): + """ + :param pulumi.Input[_builtins.int] remote_asn: Remote ASN for BGP peering (private ASN range, 64512-4294967294). + """ + pulumi.set(__self__, "remote_asn", remote_asn) + + @_builtins.property + @pulumi.getter(name="remoteAsn") + def remote_asn(self) -> pulumi.Input[_builtins.int]: + """ + Remote ASN for BGP peering (private ASN range, 64512-4294967294). + """ + return pulumi.get(self, "remote_asn") + + @remote_asn.setter + def remote_asn(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "remote_asn", value) + + +class VpnConnectionTunnel2PeeringArgsDict(TypedDict): + local_address: pulumi.Input[_builtins.str] + """ + Local tunnel interface IPv4 address. + """ + remote_address: pulumi.Input[_builtins.str] + """ + Remote tunnel interface IPv4 address. + """ + +@pulumi.input_type +class VpnConnectionTunnel2PeeringArgs: + def __init__(__self__, *, + local_address: pulumi.Input[_builtins.str], + remote_address: pulumi.Input[_builtins.str]): + """ + :param pulumi.Input[_builtins.str] local_address: Local tunnel interface IPv4 address. + :param pulumi.Input[_builtins.str] remote_address: Remote tunnel interface IPv4 address. + """ + pulumi.set(__self__, "local_address", local_address) + pulumi.set(__self__, "remote_address", remote_address) + + @_builtins.property + @pulumi.getter(name="localAddress") + def local_address(self) -> pulumi.Input[_builtins.str]: + """ + Local tunnel interface IPv4 address. + """ + return pulumi.get(self, "local_address") + + @local_address.setter + def local_address(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "local_address", value) + + @_builtins.property + @pulumi.getter(name="remoteAddress") + def remote_address(self) -> pulumi.Input[_builtins.str]: + """ + Remote tunnel interface IPv4 address. + """ + return pulumi.get(self, "remote_address") + + @remote_address.setter + def remote_address(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "remote_address", value) + + +class VpnConnectionTunnel2Phase1ArgsDict(TypedDict): + encryption_algorithms: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] + """ + Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + """ + integrity_algorithms: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] + """ + Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2_256`, `sha2_384`. + """ + dh_groups: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]] + """ + Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + """ + rekey_time: NotRequired[pulumi.Input[Optional[_builtins.int]]] + """ + Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. + """ + +@pulumi.input_type +class VpnConnectionTunnel2Phase1Args: + def __init__(__self__, *, + encryption_algorithms: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], + integrity_algorithms: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], + dh_groups: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + rekey_time: pulumi.Input[Optional[_builtins.int]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] encryption_algorithms: Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] integrity_algorithms: Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2_256`, `sha2_384`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] dh_groups: Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + :param pulumi.Input[_builtins.int] rekey_time: Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. + """ + pulumi.set(__self__, "encryption_algorithms", encryption_algorithms) + pulumi.set(__self__, "integrity_algorithms", integrity_algorithms) + if dh_groups is not None: + pulumi.set(__self__, "dh_groups", dh_groups) + if rekey_time is not None: + pulumi.set(__self__, "rekey_time", rekey_time) + + @_builtins.property + @pulumi.getter(name="encryptionAlgorithms") + def encryption_algorithms(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: + """ + Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + """ + return pulumi.get(self, "encryption_algorithms") + + @encryption_algorithms.setter + def encryption_algorithms(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): + pulumi.set(self, "encryption_algorithms", value) + + @_builtins.property + @pulumi.getter(name="integrityAlgorithms") + def integrity_algorithms(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: + """ + Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2_256`, `sha2_384`. + """ + return pulumi.get(self, "integrity_algorithms") + + @integrity_algorithms.setter + def integrity_algorithms(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): + pulumi.set(self, "integrity_algorithms", value) + + @_builtins.property + @pulumi.getter(name="dhGroups") + def dh_groups(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + """ + return pulumi.get(self, "dh_groups") + + @dh_groups.setter + def dh_groups(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "dh_groups", value) + + @_builtins.property + @pulumi.getter(name="rekeyTime") + def rekey_time(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. + """ + return pulumi.get(self, "rekey_time") + + @rekey_time.setter + def rekey_time(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "rekey_time", value) + + +class VpnConnectionTunnel2Phase2ArgsDict(TypedDict): + encryption_algorithms: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] + """ + Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + """ + integrity_algorithms: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] + """ + Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2_256`, `sha2_384`. + """ + dh_groups: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]] + """ + Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + """ + dpd_action: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. + """ + rekey_time: NotRequired[pulumi.Input[Optional[_builtins.int]]] + """ + Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + """ + start_action: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. + """ + +@pulumi.input_type +class VpnConnectionTunnel2Phase2Args: + def __init__(__self__, *, + encryption_algorithms: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], + integrity_algorithms: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], + dh_groups: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + dpd_action: pulumi.Input[Optional[_builtins.str]] = None, + rekey_time: pulumi.Input[Optional[_builtins.int]] = None, + start_action: pulumi.Input[Optional[_builtins.str]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] encryption_algorithms: Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] integrity_algorithms: Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2_256`, `sha2_384`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] dh_groups: Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + :param pulumi.Input[_builtins.str] dpd_action: Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. + :param pulumi.Input[_builtins.int] rekey_time: Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + :param pulumi.Input[_builtins.str] start_action: Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. + """ + pulumi.set(__self__, "encryption_algorithms", encryption_algorithms) + pulumi.set(__self__, "integrity_algorithms", integrity_algorithms) + if dh_groups is not None: + pulumi.set(__self__, "dh_groups", dh_groups) + if dpd_action is not None: + pulumi.set(__self__, "dpd_action", dpd_action) + if rekey_time is not None: + pulumi.set(__self__, "rekey_time", rekey_time) + if start_action is not None: + pulumi.set(__self__, "start_action", start_action) + + @_builtins.property + @pulumi.getter(name="encryptionAlgorithms") + def encryption_algorithms(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: + """ + Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + """ + return pulumi.get(self, "encryption_algorithms") + + @encryption_algorithms.setter + def encryption_algorithms(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): + pulumi.set(self, "encryption_algorithms", value) + + @_builtins.property + @pulumi.getter(name="integrityAlgorithms") + def integrity_algorithms(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: + """ + Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2_256`, `sha2_384`. + """ + return pulumi.get(self, "integrity_algorithms") + + @integrity_algorithms.setter + def integrity_algorithms(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): + pulumi.set(self, "integrity_algorithms", value) + + @_builtins.property + @pulumi.getter(name="dhGroups") + def dh_groups(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + """ + return pulumi.get(self, "dh_groups") + + @dh_groups.setter + def dh_groups(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "dh_groups", value) + + @_builtins.property + @pulumi.getter(name="dpdAction") + def dpd_action(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. + """ + return pulumi.get(self, "dpd_action") + + @dpd_action.setter + def dpd_action(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "dpd_action", value) + + @_builtins.property + @pulumi.getter(name="rekeyTime") + def rekey_time(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + """ + return pulumi.get(self, "rekey_time") + + @rekey_time.setter + def rekey_time(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "rekey_time", value) + + @_builtins.property + @pulumi.getter(name="startAction") + def start_action(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. + """ + return pulumi.get(self, "start_action") + + @start_action.setter + def start_action(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "start_action", value) + + class VpnGatewayAvailabilityZonesArgsDict(TypedDict): tunnel1: pulumi.Input[_builtins.str] """ diff --git a/sdk/python/pulumi_stackit/get_intake_runner.py b/sdk/python/pulumi_stackit/get_intake_runner.py index 3a62ced..56104c0 100644 --- a/sdk/python/pulumi_stackit/get_intake_runner.py +++ b/sdk/python/pulumi_stackit/get_intake_runner.py @@ -26,7 +26,10 @@ class GetIntakeRunnerResult: """ A collection of values returned by getIntakeRunner. """ - def __init__(__self__, description=None, id=None, labels=None, max_message_size_kib=None, max_messages_per_hour=None, name=None, project_id=None, region=None, runner_id=None): + def __init__(__self__, create_time=None, description=None, id=None, labels=None, max_message_size_kib=None, max_messages_per_hour=None, name=None, project_id=None, region=None, runner_id=None, uri=None): + if create_time and not isinstance(create_time, str): + raise TypeError("Expected argument 'create_time' to be a str") + pulumi.set(__self__, "create_time", create_time) if description and not isinstance(description, str): raise TypeError("Expected argument 'description' to be a str") pulumi.set(__self__, "description", description) @@ -54,6 +57,17 @@ def __init__(__self__, description=None, id=None, labels=None, max_message_size_ if runner_id and not isinstance(runner_id, str): raise TypeError("Expected argument 'runner_id' to be a str") pulumi.set(__self__, "runner_id", runner_id) + if uri and not isinstance(uri, str): + raise TypeError("Expected argument 'uri' to be a str") + pulumi.set(__self__, "uri", uri) + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> _builtins.str: + """ + The creation time of the runner. + """ + return pulumi.get(self, "create_time") @_builtins.property @pulumi.getter @@ -127,6 +141,14 @@ def runner_id(self) -> _builtins.str: """ return pulumi.get(self, "runner_id") + @_builtins.property + @pulumi.getter + def uri(self) -> _builtins.str: + """ + The URI of the runner. + """ + return pulumi.get(self, "uri") + class AwaitableGetIntakeRunnerResult(GetIntakeRunnerResult): # pylint: disable=using-constant-test @@ -134,6 +156,7 @@ def __await__(self): if False: yield self return GetIntakeRunnerResult( + create_time=self.create_time, description=self.description, id=self.id, labels=self.labels, @@ -142,7 +165,8 @@ def __await__(self): name=self.name, project_id=self.project_id, region=self.region, - runner_id=self.runner_id) + runner_id=self.runner_id, + uri=self.uri) def get_intake_runner(project_id: Optional[_builtins.str] = None, @@ -167,6 +191,7 @@ def get_intake_runner(project_id: Optional[_builtins.str] = None, __ret__ = pulumi.runtime.invoke('stackit:index/getIntakeRunner:getIntakeRunner', __args__, opts=opts, typ=GetIntakeRunnerResult).value return AwaitableGetIntakeRunnerResult( + create_time=pulumi.get(__ret__, 'create_time'), description=pulumi.get(__ret__, 'description'), id=pulumi.get(__ret__, 'id'), labels=pulumi.get(__ret__, 'labels'), @@ -175,7 +200,8 @@ def get_intake_runner(project_id: Optional[_builtins.str] = None, name=pulumi.get(__ret__, 'name'), project_id=pulumi.get(__ret__, 'project_id'), region=pulumi.get(__ret__, 'region'), - runner_id=pulumi.get(__ret__, 'runner_id')) + runner_id=pulumi.get(__ret__, 'runner_id'), + uri=pulumi.get(__ret__, 'uri')) def get_intake_runner_output(project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, runner_id: pulumi.Input[Optional[_builtins.str]] = None, @@ -197,6 +223,7 @@ def get_intake_runner_output(project_id: pulumi.Input[Optional[_builtins.str]] = opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('stackit:index/getIntakeRunner:getIntakeRunner', __args__, opts=opts, typ=GetIntakeRunnerResult) return __ret__.apply(lambda __response__: GetIntakeRunnerResult( + create_time=pulumi.get(__response__, 'create_time'), description=pulumi.get(__response__, 'description'), id=pulumi.get(__response__, 'id'), labels=pulumi.get(__response__, 'labels'), @@ -205,4 +232,5 @@ def get_intake_runner_output(project_id: pulumi.Input[Optional[_builtins.str]] = name=pulumi.get(__response__, 'name'), project_id=pulumi.get(__response__, 'project_id'), region=pulumi.get(__response__, 'region'), - runner_id=pulumi.get(__response__, 'runner_id'))) + runner_id=pulumi.get(__response__, 'runner_id'), + uri=pulumi.get(__response__, 'uri'))) diff --git a/sdk/python/pulumi_stackit/get_loadbalancer.py b/sdk/python/pulumi_stackit/get_loadbalancer.py index bd22080..5fbbc58 100644 --- a/sdk/python/pulumi_stackit/get_loadbalancer.py +++ b/sdk/python/pulumi_stackit/get_loadbalancer.py @@ -27,7 +27,7 @@ class GetLoadbalancerResult: """ A collection of values returned by getLoadbalancer. """ - def __init__(__self__, disable_security_group_assignment=None, external_address=None, id=None, listeners=None, name=None, networks=None, options=None, plan_id=None, private_address=None, project_id=None, region=None, security_group_id=None, target_pools=None, version=None): + def __init__(__self__, disable_security_group_assignment=None, external_address=None, id=None, listeners=None, load_balancer_security_group_id=None, name=None, networks=None, options=None, plan_id=None, private_address=None, project_id=None, region=None, security_group_id=None, target_pools=None, version=None): if disable_security_group_assignment and not isinstance(disable_security_group_assignment, bool): raise TypeError("Expected argument 'disable_security_group_assignment' to be a bool") pulumi.set(__self__, "disable_security_group_assignment", disable_security_group_assignment) @@ -40,6 +40,9 @@ def __init__(__self__, disable_security_group_assignment=None, external_address= if listeners and not isinstance(listeners, list): raise TypeError("Expected argument 'listeners' to be a list") pulumi.set(__self__, "listeners", listeners) + if load_balancer_security_group_id and not isinstance(load_balancer_security_group_id, str): + raise TypeError("Expected argument 'load_balancer_security_group_id' to be a str") + pulumi.set(__self__, "load_balancer_security_group_id", load_balancer_security_group_id) if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) @@ -103,6 +106,14 @@ def listeners(self) -> Sequence['outputs.GetLoadbalancerListenerResult']: """ return pulumi.get(self, "listeners") + @_builtins.property + @pulumi.getter(name="loadBalancerSecurityGroupId") + def load_balancer_security_group_id(self) -> _builtins.str: + """ + 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 `remote_security_group_id` of that rule to this value. This is typically used when `disable_security_group_assignment` is set to `true`. + """ + return pulumi.get(self, "load_balancer_security_group_id") + @_builtins.property @pulumi.getter def name(self) -> _builtins.str: @@ -163,7 +174,7 @@ def region(self) -> Optional[_builtins.str]: @pulumi.getter(name="securityGroupId") def security_group_id(self) -> _builtins.str: """ - 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 `remote_security_group_id` of that rule to this value. This is typically used when `disable_security_group_assignment` 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. """ return pulumi.get(self, "security_group_id") @@ -194,6 +205,7 @@ def __await__(self): external_address=self.external_address, id=self.id, listeners=self.listeners, + load_balancer_security_group_id=self.load_balancer_security_group_id, name=self.name, networks=self.networks, options=self.options, @@ -232,6 +244,7 @@ def get_loadbalancer(name: Optional[_builtins.str] = None, external_address=pulumi.get(__ret__, 'external_address'), id=pulumi.get(__ret__, 'id'), listeners=pulumi.get(__ret__, 'listeners'), + load_balancer_security_group_id=pulumi.get(__ret__, 'load_balancer_security_group_id'), name=pulumi.get(__ret__, 'name'), networks=pulumi.get(__ret__, 'networks'), options=pulumi.get(__ret__, 'options'), @@ -267,6 +280,7 @@ def get_loadbalancer_output(name: pulumi.Input[Optional[_builtins.str]] = None, external_address=pulumi.get(__response__, 'external_address'), id=pulumi.get(__response__, 'id'), listeners=pulumi.get(__response__, 'listeners'), + load_balancer_security_group_id=pulumi.get(__response__, 'load_balancer_security_group_id'), name=pulumi.get(__response__, 'name'), networks=pulumi.get(__response__, 'networks'), options=pulumi.get(__response__, 'options'), diff --git a/sdk/python/pulumi_stackit/get_ske_cluster.py b/sdk/python/pulumi_stackit/get_ske_cluster.py index f75657e..bb2f89b 100644 --- a/sdk/python/pulumi_stackit/get_ske_cluster.py +++ b/sdk/python/pulumi_stackit/get_ske_cluster.py @@ -27,7 +27,10 @@ class GetSkeClusterResult: """ A collection of values returned by getSkeCluster. """ - def __init__(__self__, egress_address_ranges=None, extensions=None, hibernations=None, id=None, kubernetes_version_min=None, kubernetes_version_used=None, maintenance=None, name=None, network=None, node_pools=None, pod_address_ranges=None, project_id=None, region=None): + def __init__(__self__, access=None, egress_address_ranges=None, extensions=None, hibernations=None, id=None, kubernetes_version_min=None, kubernetes_version_used=None, maintenance=None, name=None, network=None, node_pools=None, pod_address_ranges=None, project_id=None, region=None): + if access and not isinstance(access, dict): + raise TypeError("Expected argument 'access' to be a dict") + pulumi.set(__self__, "access", access) if egress_address_ranges and not isinstance(egress_address_ranges, list): raise TypeError("Expected argument 'egress_address_ranges' to be a list") pulumi.set(__self__, "egress_address_ranges", egress_address_ranges) @@ -68,6 +71,14 @@ def __init__(__self__, egress_address_ranges=None, extensions=None, hibernations raise TypeError("Expected argument 'region' to be a str") pulumi.set(__self__, "region", region) + @_builtins.property + @pulumi.getter + def access(self) -> 'outputs.GetSkeClusterAccessResult': + """ + Configure access to the cluster + """ + return pulumi.get(self, "access") + @_builtins.property @pulumi.getter(name="egressAddressRanges") def egress_address_ranges(self) -> Sequence[_builtins.str]: @@ -179,6 +190,7 @@ def __await__(self): if False: yield self return GetSkeClusterResult( + access=self.access, egress_address_ranges=self.egress_address_ranges, extensions=self.extensions, hibernations=self.hibernations, @@ -216,6 +228,7 @@ def get_ske_cluster(name: Optional[_builtins.str] = None, __ret__ = pulumi.runtime.invoke('stackit:index/getSkeCluster:getSkeCluster', __args__, opts=opts, typ=GetSkeClusterResult).value return AwaitableGetSkeClusterResult( + access=pulumi.get(__ret__, 'access'), egress_address_ranges=pulumi.get(__ret__, 'egress_address_ranges'), extensions=pulumi.get(__ret__, 'extensions'), hibernations=pulumi.get(__ret__, 'hibernations'), @@ -250,6 +263,7 @@ def get_ske_cluster_output(name: pulumi.Input[Optional[_builtins.str]] = None, opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) __ret__ = pulumi.runtime.invoke_output('stackit:index/getSkeCluster:getSkeCluster', __args__, opts=opts, typ=GetSkeClusterResult) return __ret__.apply(lambda __response__: GetSkeClusterResult( + access=pulumi.get(__response__, 'access'), egress_address_ranges=pulumi.get(__response__, 'egress_address_ranges'), extensions=pulumi.get(__response__, 'extensions'), hibernations=pulumi.get(__response__, 'hibernations'), diff --git a/sdk/python/pulumi_stackit/get_vpn_connection.py b/sdk/python/pulumi_stackit/get_vpn_connection.py new file mode 100644 index 0000000..a684a60 --- /dev/null +++ b/sdk/python/pulumi_stackit/get_vpn_connection.py @@ -0,0 +1,259 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities +from . import outputs + +__all__ = [ + 'GetVpnConnectionResult', + 'AwaitableGetVpnConnectionResult', + 'get_vpn_connection', + 'get_vpn_connection_output', +] + +@pulumi.output_type +class GetVpnConnectionResult: + """ + A collection of values returned by getVpnConnection. + """ + def __init__(__self__, connection_id=None, display_name=None, enabled=None, gateway_id=None, id=None, labels=None, local_subnets=None, project_id=None, region=None, remote_subnets=None, static_routes=None, tunnel1=None, tunnel2=None): + if connection_id and not isinstance(connection_id, str): + raise TypeError("Expected argument 'connection_id' to be a str") + pulumi.set(__self__, "connection_id", connection_id) + if display_name and not isinstance(display_name, str): + raise TypeError("Expected argument 'display_name' to be a str") + pulumi.set(__self__, "display_name", display_name) + if enabled and not isinstance(enabled, bool): + raise TypeError("Expected argument 'enabled' to be a bool") + pulumi.set(__self__, "enabled", enabled) + if gateway_id and not isinstance(gateway_id, str): + raise TypeError("Expected argument 'gateway_id' to be a str") + pulumi.set(__self__, "gateway_id", gateway_id) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if labels and not isinstance(labels, dict): + raise TypeError("Expected argument 'labels' to be a dict") + pulumi.set(__self__, "labels", labels) + if local_subnets and not isinstance(local_subnets, list): + raise TypeError("Expected argument 'local_subnets' to be a list") + pulumi.set(__self__, "local_subnets", local_subnets) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if remote_subnets and not isinstance(remote_subnets, list): + raise TypeError("Expected argument 'remote_subnets' to be a list") + pulumi.set(__self__, "remote_subnets", remote_subnets) + if static_routes and not isinstance(static_routes, list): + raise TypeError("Expected argument 'static_routes' to be a list") + pulumi.set(__self__, "static_routes", static_routes) + if tunnel1 and not isinstance(tunnel1, dict): + raise TypeError("Expected argument 'tunnel1' to be a dict") + pulumi.set(__self__, "tunnel1", tunnel1) + if tunnel2 and not isinstance(tunnel2, dict): + raise TypeError("Expected argument 'tunnel2' to be a dict") + pulumi.set(__self__, "tunnel2", tunnel2) + + @_builtins.property + @pulumi.getter(name="connectionId") + def connection_id(self) -> _builtins.str: + """ + The server-generated UUID of the VPN connection. + """ + return pulumi.get(self, "connection_id") + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> _builtins.str: + """ + A user-friendly name for the connection. + """ + return pulumi.get(self, "display_name") + + @_builtins.property + @pulumi.getter + def enabled(self) -> _builtins.bool: + """ + Whether this connection is enabled. + """ + return pulumi.get(self, "enabled") + + @_builtins.property + @pulumi.getter(name="gatewayId") + def gateway_id(self) -> _builtins.str: + """ + The UUID of the parent VPN gateway. + """ + return pulumi.get(self, "gateway_id") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + Terraform's internal resource identifier. Structured as "`project_id`,`region`,`gateway_id`,`connection_id`". + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter + def labels(self) -> Mapping[str, _builtins.str]: + """ + Map of custom labels. + """ + return pulumi.get(self, "labels") + + @_builtins.property + @pulumi.getter(name="localSubnets") + def local_subnets(self) -> Sequence[_builtins.str]: + """ + List of local IPv4 CIDRs to route through this connection. + """ + return pulumi.get(self, "local_subnets") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT project ID. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: + """ + STACKIT region. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter(name="remoteSubnets") + def remote_subnets(self) -> Sequence[_builtins.str]: + """ + List of remote IPv4 CIDRs accessible via this connection. + """ + return pulumi.get(self, "remote_subnets") + + @_builtins.property + @pulumi.getter(name="staticRoutes") + def static_routes(self) -> Sequence[_builtins.str]: + """ + List of static routes (IPv4 CIDRs) for route-based VPN. + """ + return pulumi.get(self, "static_routes") + + @_builtins.property + @pulumi.getter + def tunnel1(self) -> 'outputs.GetVpnConnectionTunnel1Result': + return pulumi.get(self, "tunnel1") + + @_builtins.property + @pulumi.getter + def tunnel2(self) -> 'outputs.GetVpnConnectionTunnel2Result': + return pulumi.get(self, "tunnel2") + + +class AwaitableGetVpnConnectionResult(GetVpnConnectionResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVpnConnectionResult( + connection_id=self.connection_id, + display_name=self.display_name, + enabled=self.enabled, + gateway_id=self.gateway_id, + id=self.id, + labels=self.labels, + local_subnets=self.local_subnets, + project_id=self.project_id, + region=self.region, + remote_subnets=self.remote_subnets, + static_routes=self.static_routes, + tunnel1=self.tunnel1, + tunnel2=self.tunnel2) + + +def get_vpn_connection(connection_id: Optional[_builtins.str] = None, + gateway_id: Optional[_builtins.str] = None, + project_id: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVpnConnectionResult: + """ + VPN Connection data source schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on datasource level. + + ## Example Usage + + + :param _builtins.str connection_id: The server-generated UUID of the VPN connection. + :param _builtins.str gateway_id: The UUID of the parent VPN gateway. + :param _builtins.str project_id: STACKIT project ID. + """ + __args__ = dict() + __args__['connectionId'] = connection_id + __args__['gatewayId'] = gateway_id + __args__['projectId'] = project_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getVpnConnection:getVpnConnection', __args__, opts=opts, typ=GetVpnConnectionResult).value + + return AwaitableGetVpnConnectionResult( + connection_id=pulumi.get(__ret__, 'connection_id'), + display_name=pulumi.get(__ret__, 'display_name'), + enabled=pulumi.get(__ret__, 'enabled'), + gateway_id=pulumi.get(__ret__, 'gateway_id'), + id=pulumi.get(__ret__, 'id'), + labels=pulumi.get(__ret__, 'labels'), + local_subnets=pulumi.get(__ret__, 'local_subnets'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + remote_subnets=pulumi.get(__ret__, 'remote_subnets'), + static_routes=pulumi.get(__ret__, 'static_routes'), + tunnel1=pulumi.get(__ret__, 'tunnel1'), + tunnel2=pulumi.get(__ret__, 'tunnel2')) +def get_vpn_connection_output(connection_id: pulumi.Input[Optional[_builtins.str]] = None, + gateway_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpnConnectionResult]: + """ + VPN Connection data source schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on datasource level. + + ## Example Usage + + + :param _builtins.str connection_id: The server-generated UUID of the VPN connection. + :param _builtins.str gateway_id: The UUID of the parent VPN gateway. + :param _builtins.str project_id: STACKIT project ID. + """ + __args__ = dict() + __args__['connectionId'] = connection_id + __args__['gatewayId'] = gateway_id + __args__['projectId'] = project_id + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getVpnConnection:getVpnConnection', __args__, opts=opts, typ=GetVpnConnectionResult) + return __ret__.apply(lambda __response__: GetVpnConnectionResult( + connection_id=pulumi.get(__response__, 'connection_id'), + display_name=pulumi.get(__response__, 'display_name'), + enabled=pulumi.get(__response__, 'enabled'), + gateway_id=pulumi.get(__response__, 'gateway_id'), + id=pulumi.get(__response__, 'id'), + labels=pulumi.get(__response__, 'labels'), + local_subnets=pulumi.get(__response__, 'local_subnets'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + remote_subnets=pulumi.get(__response__, 'remote_subnets'), + static_routes=pulumi.get(__response__, 'static_routes'), + tunnel1=pulumi.get(__response__, 'tunnel1'), + tunnel2=pulumi.get(__response__, 'tunnel2'))) diff --git a/sdk/python/pulumi_stackit/get_vpn_gateway_status.py b/sdk/python/pulumi_stackit/get_vpn_gateway_status.py new file mode 100644 index 0000000..524379f --- /dev/null +++ b/sdk/python/pulumi_stackit/get_vpn_gateway_status.py @@ -0,0 +1,175 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities +from . import outputs + +__all__ = [ + 'GetVpnGatewayStatusResult', + 'AwaitableGetVpnGatewayStatusResult', + 'get_vpn_gateway_status', + 'get_vpn_gateway_status_output', +] + +@pulumi.output_type +class GetVpnGatewayStatusResult: + """ + A collection of values returned by getVpnGatewayStatus. + """ + def __init__(__self__, connections=None, display_name=None, gateway_id=None, id=None, project_id=None, region=None, tunnels=None): + if connections and not isinstance(connections, list): + raise TypeError("Expected argument 'connections' to be a list") + pulumi.set(__self__, "connections", connections) + if display_name and not isinstance(display_name, str): + raise TypeError("Expected argument 'display_name' to be a str") + pulumi.set(__self__, "display_name", display_name) + if gateway_id and not isinstance(gateway_id, str): + raise TypeError("Expected argument 'gateway_id' to be a str") + pulumi.set(__self__, "gateway_id", gateway_id) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if tunnels and not isinstance(tunnels, list): + raise TypeError("Expected argument 'tunnels' to be a list") + pulumi.set(__self__, "tunnels", tunnels) + + @_builtins.property + @pulumi.getter + def connections(self) -> Sequence['outputs.GetVpnGatewayStatusConnectionResult']: + """ + List of connections in the VPN gateway. + """ + return pulumi.get(self, "connections") + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> _builtins.str: + """ + A user-friendly name for the VPN gateway. + """ + return pulumi.get(self, "display_name") + + @_builtins.property + @pulumi.getter(name="gatewayId") + def gateway_id(self) -> _builtins.str: + """ + The server-generated UUID of the VPN gateway. + """ + return pulumi.get(self, "gateway_id") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + Terraform's internal resource identifier. Structured as "`project_id`,`region`,`gateway_id`". + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT project ID associated with the VPN gateway. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def tunnels(self) -> Sequence['outputs.GetVpnGatewayStatusTunnelResult']: + """ + List of the VPN tunnels in the gateway. + """ + return pulumi.get(self, "tunnels") + + +class AwaitableGetVpnGatewayStatusResult(GetVpnGatewayStatusResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVpnGatewayStatusResult( + connections=self.connections, + display_name=self.display_name, + gateway_id=self.gateway_id, + id=self.id, + project_id=self.project_id, + region=self.region, + tunnels=self.tunnels) + + +def get_vpn_gateway_status(gateway_id: Optional[_builtins.str] = None, + project_id: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVpnGatewayStatusResult: + """ + VPN Gateway Status data source schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on datasource level. + + ## Example Usage + + + :param _builtins.str gateway_id: The server-generated UUID of the VPN gateway. + :param _builtins.str project_id: STACKIT project ID associated with the VPN gateway. + """ + __args__ = dict() + __args__['gatewayId'] = gateway_id + __args__['projectId'] = project_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getVpnGatewayStatus:getVpnGatewayStatus', __args__, opts=opts, typ=GetVpnGatewayStatusResult).value + + return AwaitableGetVpnGatewayStatusResult( + connections=pulumi.get(__ret__, 'connections'), + display_name=pulumi.get(__ret__, 'display_name'), + gateway_id=pulumi.get(__ret__, 'gateway_id'), + id=pulumi.get(__ret__, 'id'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + tunnels=pulumi.get(__ret__, 'tunnels')) +def get_vpn_gateway_status_output(gateway_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetVpnGatewayStatusResult]: + """ + VPN Gateway Status data source schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on datasource level. + + ## Example Usage + + + :param _builtins.str gateway_id: The server-generated UUID of the VPN gateway. + :param _builtins.str project_id: STACKIT project ID associated with the VPN gateway. + """ + __args__ = dict() + __args__['gatewayId'] = gateway_id + __args__['projectId'] = project_id + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getVpnGatewayStatus:getVpnGatewayStatus', __args__, opts=opts, typ=GetVpnGatewayStatusResult) + return __ret__.apply(lambda __response__: GetVpnGatewayStatusResult( + connections=pulumi.get(__response__, 'connections'), + display_name=pulumi.get(__response__, 'display_name'), + gateway_id=pulumi.get(__response__, 'gateway_id'), + id=pulumi.get(__response__, 'id'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + tunnels=pulumi.get(__response__, 'tunnels'))) diff --git a/sdk/python/pulumi_stackit/intake_runner.py b/sdk/python/pulumi_stackit/intake_runner.py index 039abe3..c6dbff9 100644 --- a/sdk/python/pulumi_stackit/intake_runner.py +++ b/sdk/python/pulumi_stackit/intake_runner.py @@ -137,6 +137,7 @@ def region(self, value: pulumi.Input[Optional[_builtins.str]]): @pulumi.input_type class _IntakeRunnerState: def __init__(__self__, *, + create_time: pulumi.Input[Optional[_builtins.str]] = None, description: pulumi.Input[Optional[_builtins.str]] = None, labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, max_message_size_kib: pulumi.Input[Optional[_builtins.int]] = None, @@ -144,10 +145,12 @@ def __init__(__self__, *, name: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, - runner_id: pulumi.Input[Optional[_builtins.str]] = None): + runner_id: pulumi.Input[Optional[_builtins.str]] = None, + uri: pulumi.Input[Optional[_builtins.str]] = None): """ Input properties used for looking up and filtering IntakeRunner resources. + :param pulumi.Input[_builtins.str] create_time: The creation time of the runner. :param pulumi.Input[_builtins.str] description: The description of the runner. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: User-defined labels. :param pulumi.Input[_builtins.int] max_message_size_kib: The maximum message size in KiB. @@ -156,7 +159,10 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the runner is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] runner_id: The runner ID. + :param pulumi.Input[_builtins.str] uri: The URI of the runner. """ + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) if description is not None: pulumi.set(__self__, "description", description) if labels is not None: @@ -173,6 +179,20 @@ def __init__(__self__, *, pulumi.set(__self__, "region", region) if runner_id is not None: pulumi.set(__self__, "runner_id", runner_id) + if uri is not None: + pulumi.set(__self__, "uri", uri) + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The creation time of the runner. + """ + return pulumi.get(self, "create_time") + + @create_time.setter + def create_time(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "create_time", value) @_builtins.property @pulumi.getter @@ -270,6 +290,18 @@ def runner_id(self) -> pulumi.Input[Optional[_builtins.str]]: def runner_id(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "runner_id", value) + @_builtins.property + @pulumi.getter + def uri(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The URI of the runner. + """ + return pulumi.get(self, "uri") + + @uri.setter + def uri(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "uri", value) + @pulumi.type_token("stackit:index/intakeRunner:IntakeRunner") class IntakeRunner(pulumi.CustomResource): @@ -357,7 +389,9 @@ def _internal_init(__self__, raise TypeError("Missing required property 'project_id'") __props__.__dict__["project_id"] = project_id __props__.__dict__["region"] = region + __props__.__dict__["create_time"] = None __props__.__dict__["runner_id"] = None + __props__.__dict__["uri"] = None super(IntakeRunner, __self__).__init__( 'stackit:index/intakeRunner:IntakeRunner', resource_name, @@ -368,6 +402,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + create_time: pulumi.Input[Optional[_builtins.str]] = None, description: pulumi.Input[Optional[_builtins.str]] = None, labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, max_message_size_kib: pulumi.Input[Optional[_builtins.int]] = None, @@ -375,7 +410,8 @@ def get(resource_name: str, name: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, - runner_id: pulumi.Input[Optional[_builtins.str]] = None) -> 'IntakeRunner': + runner_id: pulumi.Input[Optional[_builtins.str]] = None, + uri: pulumi.Input[Optional[_builtins.str]] = None) -> 'IntakeRunner': """ Get an existing IntakeRunner resource's state with the given name, id, and optional extra properties used to qualify the lookup. @@ -383,6 +419,7 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] create_time: The creation time of the runner. :param pulumi.Input[_builtins.str] description: The description of the runner. :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: User-defined labels. :param pulumi.Input[_builtins.int] max_message_size_kib: The maximum message size in KiB. @@ -391,11 +428,13 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the runner is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[_builtins.str] runner_id: The runner ID. + :param pulumi.Input[_builtins.str] uri: The URI of the runner. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) __props__ = _IntakeRunnerState.__new__(_IntakeRunnerState) + __props__.__dict__["create_time"] = create_time __props__.__dict__["description"] = description __props__.__dict__["labels"] = labels __props__.__dict__["max_message_size_kib"] = max_message_size_kib @@ -404,8 +443,17 @@ def get(resource_name: str, __props__.__dict__["project_id"] = project_id __props__.__dict__["region"] = region __props__.__dict__["runner_id"] = runner_id + __props__.__dict__["uri"] = uri return IntakeRunner(resource_name, opts=opts, __props__=__props__) + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[_builtins.str]: + """ + The creation time of the runner. + """ + return pulumi.get(self, "create_time") + @_builtins.property @pulumi.getter def description(self) -> pulumi.Output[Optional[_builtins.str]]: @@ -470,3 +518,11 @@ def runner_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "runner_id") + @_builtins.property + @pulumi.getter + def uri(self) -> pulumi.Output[_builtins.str]: + """ + The URI of the runner. + """ + return pulumi.get(self, "uri") + diff --git a/sdk/python/pulumi_stackit/loadbalancer.py b/sdk/python/pulumi_stackit/loadbalancer.py index 3a9cb6d..1316337 100644 --- a/sdk/python/pulumi_stackit/loadbalancer.py +++ b/sdk/python/pulumi_stackit/loadbalancer.py @@ -189,6 +189,7 @@ def __init__(__self__, *, disable_security_group_assignment: pulumi.Input[Optional[_builtins.bool]] = None, external_address: pulumi.Input[Optional[_builtins.str]] = None, listeners: pulumi.Input[Optional[Sequence[pulumi.Input['LoadbalancerListenerArgs']]]] = None, + load_balancer_security_group_id: pulumi.Input[Optional[_builtins.str]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, networks: pulumi.Input[Optional[Sequence[pulumi.Input['LoadbalancerNetworkArgs']]]] = None, options: pulumi.Input[Optional['LoadbalancerOptionsArgs']] = None, @@ -205,6 +206,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.bool] disable_security_group_assignment: If set to true, this will disable the automatic assignment of a security group to the load balancer's targets. This option is primarily used to allow targets that are not within the load balancer's own network or SNA (STACKIT network area). When this is enabled, you are fully responsible for ensuring network connectivity to the targets, including managing all routing and security group rules manually. This setting cannot be changed after the load balancer is created. :param pulumi.Input[_builtins.str] external_address: External Load Balancer IP address where this Load Balancer is exposed. :param pulumi.Input[Sequence[pulumi.Input['LoadbalancerListenerArgs']]] listeners: List of all listeners which will accept traffic. Limited to 20. + :param pulumi.Input[_builtins.str] load_balancer_security_group_id: 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 `remote_security_group_id` of that rule to this value. This is typically used when `disable_security_group_assignment` is set to `true`. :param pulumi.Input[_builtins.str] name: Load balancer name. :param pulumi.Input[Sequence[pulumi.Input['LoadbalancerNetworkArgs']]] networks: List of networks that listeners and targets reside in. :param pulumi.Input['LoadbalancerOptionsArgs'] options: Defines any optional functionality you want to have enabled on your load balancer. @@ -212,7 +214,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] private_address: Transient private Load Balancer IP address. It can change any time. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the Load Balancer is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. - :param pulumi.Input[_builtins.str] security_group_id: The 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 `remote_security_group_id` of that rule to this value. This is typically used when `disable_security_group_assignment` is set to `true`. + :param pulumi.Input[_builtins.str] security_group_id: 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. :param pulumi.Input[Sequence[pulumi.Input['LoadbalancerTargetPoolArgs']]] target_pools: List of all target pools which will be used in the Load Balancer. Limited to 20. :param pulumi.Input[_builtins.str] version: Load balancer resource version. This is needed to have concurrency safe updates. """ @@ -222,6 +224,8 @@ def __init__(__self__, *, pulumi.set(__self__, "external_address", external_address) if listeners is not None: pulumi.set(__self__, "listeners", listeners) + if load_balancer_security_group_id is not None: + pulumi.set(__self__, "load_balancer_security_group_id", load_balancer_security_group_id) if name is not None: pulumi.set(__self__, "name", name) if networks is not None: @@ -279,6 +283,18 @@ def listeners(self) -> pulumi.Input[Optional[Sequence[pulumi.Input['Loadbalancer def listeners(self, value: pulumi.Input[Optional[Sequence[pulumi.Input['LoadbalancerListenerArgs']]]]): pulumi.set(self, "listeners", value) + @_builtins.property + @pulumi.getter(name="loadBalancerSecurityGroupId") + def load_balancer_security_group_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + 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 `remote_security_group_id` of that rule to this value. This is typically used when `disable_security_group_assignment` is set to `true`. + """ + return pulumi.get(self, "load_balancer_security_group_id") + + @load_balancer_security_group_id.setter + def load_balancer_security_group_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "load_balancer_security_group_id", value) + @_builtins.property @pulumi.getter def name(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -367,7 +383,7 @@ def region(self, value: pulumi.Input[Optional[_builtins.str]]): @pulumi.getter(name="securityGroupId") def security_group_id(self) -> pulumi.Input[Optional[_builtins.str]]: """ - 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 `remote_security_group_id` of that rule to this value. This is typically used when `disable_security_group_assignment` 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. """ return pulumi.get(self, "security_group_id") @@ -504,6 +520,7 @@ def _internal_init(__self__, if target_pools is None and not opts.urn: raise TypeError("Missing required property 'target_pools'") __props__.__dict__["target_pools"] = target_pools + __props__.__dict__["load_balancer_security_group_id"] = None __props__.__dict__["private_address"] = None __props__.__dict__["security_group_id"] = None __props__.__dict__["version"] = None @@ -520,6 +537,7 @@ def get(resource_name: str, disable_security_group_assignment: pulumi.Input[Optional[_builtins.bool]] = None, external_address: pulumi.Input[Optional[_builtins.str]] = None, listeners: pulumi.Input[Optional[Sequence[pulumi.Input[Union['LoadbalancerListenerArgs', 'LoadbalancerListenerArgsDict']]]]] = None, + load_balancer_security_group_id: pulumi.Input[Optional[_builtins.str]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, networks: pulumi.Input[Optional[Sequence[pulumi.Input[Union['LoadbalancerNetworkArgs', 'LoadbalancerNetworkArgsDict']]]]] = None, options: pulumi.Input[Optional[Union['LoadbalancerOptionsArgs', 'LoadbalancerOptionsArgsDict']]] = None, @@ -540,6 +558,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.bool] disable_security_group_assignment: If set to true, this will disable the automatic assignment of a security group to the load balancer's targets. This option is primarily used to allow targets that are not within the load balancer's own network or SNA (STACKIT network area). When this is enabled, you are fully responsible for ensuring network connectivity to the targets, including managing all routing and security group rules manually. This setting cannot be changed after the load balancer is created. :param pulumi.Input[_builtins.str] external_address: External Load Balancer IP address where this Load Balancer is exposed. :param pulumi.Input[Sequence[pulumi.Input[Union['LoadbalancerListenerArgs', 'LoadbalancerListenerArgsDict']]]] listeners: List of all listeners which will accept traffic. Limited to 20. + :param pulumi.Input[_builtins.str] load_balancer_security_group_id: 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 `remote_security_group_id` of that rule to this value. This is typically used when `disable_security_group_assignment` is set to `true`. :param pulumi.Input[_builtins.str] name: Load balancer name. :param pulumi.Input[Sequence[pulumi.Input[Union['LoadbalancerNetworkArgs', 'LoadbalancerNetworkArgsDict']]]] networks: List of networks that listeners and targets reside in. :param pulumi.Input[Union['LoadbalancerOptionsArgs', 'LoadbalancerOptionsArgsDict']] options: Defines any optional functionality you want to have enabled on your load balancer. @@ -547,7 +566,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] private_address: Transient private Load Balancer IP address. It can change any time. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the Load Balancer is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. - :param pulumi.Input[_builtins.str] security_group_id: The 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 `remote_security_group_id` of that rule to this value. This is typically used when `disable_security_group_assignment` is set to `true`. + :param pulumi.Input[_builtins.str] security_group_id: 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. :param pulumi.Input[Sequence[pulumi.Input[Union['LoadbalancerTargetPoolArgs', 'LoadbalancerTargetPoolArgsDict']]]] target_pools: List of all target pools which will be used in the Load Balancer. Limited to 20. :param pulumi.Input[_builtins.str] version: Load balancer resource version. This is needed to have concurrency safe updates. """ @@ -558,6 +577,7 @@ def get(resource_name: str, __props__.__dict__["disable_security_group_assignment"] = disable_security_group_assignment __props__.__dict__["external_address"] = external_address __props__.__dict__["listeners"] = listeners + __props__.__dict__["load_balancer_security_group_id"] = load_balancer_security_group_id __props__.__dict__["name"] = name __props__.__dict__["networks"] = networks __props__.__dict__["options"] = options @@ -594,6 +614,14 @@ def listeners(self) -> pulumi.Output[Sequence['outputs.LoadbalancerListener']]: """ return pulumi.get(self, "listeners") + @_builtins.property + @pulumi.getter(name="loadBalancerSecurityGroupId") + def load_balancer_security_group_id(self) -> pulumi.Output[_builtins.str]: + """ + 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 `remote_security_group_id` of that rule to this value. This is typically used when `disable_security_group_assignment` is set to `true`. + """ + return pulumi.get(self, "load_balancer_security_group_id") + @_builtins.property @pulumi.getter def name(self) -> pulumi.Output[_builtins.str]: @@ -654,7 +682,7 @@ def region(self) -> pulumi.Output[_builtins.str]: @pulumi.getter(name="securityGroupId") def security_group_id(self) -> pulumi.Output[_builtins.str]: """ - 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 `remote_security_group_id` of that rule to this value. This is typically used when `disable_security_group_assignment` 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. """ return pulumi.get(self, "security_group_id") diff --git a/sdk/python/pulumi_stackit/objectstorage_bucket.py b/sdk/python/pulumi_stackit/objectstorage_bucket.py index 7b18882..f08dca3 100644 --- a/sdk/python/pulumi_stackit/objectstorage_bucket.py +++ b/sdk/python/pulumi_stackit/objectstorage_bucket.py @@ -199,6 +199,8 @@ def __init__(__self__, """ 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 `depends_on` 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 @@ -218,6 +220,8 @@ def __init__(__self__, """ 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 `depends_on` 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 diff --git a/sdk/python/pulumi_stackit/outputs.py b/sdk/python/pulumi_stackit/outputs.py index 6e47958..4db6d60 100644 --- a/sdk/python/pulumi_stackit/outputs.py +++ b/sdk/python/pulumi_stackit/outputs.py @@ -115,6 +115,8 @@ 'ServiceAccountFederatedIdentityProviderAssertion', 'SfsExportPolicyRule', 'SfsResourcePoolSnapshotPolicy', + 'SkeClusterAccess', + 'SkeClusterAccessIdp', 'SkeClusterExtensions', 'SkeClusterExtensionsAcl', 'SkeClusterExtensionsArgus', @@ -140,6 +142,16 @@ 'TelemetryrouterInstanceFilterAttribute', 'VolumeEncryptionParameters', 'VolumeSource', + 'VpnConnectionTunnel1', + 'VpnConnectionTunnel1Bgp', + 'VpnConnectionTunnel1Peering', + 'VpnConnectionTunnel1Phase1', + 'VpnConnectionTunnel1Phase2', + 'VpnConnectionTunnel2', + 'VpnConnectionTunnel2Bgp', + 'VpnConnectionTunnel2Peering', + 'VpnConnectionTunnel2Phase1', + 'VpnConnectionTunnel2Phase2', 'VpnGatewayAvailabilityZones', 'VpnGatewayBgp', 'GetApplicationLoadBalancerErrorResult', @@ -257,6 +269,8 @@ 'GetSfsResourcePoolSnapshotSnapshotResult', 'GetSfsSnapshotPoliciesItemResult', 'GetSfsSnapshotPoliciesItemSnapshotScheduleResult', + 'GetSkeClusterAccessResult', + 'GetSkeClusterAccessIdpResult', 'GetSkeClusterExtensionsResult', 'GetSkeClusterExtensionsAclResult', 'GetSkeClusterExtensionsArgusResult', @@ -282,8 +296,20 @@ 'GetTelemetryrouterInstanceFilterResult', 'GetTelemetryrouterInstanceFilterAttributeResult', 'GetVolumeSourceResult', + 'GetVpnConnectionTunnel1Result', + 'GetVpnConnectionTunnel1BgpResult', + 'GetVpnConnectionTunnel1PeeringResult', + 'GetVpnConnectionTunnel1Phase1Result', + 'GetVpnConnectionTunnel1Phase2Result', + 'GetVpnConnectionTunnel2Result', + 'GetVpnConnectionTunnel2BgpResult', + 'GetVpnConnectionTunnel2PeeringResult', + 'GetVpnConnectionTunnel2Phase1Result', + 'GetVpnConnectionTunnel2Phase2Result', 'GetVpnGatewayAvailabilityZonesResult', 'GetVpnGatewayBgpResult', + 'GetVpnGatewayStatusConnectionResult', + 'GetVpnGatewayStatusTunnelResult', ] @pulumi.output_type @@ -7073,6 +7099,56 @@ def name(self) -> Optional[_builtins.str]: return pulumi.get(self, "name") +@pulumi.output_type +class SkeClusterAccess(dict): + def __init__(__self__, *, + idp: Optional['outputs.SkeClusterAccessIdp'] = None): + """ + :param 'SkeClusterAccessIdpArgs' idp: Configure IDP + """ + if idp is not None: + pulumi.set(__self__, "idp", idp) + + @_builtins.property + @pulumi.getter + def idp(self) -> Optional['outputs.SkeClusterAccessIdp']: + """ + Configure IDP + """ + return pulumi.get(self, "idp") + + +@pulumi.output_type +class SkeClusterAccessIdp(dict): + def __init__(__self__, *, + enabled: Optional[_builtins.bool] = None, + type: Optional[_builtins.str] = None): + """ + :param _builtins.bool enabled: Enable IDP integration for the cluster. + :param _builtins.str type: The IDP type. Possible values: 'stackit'. + """ + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if type is not None: + pulumi.set(__self__, "type", type) + + @_builtins.property + @pulumi.getter + def enabled(self) -> Optional[_builtins.bool]: + """ + Enable IDP integration for the cluster. + """ + return pulumi.get(self, "enabled") + + @_builtins.property + @pulumi.getter + def type(self) -> Optional[_builtins.str]: + """ + The IDP type. Possible values: 'stackit'. + """ + return pulumi.get(self, "type") + + @pulumi.output_type class SkeClusterExtensions(dict): def __init__(__self__, *, @@ -8442,3414 +8518,4803 @@ def type(self) -> _builtins.str: @pulumi.output_type -class VpnGatewayAvailabilityZones(dict): +class VpnConnectionTunnel1(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "remoteAddress": + suggest = "remote_address" + elif key == "preSharedKey": + suggest = "pre_shared_key" + elif key == "preSharedKeyWo": + suggest = "pre_shared_key_wo" + elif key == "preSharedKeyWoVersion": + suggest = "pre_shared_key_wo_version" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VpnConnectionTunnel1. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VpnConnectionTunnel1.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VpnConnectionTunnel1.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, - tunnel1: _builtins.str, - tunnel2: _builtins.str): + phase1: 'outputs.VpnConnectionTunnel1Phase1', + phase2: 'outputs.VpnConnectionTunnel1Phase2', + remote_address: _builtins.str, + bgp: Optional['outputs.VpnConnectionTunnel1Bgp'] = None, + peering: Optional['outputs.VpnConnectionTunnel1Peering'] = None, + pre_shared_key: Optional[_builtins.str] = None, + pre_shared_key_wo: Optional[_builtins.str] = None, + pre_shared_key_wo_version: Optional[_builtins.int] = None): """ - :param _builtins.str tunnel1: Availability zone for tunnel 1. - :param _builtins.str tunnel2: Availability zone for tunnel 2. + :param _builtins.str remote_address: Remote IPv4 address for the tunnel endpoint. + :param _builtins.str pre_shared_key: Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `pre_shared_key_wo` should be preferred. + :param _builtins.str pre_shared_key_wo: **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. + :param _builtins.int pre_shared_key_wo_version: 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. """ - pulumi.set(__self__, "tunnel1", tunnel1) - pulumi.set(__self__, "tunnel2", tunnel2) + pulumi.set(__self__, "phase1", phase1) + pulumi.set(__self__, "phase2", phase2) + pulumi.set(__self__, "remote_address", remote_address) + if bgp is not None: + pulumi.set(__self__, "bgp", bgp) + if peering is not None: + pulumi.set(__self__, "peering", peering) + if pre_shared_key is not None: + pulumi.set(__self__, "pre_shared_key", pre_shared_key) + if pre_shared_key_wo is not None: + pulumi.set(__self__, "pre_shared_key_wo", pre_shared_key_wo) + if pre_shared_key_wo_version is not None: + pulumi.set(__self__, "pre_shared_key_wo_version", pre_shared_key_wo_version) @_builtins.property @pulumi.getter - def tunnel1(self) -> _builtins.str: + def phase1(self) -> 'outputs.VpnConnectionTunnel1Phase1': + return pulumi.get(self, "phase1") + + @_builtins.property + @pulumi.getter + def phase2(self) -> 'outputs.VpnConnectionTunnel1Phase2': + return pulumi.get(self, "phase2") + + @_builtins.property + @pulumi.getter(name="remoteAddress") + def remote_address(self) -> _builtins.str: """ - Availability zone for tunnel 1. + Remote IPv4 address for the tunnel endpoint. """ - return pulumi.get(self, "tunnel1") + return pulumi.get(self, "remote_address") @_builtins.property @pulumi.getter - def tunnel2(self) -> _builtins.str: + def bgp(self) -> Optional['outputs.VpnConnectionTunnel1Bgp']: + return pulumi.get(self, "bgp") + + @_builtins.property + @pulumi.getter + def peering(self) -> Optional['outputs.VpnConnectionTunnel1Peering']: + return pulumi.get(self, "peering") + + @_builtins.property + @pulumi.getter(name="preSharedKey") + def pre_shared_key(self) -> Optional[_builtins.str]: """ - Availability zone for tunnel 2. + Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `pre_shared_key_wo` should be preferred. """ - return pulumi.get(self, "tunnel2") + return pulumi.get(self, "pre_shared_key") + + @_builtins.property + @pulumi.getter(name="preSharedKeyWo") + def pre_shared_key_wo(self) -> Optional[_builtins.str]: + """ + **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. + 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. + """ + return pulumi.get(self, "pre_shared_key_wo") + + @_builtins.property + @pulumi.getter(name="preSharedKeyWoVersion") + def pre_shared_key_wo_version(self) -> Optional[_builtins.int]: + """ + 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. + """ + return pulumi.get(self, "pre_shared_key_wo_version") @pulumi.output_type -class VpnGatewayBgp(dict): +class VpnConnectionTunnel1Bgp(dict): @staticmethod def __key_warning(key: str): suggest = None - if key == "localAsn": - suggest = "local_asn" - elif key == "overrideAdvertisedRoutes": - suggest = "override_advertised_routes" + if key == "remoteAsn": + suggest = "remote_asn" if suggest: - pulumi.log.warn(f"Key '{key}' not found in VpnGatewayBgp. Access the value via the '{suggest}' property getter instead.") + pulumi.log.warn(f"Key '{key}' not found in VpnConnectionTunnel1Bgp. Access the value via the '{suggest}' property getter instead.") def __getitem__(self, key: str) -> Any: - VpnGatewayBgp.__key_warning(key) + VpnConnectionTunnel1Bgp.__key_warning(key) return super().__getitem__(key) def get(self, key: str, default = None) -> Any: - VpnGatewayBgp.__key_warning(key) + VpnConnectionTunnel1Bgp.__key_warning(key) return super().get(key, default) def __init__(__self__, *, - local_asn: _builtins.int, - override_advertised_routes: Optional[Sequence[_builtins.str]] = None): - """ - :param _builtins.int local_asn: Local ASN for BGP (private ASN range, 64512-4294967294). - :param Sequence[_builtins.str] override_advertised_routes: List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. - """ - pulumi.set(__self__, "local_asn", local_asn) - if override_advertised_routes is not None: - pulumi.set(__self__, "override_advertised_routes", override_advertised_routes) - - @_builtins.property - @pulumi.getter(name="localAsn") - def local_asn(self) -> _builtins.int: + remote_asn: _builtins.int): """ - Local ASN for BGP (private ASN range, 64512-4294967294). + :param _builtins.int remote_asn: Remote ASN for BGP peering (private ASN range, 64512-4294967294). """ - return pulumi.get(self, "local_asn") + pulumi.set(__self__, "remote_asn", remote_asn) @_builtins.property - @pulumi.getter(name="overrideAdvertisedRoutes") - def override_advertised_routes(self) -> Optional[Sequence[_builtins.str]]: + @pulumi.getter(name="remoteAsn") + def remote_asn(self) -> _builtins.int: """ - List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. + Remote ASN for BGP peering (private ASN range, 64512-4294967294). """ - return pulumi.get(self, "override_advertised_routes") + return pulumi.get(self, "remote_asn") @pulumi.output_type -class GetApplicationLoadBalancerErrorResult(dict): +class VpnConnectionTunnel1Peering(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "localAddress": + suggest = "local_address" + elif key == "remoteAddress": + suggest = "remote_address" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VpnConnectionTunnel1Peering. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VpnConnectionTunnel1Peering.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VpnConnectionTunnel1Peering.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, - description: _builtins.str, - type: _builtins.str): + local_address: _builtins.str, + remote_address: _builtins.str): """ - :param _builtins.str description: The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. - :param _builtins.str type: The error type specifies which part of the Application Load Balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the Application Load Balancer with try to use the provided IP and if not available reports TYPE*FIP*NOT_CONFIGURED error. Possible values are: `TYPE_UNSPECIFIED`, `TYPE_INTERNAL`, `TYPE_QUOTA_SECGROUP_EXCEEDED`, `TYPE_QUOTA_SECGROUPRULE_EXCEEDED`, `TYPE_PORT_NOT_CONFIGURED`, `TYPE_FIP_NOT_CONFIGURED`, `TYPE_TARGET_NOT_ACTIVE`, `TYPE_METRICS_MISCONFIGURED`, `TYPE_LOGS_MISCONFIGURED`. + :param _builtins.str local_address: Local tunnel interface IPv4 address. + :param _builtins.str remote_address: Remote tunnel interface IPv4 address. """ - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "type", type) + pulumi.set(__self__, "local_address", local_address) + pulumi.set(__self__, "remote_address", remote_address) @_builtins.property - @pulumi.getter - def description(self) -> _builtins.str: + @pulumi.getter(name="localAddress") + def local_address(self) -> _builtins.str: """ - The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. + Local tunnel interface IPv4 address. """ - return pulumi.get(self, "description") + return pulumi.get(self, "local_address") @_builtins.property - @pulumi.getter - def type(self) -> _builtins.str: + @pulumi.getter(name="remoteAddress") + def remote_address(self) -> _builtins.str: """ - The error type specifies which part of the Application Load Balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the Application Load Balancer with try to use the provided IP and if not available reports TYPE*FIP*NOT_CONFIGURED error. Possible values are: `TYPE_UNSPECIFIED`, `TYPE_INTERNAL`, `TYPE_QUOTA_SECGROUP_EXCEEDED`, `TYPE_QUOTA_SECGROUPRULE_EXCEEDED`, `TYPE_PORT_NOT_CONFIGURED`, `TYPE_FIP_NOT_CONFIGURED`, `TYPE_TARGET_NOT_ACTIVE`, `TYPE_METRICS_MISCONFIGURED`, `TYPE_LOGS_MISCONFIGURED`. + Remote tunnel interface IPv4 address. """ - return pulumi.get(self, "type") + return pulumi.get(self, "remote_address") @pulumi.output_type -class GetApplicationLoadBalancerListenerResult(dict): +class VpnConnectionTunnel1Phase1(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "encryptionAlgorithms": + suggest = "encryption_algorithms" + elif key == "integrityAlgorithms": + suggest = "integrity_algorithms" + elif key == "dhGroups": + suggest = "dh_groups" + elif key == "rekeyTime": + suggest = "rekey_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VpnConnectionTunnel1Phase1. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VpnConnectionTunnel1Phase1.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VpnConnectionTunnel1Phase1.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, - http: 'outputs.GetApplicationLoadBalancerListenerHttpResult', - https: 'outputs.GetApplicationLoadBalancerListenerHttpsResult', - name: _builtins.str, - port: _builtins.int, - protocol: _builtins.str, - waf_config_name: _builtins.str): + encryption_algorithms: Sequence[_builtins.str], + integrity_algorithms: Sequence[_builtins.str], + dh_groups: Optional[Sequence[_builtins.str]] = None, + rekey_time: Optional[_builtins.int] = None): """ - :param 'GetApplicationLoadBalancerListenerHttpArgs' http: Configuration for HTTP traffic. - :param 'GetApplicationLoadBalancerListenerHttpsArgs' https: Configuration for handling HTTPS traffic on this listener. - :param _builtins.str name: Unique name for the listener - :param _builtins.int port: Port number on which the listener receives incoming traffic. - :param _builtins.str protocol: Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`. - :param _builtins.str waf_config_name: Enable Web Application Firewall (WAF), referenced by name. See "Application Load Balancer - Web Application Firewall API" for more information. + :param Sequence[_builtins.str] encryption_algorithms: Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + :param Sequence[_builtins.str] integrity_algorithms: Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2_256`, `sha2_384`. + :param Sequence[_builtins.str] dh_groups: Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + :param _builtins.int rekey_time: Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. """ - pulumi.set(__self__, "http", http) - pulumi.set(__self__, "https", https) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "port", port) - pulumi.set(__self__, "protocol", protocol) - pulumi.set(__self__, "waf_config_name", waf_config_name) + pulumi.set(__self__, "encryption_algorithms", encryption_algorithms) + pulumi.set(__self__, "integrity_algorithms", integrity_algorithms) + if dh_groups is not None: + pulumi.set(__self__, "dh_groups", dh_groups) + if rekey_time is not None: + pulumi.set(__self__, "rekey_time", rekey_time) @_builtins.property - @pulumi.getter - def http(self) -> 'outputs.GetApplicationLoadBalancerListenerHttpResult': + @pulumi.getter(name="encryptionAlgorithms") + def encryption_algorithms(self) -> Sequence[_builtins.str]: """ - Configuration for HTTP traffic. + Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. """ - return pulumi.get(self, "http") + return pulumi.get(self, "encryption_algorithms") @_builtins.property - @pulumi.getter - def https(self) -> 'outputs.GetApplicationLoadBalancerListenerHttpsResult': + @pulumi.getter(name="integrityAlgorithms") + def integrity_algorithms(self) -> Sequence[_builtins.str]: """ - Configuration for handling HTTPS traffic on this listener. + Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2_256`, `sha2_384`. """ - return pulumi.get(self, "https") + return pulumi.get(self, "integrity_algorithms") @_builtins.property - @pulumi.getter - def name(self) -> _builtins.str: + @pulumi.getter(name="dhGroups") + def dh_groups(self) -> Optional[Sequence[_builtins.str]]: """ - Unique name for the listener + Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. """ - return pulumi.get(self, "name") + return pulumi.get(self, "dh_groups") @_builtins.property - @pulumi.getter - def port(self) -> _builtins.int: + @pulumi.getter(name="rekeyTime") + def rekey_time(self) -> Optional[_builtins.int]: """ - Port number on which the listener receives incoming traffic. + Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. """ - return pulumi.get(self, "port") + return pulumi.get(self, "rekey_time") + + +@pulumi.output_type +class VpnConnectionTunnel1Phase2(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "encryptionAlgorithms": + suggest = "encryption_algorithms" + elif key == "integrityAlgorithms": + suggest = "integrity_algorithms" + elif key == "dhGroups": + suggest = "dh_groups" + elif key == "dpdAction": + suggest = "dpd_action" + elif key == "rekeyTime": + suggest = "rekey_time" + elif key == "startAction": + suggest = "start_action" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VpnConnectionTunnel1Phase2. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VpnConnectionTunnel1Phase2.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VpnConnectionTunnel1Phase2.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + encryption_algorithms: Sequence[_builtins.str], + integrity_algorithms: Sequence[_builtins.str], + dh_groups: Optional[Sequence[_builtins.str]] = None, + dpd_action: Optional[_builtins.str] = None, + rekey_time: Optional[_builtins.int] = None, + start_action: Optional[_builtins.str] = None): + """ + :param Sequence[_builtins.str] encryption_algorithms: Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + :param Sequence[_builtins.str] integrity_algorithms: Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2_256`, `sha2_384`. + :param Sequence[_builtins.str] dh_groups: Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + :param _builtins.str dpd_action: Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. + :param _builtins.int rekey_time: Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + :param _builtins.str start_action: Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. + """ + pulumi.set(__self__, "encryption_algorithms", encryption_algorithms) + pulumi.set(__self__, "integrity_algorithms", integrity_algorithms) + if dh_groups is not None: + pulumi.set(__self__, "dh_groups", dh_groups) + if dpd_action is not None: + pulumi.set(__self__, "dpd_action", dpd_action) + if rekey_time is not None: + pulumi.set(__self__, "rekey_time", rekey_time) + if start_action is not None: + pulumi.set(__self__, "start_action", start_action) @_builtins.property - @pulumi.getter - def protocol(self) -> _builtins.str: + @pulumi.getter(name="encryptionAlgorithms") + def encryption_algorithms(self) -> Sequence[_builtins.str]: """ - Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`. + Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. """ - return pulumi.get(self, "protocol") + return pulumi.get(self, "encryption_algorithms") @_builtins.property - @pulumi.getter(name="wafConfigName") - def waf_config_name(self) -> _builtins.str: + @pulumi.getter(name="integrityAlgorithms") + def integrity_algorithms(self) -> Sequence[_builtins.str]: """ - Enable Web Application Firewall (WAF), referenced by name. See "Application Load Balancer - Web Application Firewall API" for more information. + Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2_256`, `sha2_384`. """ - return pulumi.get(self, "waf_config_name") + return pulumi.get(self, "integrity_algorithms") + @_builtins.property + @pulumi.getter(name="dhGroups") + def dh_groups(self) -> Optional[Sequence[_builtins.str]]: + """ + Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + """ + return pulumi.get(self, "dh_groups") -@pulumi.output_type -class GetApplicationLoadBalancerListenerHttpResult(dict): - def __init__(__self__, *, - hosts: Sequence['outputs.GetApplicationLoadBalancerListenerHttpHostResult']): + @_builtins.property + @pulumi.getter(name="dpdAction") + def dpd_action(self) -> Optional[_builtins.str]: """ - :param Sequence['GetApplicationLoadBalancerListenerHttpHostArgs'] hosts: Defines routing rules grouped by hostname. + Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. """ - pulumi.set(__self__, "hosts", hosts) + return pulumi.get(self, "dpd_action") @_builtins.property - @pulumi.getter - def hosts(self) -> Sequence['outputs.GetApplicationLoadBalancerListenerHttpHostResult']: + @pulumi.getter(name="rekeyTime") + def rekey_time(self) -> Optional[_builtins.int]: """ - Defines routing rules grouped by hostname. + Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. """ - return pulumi.get(self, "hosts") + return pulumi.get(self, "rekey_time") + + @_builtins.property + @pulumi.getter(name="startAction") + def start_action(self) -> Optional[_builtins.str]: + """ + Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. + """ + return pulumi.get(self, "start_action") @pulumi.output_type -class GetApplicationLoadBalancerListenerHttpHostResult(dict): +class VpnConnectionTunnel2(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "remoteAddress": + suggest = "remote_address" + elif key == "preSharedKey": + suggest = "pre_shared_key" + elif key == "preSharedKeyWo": + suggest = "pre_shared_key_wo" + elif key == "preSharedKeyWoVersion": + suggest = "pre_shared_key_wo_version" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VpnConnectionTunnel2. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VpnConnectionTunnel2.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VpnConnectionTunnel2.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, - host: _builtins.str, - rules: Sequence['outputs.GetApplicationLoadBalancerListenerHttpHostRuleResult']): + phase1: 'outputs.VpnConnectionTunnel2Phase1', + phase2: 'outputs.VpnConnectionTunnel2Phase2', + remote_address: _builtins.str, + bgp: Optional['outputs.VpnConnectionTunnel2Bgp'] = None, + peering: Optional['outputs.VpnConnectionTunnel2Peering'] = None, + pre_shared_key: Optional[_builtins.str] = None, + pre_shared_key_wo: Optional[_builtins.str] = None, + pre_shared_key_wo_version: Optional[_builtins.int] = None): """ - :param _builtins.str host: Hostname to match. Supports wildcards (e.g. *.example.com). - :param Sequence['GetApplicationLoadBalancerListenerHttpHostRuleArgs'] rules: Routing rules under the specified host, matched by path prefix. + :param _builtins.str remote_address: Remote IPv4 address for the tunnel endpoint. + :param _builtins.str pre_shared_key: Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `pre_shared_key_wo` should be preferred. + :param _builtins.str pre_shared_key_wo: **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. + :param _builtins.int pre_shared_key_wo_version: 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. """ - pulumi.set(__self__, "host", host) - pulumi.set(__self__, "rules", rules) + pulumi.set(__self__, "phase1", phase1) + pulumi.set(__self__, "phase2", phase2) + pulumi.set(__self__, "remote_address", remote_address) + if bgp is not None: + pulumi.set(__self__, "bgp", bgp) + if peering is not None: + pulumi.set(__self__, "peering", peering) + if pre_shared_key is not None: + pulumi.set(__self__, "pre_shared_key", pre_shared_key) + if pre_shared_key_wo is not None: + pulumi.set(__self__, "pre_shared_key_wo", pre_shared_key_wo) + if pre_shared_key_wo_version is not None: + pulumi.set(__self__, "pre_shared_key_wo_version", pre_shared_key_wo_version) @_builtins.property @pulumi.getter - def host(self) -> _builtins.str: - """ - Hostname to match. Supports wildcards (e.g. *.example.com). - """ - return pulumi.get(self, "host") + def phase1(self) -> 'outputs.VpnConnectionTunnel2Phase1': + return pulumi.get(self, "phase1") @_builtins.property @pulumi.getter - def rules(self) -> Sequence['outputs.GetApplicationLoadBalancerListenerHttpHostRuleResult']: + def phase2(self) -> 'outputs.VpnConnectionTunnel2Phase2': + return pulumi.get(self, "phase2") + + @_builtins.property + @pulumi.getter(name="remoteAddress") + def remote_address(self) -> _builtins.str: """ - Routing rules under the specified host, matched by path prefix. + Remote IPv4 address for the tunnel endpoint. """ - return pulumi.get(self, "rules") - - -@pulumi.output_type -class GetApplicationLoadBalancerListenerHttpHostRuleResult(dict): - def __init__(__self__, *, - cookie_persistence: 'outputs.GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceResult', - headers: Sequence['outputs.GetApplicationLoadBalancerListenerHttpHostRuleHeaderResult'], - path: 'outputs.GetApplicationLoadBalancerListenerHttpHostRulePathResult', - query_parameters: Sequence['outputs.GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterResult'], - target_pool: _builtins.str, - web_socket: _builtins.bool): - """ - :param 'GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs' cookie_persistence: Routing persistence via cookies. - :param Sequence['GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs'] headers: Headers for the rule. - :param 'GetApplicationLoadBalancerListenerHttpHostRulePathArgs' path: Routing via path. - :param Sequence['GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs'] query_parameters: Query parameters for the rule. - :param _builtins.str target_pool: Reference target pool by target pool name. - :param _builtins.bool web_socket: If enabled, when client sends an HTTP request with and Upgrade header, indicating the desire to establish a Websocket connection, if backend server supports WebSocket, it responds with HTTP 101 status code, switching protocols from HTTP to WebSocket. Hence the client and the server can exchange data in real-time using one long-lived TCP connection. - """ - pulumi.set(__self__, "cookie_persistence", cookie_persistence) - pulumi.set(__self__, "headers", headers) - pulumi.set(__self__, "path", path) - pulumi.set(__self__, "query_parameters", query_parameters) - pulumi.set(__self__, "target_pool", target_pool) - pulumi.set(__self__, "web_socket", web_socket) - - @_builtins.property - @pulumi.getter(name="cookiePersistence") - def cookie_persistence(self) -> 'outputs.GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceResult': - """ - Routing persistence via cookies. - """ - return pulumi.get(self, "cookie_persistence") + return pulumi.get(self, "remote_address") @_builtins.property @pulumi.getter - def headers(self) -> Sequence['outputs.GetApplicationLoadBalancerListenerHttpHostRuleHeaderResult']: - """ - Headers for the rule. - """ - return pulumi.get(self, "headers") + def bgp(self) -> Optional['outputs.VpnConnectionTunnel2Bgp']: + return pulumi.get(self, "bgp") @_builtins.property @pulumi.getter - def path(self) -> 'outputs.GetApplicationLoadBalancerListenerHttpHostRulePathResult': - """ - Routing via path. - """ - return pulumi.get(self, "path") + def peering(self) -> Optional['outputs.VpnConnectionTunnel2Peering']: + return pulumi.get(self, "peering") @_builtins.property - @pulumi.getter(name="queryParameters") - def query_parameters(self) -> Sequence['outputs.GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterResult']: + @pulumi.getter(name="preSharedKey") + def pre_shared_key(self) -> Optional[_builtins.str]: """ - Query parameters for the rule. + Pre-shared key for the IPsec tunnel. Minimum 20 characters. Write-only argument `pre_shared_key_wo` should be preferred. """ - return pulumi.get(self, "query_parameters") + return pulumi.get(self, "pre_shared_key") @_builtins.property - @pulumi.getter(name="targetPool") - def target_pool(self) -> _builtins.str: + @pulumi.getter(name="preSharedKeyWo") + def pre_shared_key_wo(self) -> Optional[_builtins.str]: """ - Reference target pool by target pool name. + **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. """ - return pulumi.get(self, "target_pool") + return pulumi.get(self, "pre_shared_key_wo") @_builtins.property - @pulumi.getter(name="webSocket") - def web_socket(self) -> _builtins.bool: + @pulumi.getter(name="preSharedKeyWoVersion") + def pre_shared_key_wo_version(self) -> Optional[_builtins.int]: """ - If enabled, when client sends an HTTP request with and Upgrade header, indicating the desire to establish a Websocket connection, if backend server supports WebSocket, it responds with HTTP 101 status code, switching protocols from HTTP to WebSocket. Hence the client and the server can exchange data in real-time using one long-lived TCP connection. + 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. """ - return pulumi.get(self, "web_socket") + return pulumi.get(self, "pre_shared_key_wo_version") @pulumi.output_type -class GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceResult(dict): - def __init__(__self__, *, - name: _builtins.str, - ttl: _builtins.str): - """ - :param _builtins.str name: The name of the cookie to use. - :param _builtins.str ttl: TTL specifies the time-to-live for the cookie. The default value is 0s, and it acts as a session cookie, expiring when the client session ends. - """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "ttl", ttl) +class VpnConnectionTunnel2Bgp(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "remoteAsn": + suggest = "remote_asn" - @_builtins.property - @pulumi.getter - def name(self) -> _builtins.str: + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VpnConnectionTunnel2Bgp. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VpnConnectionTunnel2Bgp.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VpnConnectionTunnel2Bgp.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + remote_asn: _builtins.int): """ - The name of the cookie to use. + :param _builtins.int remote_asn: Remote ASN for BGP peering (private ASN range, 64512-4294967294). """ - return pulumi.get(self, "name") + pulumi.set(__self__, "remote_asn", remote_asn) @_builtins.property - @pulumi.getter - def ttl(self) -> _builtins.str: + @pulumi.getter(name="remoteAsn") + def remote_asn(self) -> _builtins.int: """ - TTL specifies the time-to-live for the cookie. The default value is 0s, and it acts as a session cookie, expiring when the client session ends. + Remote ASN for BGP peering (private ASN range, 64512-4294967294). """ - return pulumi.get(self, "ttl") + return pulumi.get(self, "remote_asn") @pulumi.output_type -class GetApplicationLoadBalancerListenerHttpHostRuleHeaderResult(dict): +class VpnConnectionTunnel2Peering(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "localAddress": + suggest = "local_address" + elif key == "remoteAddress": + suggest = "remote_address" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VpnConnectionTunnel2Peering. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VpnConnectionTunnel2Peering.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VpnConnectionTunnel2Peering.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, - exact_match: _builtins.str, - name: _builtins.str): + local_address: _builtins.str, + remote_address: _builtins.str): """ - :param _builtins.str exact_match: Exact match for the header value. - :param _builtins.str name: Header name. + :param _builtins.str local_address: Local tunnel interface IPv4 address. + :param _builtins.str remote_address: Remote tunnel interface IPv4 address. """ - pulumi.set(__self__, "exact_match", exact_match) - pulumi.set(__self__, "name", name) + pulumi.set(__self__, "local_address", local_address) + pulumi.set(__self__, "remote_address", remote_address) @_builtins.property - @pulumi.getter(name="exactMatch") - def exact_match(self) -> _builtins.str: + @pulumi.getter(name="localAddress") + def local_address(self) -> _builtins.str: """ - Exact match for the header value. + Local tunnel interface IPv4 address. """ - return pulumi.get(self, "exact_match") + return pulumi.get(self, "local_address") @_builtins.property - @pulumi.getter - def name(self) -> _builtins.str: + @pulumi.getter(name="remoteAddress") + def remote_address(self) -> _builtins.str: """ - Header name. + Remote tunnel interface IPv4 address. """ - return pulumi.get(self, "name") + return pulumi.get(self, "remote_address") @pulumi.output_type -class GetApplicationLoadBalancerListenerHttpHostRulePathResult(dict): +class VpnConnectionTunnel2Phase1(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "encryptionAlgorithms": + suggest = "encryption_algorithms" + elif key == "integrityAlgorithms": + suggest = "integrity_algorithms" + elif key == "dhGroups": + suggest = "dh_groups" + elif key == "rekeyTime": + suggest = "rekey_time" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VpnConnectionTunnel2Phase1. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VpnConnectionTunnel2Phase1.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VpnConnectionTunnel2Phase1.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, - exact_match: _builtins.str, - prefix: _builtins.str): + encryption_algorithms: Sequence[_builtins.str], + integrity_algorithms: Sequence[_builtins.str], + dh_groups: Optional[Sequence[_builtins.str]] = None, + rekey_time: Optional[_builtins.int] = None): """ - :param _builtins.str exact_match: Exact path match. Only a request path exactly equal to the value will match, e.g. '/foo' matches only '/foo', not '/foo/bar' or '/foobar'. - :param _builtins.str prefix: Prefix path match. Only matches on full segment boundaries, e.g. '/foo' matches '/foo' and '/foo/bar' but NOT '/foobar'. + :param Sequence[_builtins.str] encryption_algorithms: Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + :param Sequence[_builtins.str] integrity_algorithms: Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2_256`, `sha2_384`. + :param Sequence[_builtins.str] dh_groups: Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + :param _builtins.int rekey_time: Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. """ - pulumi.set(__self__, "exact_match", exact_match) - pulumi.set(__self__, "prefix", prefix) + pulumi.set(__self__, "encryption_algorithms", encryption_algorithms) + pulumi.set(__self__, "integrity_algorithms", integrity_algorithms) + if dh_groups is not None: + pulumi.set(__self__, "dh_groups", dh_groups) + if rekey_time is not None: + pulumi.set(__self__, "rekey_time", rekey_time) @_builtins.property - @pulumi.getter(name="exactMatch") - def exact_match(self) -> _builtins.str: + @pulumi.getter(name="encryptionAlgorithms") + def encryption_algorithms(self) -> Sequence[_builtins.str]: """ - Exact path match. Only a request path exactly equal to the value will match, e.g. '/foo' matches only '/foo', not '/foo/bar' or '/foobar'. + Encryption algorithms for Phase 1. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. """ - return pulumi.get(self, "exact_match") + return pulumi.get(self, "encryption_algorithms") @_builtins.property - @pulumi.getter - def prefix(self) -> _builtins.str: - """ - Prefix path match. Only matches on full segment boundaries, e.g. '/foo' matches '/foo' and '/foo/bar' but NOT '/foobar'. - """ - return pulumi.get(self, "prefix") - - -@pulumi.output_type -class GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterResult(dict): - def __init__(__self__, *, - exact_match: _builtins.str, - name: _builtins.str): + @pulumi.getter(name="integrityAlgorithms") + def integrity_algorithms(self) -> Sequence[_builtins.str]: """ - :param _builtins.str exact_match: Exact match for the query parameters value. - :param _builtins.str name: Query parameter name. + Integrity algorithms for Phase 1. Possible values are: `sha1`, `sha2_256`, `sha2_384`. """ - pulumi.set(__self__, "exact_match", exact_match) - pulumi.set(__self__, "name", name) + return pulumi.get(self, "integrity_algorithms") @_builtins.property - @pulumi.getter(name="exactMatch") - def exact_match(self) -> _builtins.str: + @pulumi.getter(name="dhGroups") + def dh_groups(self) -> Optional[Sequence[_builtins.str]]: """ - Exact match for the query parameters value. + Diffie-Hellman groups for key exchange. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. """ - return pulumi.get(self, "exact_match") + return pulumi.get(self, "dh_groups") @_builtins.property - @pulumi.getter - def name(self) -> _builtins.str: + @pulumi.getter(name="rekeyTime") + def rekey_time(self) -> Optional[_builtins.int]: """ - Query parameter name. + Time to schedule an IKE re-keying in seconds. Range: 900-28800. Default: 14400. """ - return pulumi.get(self, "name") + return pulumi.get(self, "rekey_time") @pulumi.output_type -class GetApplicationLoadBalancerListenerHttpsResult(dict): +class VpnConnectionTunnel2Phase2(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "encryptionAlgorithms": + suggest = "encryption_algorithms" + elif key == "integrityAlgorithms": + suggest = "integrity_algorithms" + elif key == "dhGroups": + suggest = "dh_groups" + elif key == "dpdAction": + suggest = "dpd_action" + elif key == "rekeyTime": + suggest = "rekey_time" + elif key == "startAction": + suggest = "start_action" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VpnConnectionTunnel2Phase2. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VpnConnectionTunnel2Phase2.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VpnConnectionTunnel2Phase2.__key_warning(key) + return super().get(key, default) + def __init__(__self__, *, - certificate_config: 'outputs.GetApplicationLoadBalancerListenerHttpsCertificateConfigResult'): + encryption_algorithms: Sequence[_builtins.str], + integrity_algorithms: Sequence[_builtins.str], + dh_groups: Optional[Sequence[_builtins.str]] = None, + dpd_action: Optional[_builtins.str] = None, + rekey_time: Optional[_builtins.int] = None, + start_action: Optional[_builtins.str] = None): """ - :param 'GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs' certificate_config: TLS termination certificate configuration. + :param Sequence[_builtins.str] encryption_algorithms: Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. + :param Sequence[_builtins.str] integrity_algorithms: Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2_256`, `sha2_384`. + :param Sequence[_builtins.str] dh_groups: Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. + :param _builtins.str dpd_action: Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. + :param _builtins.int rekey_time: Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. + :param _builtins.str start_action: Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. """ - pulumi.set(__self__, "certificate_config", certificate_config) + pulumi.set(__self__, "encryption_algorithms", encryption_algorithms) + pulumi.set(__self__, "integrity_algorithms", integrity_algorithms) + if dh_groups is not None: + pulumi.set(__self__, "dh_groups", dh_groups) + if dpd_action is not None: + pulumi.set(__self__, "dpd_action", dpd_action) + if rekey_time is not None: + pulumi.set(__self__, "rekey_time", rekey_time) + if start_action is not None: + pulumi.set(__self__, "start_action", start_action) @_builtins.property - @pulumi.getter(name="certificateConfig") - def certificate_config(self) -> 'outputs.GetApplicationLoadBalancerListenerHttpsCertificateConfigResult': + @pulumi.getter(name="encryptionAlgorithms") + def encryption_algorithms(self) -> Sequence[_builtins.str]: """ - TLS termination certificate configuration. + Encryption algorithms for Phase 2. Possible values are: `aes256`, `aes128gcm16`, `aes256gcm16`. """ - return pulumi.get(self, "certificate_config") - + return pulumi.get(self, "encryption_algorithms") -@pulumi.output_type -class GetApplicationLoadBalancerListenerHttpsCertificateConfigResult(dict): - def __init__(__self__, *, - certificate_ids: Sequence[_builtins.str]): + @_builtins.property + @pulumi.getter(name="integrityAlgorithms") + def integrity_algorithms(self) -> Sequence[_builtins.str]: """ - :param Sequence[_builtins.str] certificate_ids: Certificate IDs for TLS termination. + Integrity algorithms for Phase 2. Possible values are: `sha1`, `sha2_256`, `sha2_384`. """ - pulumi.set(__self__, "certificate_ids", certificate_ids) + return pulumi.get(self, "integrity_algorithms") @_builtins.property - @pulumi.getter(name="certificateIds") - def certificate_ids(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="dhGroups") + def dh_groups(self) -> Optional[Sequence[_builtins.str]]: """ - Certificate IDs for TLS termination. + Diffie-Hellman groups for Phase 2. Possible values are: `modp1024`, `modp2048`, `ecp256`, `ecp384`, `modp2048s256`. """ - return pulumi.get(self, "certificate_ids") - + return pulumi.get(self, "dh_groups") -@pulumi.output_type -class GetApplicationLoadBalancerLoadBalancerSecurityGroupResult(dict): - def __init__(__self__, *, - id: _builtins.str, - name: _builtins.str): + @_builtins.property + @pulumi.getter(name="dpdAction") + def dpd_action(self) -> Optional[_builtins.str]: """ - :param _builtins.str id: ID of the security Group - :param _builtins.str name: Name of the security Group + Action to perform on DPD timeout. Default: 'restart'. Possible values are: `clear`, `restart`. """ - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "name", name) + return pulumi.get(self, "dpd_action") @_builtins.property - @pulumi.getter - def id(self) -> _builtins.str: + @pulumi.getter(name="rekeyTime") + def rekey_time(self) -> Optional[_builtins.int]: """ - ID of the security Group + Time to schedule a Child SA re-keying in seconds. Range: 900-3600. Default: 3600. """ - return pulumi.get(self, "id") + return pulumi.get(self, "rekey_time") @_builtins.property - @pulumi.getter - def name(self) -> _builtins.str: + @pulumi.getter(name="startAction") + def start_action(self) -> Optional[_builtins.str]: """ - Name of the security Group + Action to perform after loading the connection configuration. Default: 'start'. Possible values are: `none`, `start`. """ - return pulumi.get(self, "name") + return pulumi.get(self, "start_action") @pulumi.output_type -class GetApplicationLoadBalancerNetworkResult(dict): +class VpnGatewayAvailabilityZones(dict): def __init__(__self__, *, - network_id: _builtins.str, - role: _builtins.str): + tunnel1: _builtins.str, + tunnel2: _builtins.str): """ - :param _builtins.str network_id: STACKIT network ID the Application Load Balancer and/or targets are in. - :param _builtins.str role: The role defines how the Application Load Balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. + :param _builtins.str tunnel1: Availability zone for tunnel 1. + :param _builtins.str tunnel2: Availability zone for tunnel 2. """ - pulumi.set(__self__, "network_id", network_id) - pulumi.set(__self__, "role", role) + pulumi.set(__self__, "tunnel1", tunnel1) + pulumi.set(__self__, "tunnel2", tunnel2) @_builtins.property - @pulumi.getter(name="networkId") - def network_id(self) -> _builtins.str: + @pulumi.getter + def tunnel1(self) -> _builtins.str: """ - STACKIT network ID the Application Load Balancer and/or targets are in. + Availability zone for tunnel 1. """ - return pulumi.get(self, "network_id") + return pulumi.get(self, "tunnel1") @_builtins.property @pulumi.getter - def role(self) -> _builtins.str: + def tunnel2(self) -> _builtins.str: """ - The role defines how the Application Load Balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. + Availability zone for tunnel 2. """ - return pulumi.get(self, "role") + return pulumi.get(self, "tunnel2") @pulumi.output_type -class GetApplicationLoadBalancerOptionsResult(dict): - def __init__(__self__, *, - access_control: 'outputs.GetApplicationLoadBalancerOptionsAccessControlResult', - ephemeral_address: _builtins.bool, - observability: 'outputs.GetApplicationLoadBalancerOptionsObservabilityResult', - private_network_only: _builtins.bool): - """ - :param 'GetApplicationLoadBalancerOptionsAccessControlArgs' access_control: Use this option to limit the IP ranges that can use the Application Load Balancer. - :param _builtins.bool ephemeral_address: This option automates the handling of the external IP address for an Application Load Balancer. If set to true a new IP address will be automatically created. It will also be automatically deleted when the Load Balancer is deleted. - :param 'GetApplicationLoadBalancerOptionsObservabilityArgs' observability: We offer Load Balancer observability via STACKIT Observability or external solutions. - :param _builtins.bool private_network_only: Application Load Balancer is accessible only via a private network ip address. Not changeable after creation. - """ - pulumi.set(__self__, "access_control", access_control) - pulumi.set(__self__, "ephemeral_address", ephemeral_address) - pulumi.set(__self__, "observability", observability) - pulumi.set(__self__, "private_network_only", private_network_only) +class VpnGatewayBgp(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "localAsn": + suggest = "local_asn" + elif key == "overrideAdvertisedRoutes": + suggest = "override_advertised_routes" - @_builtins.property - @pulumi.getter(name="accessControl") - def access_control(self) -> 'outputs.GetApplicationLoadBalancerOptionsAccessControlResult': - """ - Use this option to limit the IP ranges that can use the Application Load Balancer. - """ - return pulumi.get(self, "access_control") + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VpnGatewayBgp. Access the value via the '{suggest}' property getter instead.") - @_builtins.property - @pulumi.getter(name="ephemeralAddress") - def ephemeral_address(self) -> _builtins.bool: - """ - This option automates the handling of the external IP address for an Application Load Balancer. If set to true a new IP address will be automatically created. It will also be automatically deleted when the Load Balancer is deleted. - """ - return pulumi.get(self, "ephemeral_address") + def __getitem__(self, key: str) -> Any: + VpnGatewayBgp.__key_warning(key) + return super().__getitem__(key) - @_builtins.property - @pulumi.getter - def observability(self) -> 'outputs.GetApplicationLoadBalancerOptionsObservabilityResult': - """ - We offer Load Balancer observability via STACKIT Observability or external solutions. - """ - return pulumi.get(self, "observability") + def get(self, key: str, default = None) -> Any: + VpnGatewayBgp.__key_warning(key) + return super().get(key, default) - @_builtins.property - @pulumi.getter(name="privateNetworkOnly") - def private_network_only(self) -> _builtins.bool: + def __init__(__self__, *, + local_asn: _builtins.int, + override_advertised_routes: Optional[Sequence[_builtins.str]] = None): """ - Application Load Balancer is accessible only via a private network ip address. Not changeable after creation. + :param _builtins.int local_asn: Local ASN for BGP (private ASN range, 64512-4294967294). + :param Sequence[_builtins.str] override_advertised_routes: List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. """ - return pulumi.get(self, "private_network_only") - + pulumi.set(__self__, "local_asn", local_asn) + if override_advertised_routes is not None: + pulumi.set(__self__, "override_advertised_routes", override_advertised_routes) -@pulumi.output_type -class GetApplicationLoadBalancerOptionsAccessControlResult(dict): - def __init__(__self__, *, - allowed_source_ranges: Sequence[_builtins.str]): + @_builtins.property + @pulumi.getter(name="localAsn") + def local_asn(self) -> _builtins.int: """ - :param Sequence[_builtins.str] allowed_source_ranges: Application Load Balancer is accessible only from an IP address in this range. + Local ASN for BGP (private ASN range, 64512-4294967294). """ - pulumi.set(__self__, "allowed_source_ranges", allowed_source_ranges) + return pulumi.get(self, "local_asn") @_builtins.property - @pulumi.getter(name="allowedSourceRanges") - def allowed_source_ranges(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="overrideAdvertisedRoutes") + def override_advertised_routes(self) -> Optional[Sequence[_builtins.str]]: """ - Application Load Balancer is accessible only from an IP address in this range. + List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. """ - return pulumi.get(self, "allowed_source_ranges") + return pulumi.get(self, "override_advertised_routes") @pulumi.output_type -class GetApplicationLoadBalancerOptionsObservabilityResult(dict): +class GetApplicationLoadBalancerErrorResult(dict): def __init__(__self__, *, - logs: 'outputs.GetApplicationLoadBalancerOptionsObservabilityLogsResult', - metrics: 'outputs.GetApplicationLoadBalancerOptionsObservabilityMetricsResult'): + description: _builtins.str, + type: _builtins.str): """ - :param 'GetApplicationLoadBalancerOptionsObservabilityLogsArgs' logs: Observability logs configuration. - :param 'GetApplicationLoadBalancerOptionsObservabilityMetricsArgs' metrics: Observability metrics configuration. + :param _builtins.str description: The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. + :param _builtins.str type: The error type specifies which part of the Application Load Balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the Application Load Balancer with try to use the provided IP and if not available reports TYPE*FIP*NOT_CONFIGURED error. Possible values are: `TYPE_UNSPECIFIED`, `TYPE_INTERNAL`, `TYPE_QUOTA_SECGROUP_EXCEEDED`, `TYPE_QUOTA_SECGROUPRULE_EXCEEDED`, `TYPE_PORT_NOT_CONFIGURED`, `TYPE_FIP_NOT_CONFIGURED`, `TYPE_TARGET_NOT_ACTIVE`, `TYPE_METRICS_MISCONFIGURED`, `TYPE_LOGS_MISCONFIGURED`. """ - pulumi.set(__self__, "logs", logs) - pulumi.set(__self__, "metrics", metrics) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "type", type) @_builtins.property @pulumi.getter - def logs(self) -> 'outputs.GetApplicationLoadBalancerOptionsObservabilityLogsResult': + def description(self) -> _builtins.str: """ - Observability logs configuration. + The error description contains additional helpful user information to fix the error state of the Application Load Balancer. For example the IP 45.135.247.139 does not exist in the project, then the description will report: Floating IP "45.135.247.139" could not be found. """ - return pulumi.get(self, "logs") + return pulumi.get(self, "description") @_builtins.property @pulumi.getter - def metrics(self) -> 'outputs.GetApplicationLoadBalancerOptionsObservabilityMetricsResult': + def type(self) -> _builtins.str: """ - Observability metrics configuration. + The error type specifies which part of the Application Load Balancer encountered the error. I.e. the API will not check if a provided public IP is actually available in the project. Instead the Application Load Balancer with try to use the provided IP and if not available reports TYPE*FIP*NOT_CONFIGURED error. Possible values are: `TYPE_UNSPECIFIED`, `TYPE_INTERNAL`, `TYPE_QUOTA_SECGROUP_EXCEEDED`, `TYPE_QUOTA_SECGROUPRULE_EXCEEDED`, `TYPE_PORT_NOT_CONFIGURED`, `TYPE_FIP_NOT_CONFIGURED`, `TYPE_TARGET_NOT_ACTIVE`, `TYPE_METRICS_MISCONFIGURED`, `TYPE_LOGS_MISCONFIGURED`. """ - return pulumi.get(self, "metrics") + return pulumi.get(self, "type") @pulumi.output_type -class GetApplicationLoadBalancerOptionsObservabilityLogsResult(dict): +class GetApplicationLoadBalancerListenerResult(dict): def __init__(__self__, *, - credentials_ref: _builtins.str, - push_url: _builtins.str): + http: 'outputs.GetApplicationLoadBalancerListenerHttpResult', + https: 'outputs.GetApplicationLoadBalancerListenerHttpsResult', + name: _builtins.str, + port: _builtins.int, + protocol: _builtins.str, + waf_config_name: _builtins.str): """ - :param _builtins.str credentials_ref: Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. - :param _builtins.str push_url: Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + :param 'GetApplicationLoadBalancerListenerHttpArgs' http: Configuration for HTTP traffic. + :param 'GetApplicationLoadBalancerListenerHttpsArgs' https: Configuration for handling HTTPS traffic on this listener. + :param _builtins.str name: Unique name for the listener + :param _builtins.int port: Port number on which the listener receives incoming traffic. + :param _builtins.str protocol: Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`. + :param _builtins.str waf_config_name: Enable Web Application Firewall (WAF), referenced by name. See "Application Load Balancer - Web Application Firewall API" for more information. """ - pulumi.set(__self__, "credentials_ref", credentials_ref) - pulumi.set(__self__, "push_url", push_url) + pulumi.set(__self__, "http", http) + pulumi.set(__self__, "https", https) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "port", port) + pulumi.set(__self__, "protocol", protocol) + pulumi.set(__self__, "waf_config_name", waf_config_name) @_builtins.property - @pulumi.getter(name="credentialsRef") - def credentials_ref(self) -> _builtins.str: + @pulumi.getter + def http(self) -> 'outputs.GetApplicationLoadBalancerListenerHttpResult': """ - Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + Configuration for HTTP traffic. """ - return pulumi.get(self, "credentials_ref") + return pulumi.get(self, "http") @_builtins.property - @pulumi.getter(name="pushUrl") - def push_url(self) -> _builtins.str: + @pulumi.getter + def https(self) -> 'outputs.GetApplicationLoadBalancerListenerHttpsResult': """ - Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + Configuration for handling HTTPS traffic on this listener. """ - return pulumi.get(self, "push_url") + return pulumi.get(self, "https") + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + Unique name for the listener + """ + return pulumi.get(self, "name") -@pulumi.output_type -class GetApplicationLoadBalancerOptionsObservabilityMetricsResult(dict): - def __init__(__self__, *, - credentials_ref: _builtins.str, - push_url: _builtins.str): + @_builtins.property + @pulumi.getter + def port(self) -> _builtins.int: """ - :param _builtins.str credentials_ref: Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. - :param _builtins.str push_url: Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + Port number on which the listener receives incoming traffic. """ - pulumi.set(__self__, "credentials_ref", credentials_ref) - pulumi.set(__self__, "push_url", push_url) + return pulumi.get(self, "port") @_builtins.property - @pulumi.getter(name="credentialsRef") - def credentials_ref(self) -> _builtins.str: + @pulumi.getter + def protocol(self) -> _builtins.str: """ - Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`. """ - return pulumi.get(self, "credentials_ref") + return pulumi.get(self, "protocol") @_builtins.property - @pulumi.getter(name="pushUrl") - def push_url(self) -> _builtins.str: + @pulumi.getter(name="wafConfigName") + def waf_config_name(self) -> _builtins.str: """ - Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + Enable Web Application Firewall (WAF), referenced by name. See "Application Load Balancer - Web Application Firewall API" for more information. """ - return pulumi.get(self, "push_url") + return pulumi.get(self, "waf_config_name") @pulumi.output_type -class GetApplicationLoadBalancerTargetPoolResult(dict): +class GetApplicationLoadBalancerListenerHttpResult(dict): def __init__(__self__, *, - active_health_check: 'outputs.GetApplicationLoadBalancerTargetPoolActiveHealthCheckResult', - name: _builtins.str, - target_port: _builtins.int, - targets: Sequence['outputs.GetApplicationLoadBalancerTargetPoolTargetResult'], - tls_config: 'outputs.GetApplicationLoadBalancerTargetPoolTlsConfigResult'): + hosts: Sequence['outputs.GetApplicationLoadBalancerListenerHttpHostResult']): """ - :param _builtins.str name: Target pool name. - :param _builtins.int target_port: The number identifying the port where each target listens for traffic. - :param Sequence['GetApplicationLoadBalancerTargetPoolTargetArgs'] targets: List of all targets which will be used in the pool. Limited to 250. - :param 'GetApplicationLoadBalancerTargetPoolTlsConfigArgs' tls_config: Configuration for TLS bridging. + :param Sequence['GetApplicationLoadBalancerListenerHttpHostArgs'] hosts: Defines routing rules grouped by hostname. """ - pulumi.set(__self__, "active_health_check", active_health_check) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "target_port", target_port) - pulumi.set(__self__, "targets", targets) - pulumi.set(__self__, "tls_config", tls_config) - - @_builtins.property - @pulumi.getter(name="activeHealthCheck") - def active_health_check(self) -> 'outputs.GetApplicationLoadBalancerTargetPoolActiveHealthCheckResult': - return pulumi.get(self, "active_health_check") + pulumi.set(__self__, "hosts", hosts) @_builtins.property @pulumi.getter - def name(self) -> _builtins.str: + def hosts(self) -> Sequence['outputs.GetApplicationLoadBalancerListenerHttpHostResult']: """ - Target pool name. + Defines routing rules grouped by hostname. """ - return pulumi.get(self, "name") + return pulumi.get(self, "hosts") - @_builtins.property - @pulumi.getter(name="targetPort") - def target_port(self) -> _builtins.int: + +@pulumi.output_type +class GetApplicationLoadBalancerListenerHttpHostResult(dict): + def __init__(__self__, *, + host: _builtins.str, + rules: Sequence['outputs.GetApplicationLoadBalancerListenerHttpHostRuleResult']): """ - The number identifying the port where each target listens for traffic. + :param _builtins.str host: Hostname to match. Supports wildcards (e.g. *.example.com). + :param Sequence['GetApplicationLoadBalancerListenerHttpHostRuleArgs'] rules: Routing rules under the specified host, matched by path prefix. """ - return pulumi.get(self, "target_port") + pulumi.set(__self__, "host", host) + pulumi.set(__self__, "rules", rules) @_builtins.property @pulumi.getter - def targets(self) -> Sequence['outputs.GetApplicationLoadBalancerTargetPoolTargetResult']: + def host(self) -> _builtins.str: """ - List of all targets which will be used in the pool. Limited to 250. + Hostname to match. Supports wildcards (e.g. *.example.com). """ - return pulumi.get(self, "targets") + return pulumi.get(self, "host") @_builtins.property - @pulumi.getter(name="tlsConfig") - def tls_config(self) -> 'outputs.GetApplicationLoadBalancerTargetPoolTlsConfigResult': + @pulumi.getter + def rules(self) -> Sequence['outputs.GetApplicationLoadBalancerListenerHttpHostRuleResult']: """ - Configuration for TLS bridging. + Routing rules under the specified host, matched by path prefix. """ - return pulumi.get(self, "tls_config") + return pulumi.get(self, "rules") @pulumi.output_type -class GetApplicationLoadBalancerTargetPoolActiveHealthCheckResult(dict): +class GetApplicationLoadBalancerListenerHttpHostRuleResult(dict): def __init__(__self__, *, - healthy_threshold: _builtins.int, - http_health_checks: 'outputs.GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksResult', - interval: _builtins.str, - interval_jitter: _builtins.str, - timeout: _builtins.str, - unhealthy_threshold: _builtins.int): - """ - :param _builtins.int healthy_threshold: Healthy threshold of the health checking. - :param 'GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs' http_health_checks: Options for the HTTP health checking. - :param _builtins.str interval: Interval duration of health checking in seconds. - :param _builtins.str interval_jitter: Interval duration threshold of the health checking in seconds. - :param _builtins.str timeout: Active health checking timeout duration in seconds. - :param _builtins.int unhealthy_threshold: Unhealthy threshold of the health checking. + cookie_persistence: 'outputs.GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceResult', + headers: Sequence['outputs.GetApplicationLoadBalancerListenerHttpHostRuleHeaderResult'], + path: 'outputs.GetApplicationLoadBalancerListenerHttpHostRulePathResult', + query_parameters: Sequence['outputs.GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterResult'], + target_pool: _builtins.str, + web_socket: _builtins.bool): """ - pulumi.set(__self__, "healthy_threshold", healthy_threshold) - pulumi.set(__self__, "http_health_checks", http_health_checks) - pulumi.set(__self__, "interval", interval) - pulumi.set(__self__, "interval_jitter", interval_jitter) - pulumi.set(__self__, "timeout", timeout) - pulumi.set(__self__, "unhealthy_threshold", unhealthy_threshold) + :param 'GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs' cookie_persistence: Routing persistence via cookies. + :param Sequence['GetApplicationLoadBalancerListenerHttpHostRuleHeaderArgs'] headers: Headers for the rule. + :param 'GetApplicationLoadBalancerListenerHttpHostRulePathArgs' path: Routing via path. + :param Sequence['GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs'] query_parameters: Query parameters for the rule. + :param _builtins.str target_pool: Reference target pool by target pool name. + :param _builtins.bool web_socket: If enabled, when client sends an HTTP request with and Upgrade header, indicating the desire to establish a Websocket connection, if backend server supports WebSocket, it responds with HTTP 101 status code, switching protocols from HTTP to WebSocket. Hence the client and the server can exchange data in real-time using one long-lived TCP connection. + """ + pulumi.set(__self__, "cookie_persistence", cookie_persistence) + pulumi.set(__self__, "headers", headers) + pulumi.set(__self__, "path", path) + pulumi.set(__self__, "query_parameters", query_parameters) + pulumi.set(__self__, "target_pool", target_pool) + pulumi.set(__self__, "web_socket", web_socket) @_builtins.property - @pulumi.getter(name="healthyThreshold") - def healthy_threshold(self) -> _builtins.int: + @pulumi.getter(name="cookiePersistence") + def cookie_persistence(self) -> 'outputs.GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceResult': """ - Healthy threshold of the health checking. + Routing persistence via cookies. """ - return pulumi.get(self, "healthy_threshold") + return pulumi.get(self, "cookie_persistence") @_builtins.property - @pulumi.getter(name="httpHealthChecks") - def http_health_checks(self) -> 'outputs.GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksResult': + @pulumi.getter + def headers(self) -> Sequence['outputs.GetApplicationLoadBalancerListenerHttpHostRuleHeaderResult']: """ - Options for the HTTP health checking. + Headers for the rule. """ - return pulumi.get(self, "http_health_checks") + return pulumi.get(self, "headers") @_builtins.property @pulumi.getter - def interval(self) -> _builtins.str: + def path(self) -> 'outputs.GetApplicationLoadBalancerListenerHttpHostRulePathResult': """ - Interval duration of health checking in seconds. + Routing via path. """ - return pulumi.get(self, "interval") + return pulumi.get(self, "path") @_builtins.property - @pulumi.getter(name="intervalJitter") - def interval_jitter(self) -> _builtins.str: + @pulumi.getter(name="queryParameters") + def query_parameters(self) -> Sequence['outputs.GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterResult']: """ - Interval duration threshold of the health checking in seconds. + Query parameters for the rule. """ - return pulumi.get(self, "interval_jitter") + return pulumi.get(self, "query_parameters") @_builtins.property - @pulumi.getter - def timeout(self) -> _builtins.str: + @pulumi.getter(name="targetPool") + def target_pool(self) -> _builtins.str: """ - Active health checking timeout duration in seconds. + Reference target pool by target pool name. """ - return pulumi.get(self, "timeout") + return pulumi.get(self, "target_pool") @_builtins.property - @pulumi.getter(name="unhealthyThreshold") - def unhealthy_threshold(self) -> _builtins.int: + @pulumi.getter(name="webSocket") + def web_socket(self) -> _builtins.bool: """ - Unhealthy threshold of the health checking. + If enabled, when client sends an HTTP request with and Upgrade header, indicating the desire to establish a Websocket connection, if backend server supports WebSocket, it responds with HTTP 101 status code, switching protocols from HTTP to WebSocket. Hence the client and the server can exchange data in real-time using one long-lived TCP connection. """ - return pulumi.get(self, "unhealthy_threshold") + return pulumi.get(self, "web_socket") @pulumi.output_type -class GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksResult(dict): +class GetApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceResult(dict): def __init__(__self__, *, - ok_statuses: Sequence[_builtins.str], - path: _builtins.str): + name: _builtins.str, + ttl: _builtins.str): """ - :param Sequence[_builtins.str] ok_statuses: List of HTTP status codes that indicate a healthy response. - :param _builtins.str path: Path to send the health check request to. + :param _builtins.str name: The name of the cookie to use. + :param _builtins.str ttl: TTL specifies the time-to-live for the cookie. The default value is 0s, and it acts as a session cookie, expiring when the client session ends. """ - pulumi.set(__self__, "ok_statuses", ok_statuses) - pulumi.set(__self__, "path", path) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "ttl", ttl) @_builtins.property - @pulumi.getter(name="okStatuses") - def ok_statuses(self) -> Sequence[_builtins.str]: + @pulumi.getter + def name(self) -> _builtins.str: """ - List of HTTP status codes that indicate a healthy response. + The name of the cookie to use. """ - return pulumi.get(self, "ok_statuses") + return pulumi.get(self, "name") @_builtins.property @pulumi.getter - def path(self) -> _builtins.str: + def ttl(self) -> _builtins.str: """ - Path to send the health check request to. + TTL specifies the time-to-live for the cookie. The default value is 0s, and it acts as a session cookie, expiring when the client session ends. """ - return pulumi.get(self, "path") + return pulumi.get(self, "ttl") @pulumi.output_type -class GetApplicationLoadBalancerTargetPoolTargetResult(dict): +class GetApplicationLoadBalancerListenerHttpHostRuleHeaderResult(dict): def __init__(__self__, *, - display_name: _builtins.str, - ip: _builtins.str): + exact_match: _builtins.str, + name: _builtins.str): """ - :param _builtins.str display_name: Target display name - :param _builtins.str ip: Private target IP, which must by unique within a target pool. + :param _builtins.str exact_match: Exact match for the header value. + :param _builtins.str name: Header name. """ - pulumi.set(__self__, "display_name", display_name) - pulumi.set(__self__, "ip", ip) + pulumi.set(__self__, "exact_match", exact_match) + pulumi.set(__self__, "name", name) @_builtins.property - @pulumi.getter(name="displayName") - def display_name(self) -> _builtins.str: + @pulumi.getter(name="exactMatch") + def exact_match(self) -> _builtins.str: """ - Target display name + Exact match for the header value. """ - return pulumi.get(self, "display_name") + return pulumi.get(self, "exact_match") @_builtins.property @pulumi.getter - def ip(self) -> _builtins.str: + def name(self) -> _builtins.str: """ - Private target IP, which must by unique within a target pool. + Header name. """ - return pulumi.get(self, "ip") + return pulumi.get(self, "name") @pulumi.output_type -class GetApplicationLoadBalancerTargetPoolTlsConfigResult(dict): +class GetApplicationLoadBalancerListenerHttpHostRulePathResult(dict): def __init__(__self__, *, - custom_ca: _builtins.str, - enabled: _builtins.bool, - skip_certificate_validation: _builtins.bool): + exact_match: _builtins.str, + prefix: _builtins.str): """ - :param _builtins.str custom_ca: Specifies a custom Certificate Authority (CA). When provided, the target pool will trust certificates signed by this CA, in addition to any system-trusted CAs. This is useful for scenarios where the target pool needs to communicate with servers using self-signed or internally-issued certificates. Enabled needs to be set to true and skip validation to false for this option. - :param _builtins.bool enabled: Enable TLS (Transport Layer Security) bridging for the connection between Application Load Balancer and targets in this pool. When enabled, public CAs are trusted. Can be used in tandem with the options either custom CA or skip validation or alone. - :param _builtins.bool skip_certificate_validation: Bypass certificate validation for TLS bridging in this target pool. This option is insecure and can only be used with public CAs by setting enabled true. Meant to be used for testing purposes only! + :param _builtins.str exact_match: Exact path match. Only a request path exactly equal to the value will match, e.g. '/foo' matches only '/foo', not '/foo/bar' or '/foobar'. + :param _builtins.str prefix: Prefix path match. Only matches on full segment boundaries, e.g. '/foo' matches '/foo' and '/foo/bar' but NOT '/foobar'. """ - pulumi.set(__self__, "custom_ca", custom_ca) - pulumi.set(__self__, "enabled", enabled) - pulumi.set(__self__, "skip_certificate_validation", skip_certificate_validation) + pulumi.set(__self__, "exact_match", exact_match) + pulumi.set(__self__, "prefix", prefix) @_builtins.property - @pulumi.getter(name="customCa") - def custom_ca(self) -> _builtins.str: + @pulumi.getter(name="exactMatch") + def exact_match(self) -> _builtins.str: """ - Specifies a custom Certificate Authority (CA). When provided, the target pool will trust certificates signed by this CA, in addition to any system-trusted CAs. This is useful for scenarios where the target pool needs to communicate with servers using self-signed or internally-issued certificates. Enabled needs to be set to true and skip validation to false for this option. + Exact path match. Only a request path exactly equal to the value will match, e.g. '/foo' matches only '/foo', not '/foo/bar' or '/foobar'. """ - return pulumi.get(self, "custom_ca") + return pulumi.get(self, "exact_match") @_builtins.property @pulumi.getter - def enabled(self) -> _builtins.bool: - """ - Enable TLS (Transport Layer Security) bridging for the connection between Application Load Balancer and targets in this pool. When enabled, public CAs are trusted. Can be used in tandem with the options either custom CA or skip validation or alone. - """ - return pulumi.get(self, "enabled") - - @_builtins.property - @pulumi.getter(name="skipCertificateValidation") - def skip_certificate_validation(self) -> _builtins.bool: + def prefix(self) -> _builtins.str: """ - Bypass certificate validation for TLS bridging in this target pool. This option is insecure and can only be used with public CAs by setting enabled true. Meant to be used for testing purposes only! + Prefix path match. Only matches on full segment boundaries, e.g. '/foo' matches '/foo' and '/foo/bar' but NOT '/foobar'. """ - return pulumi.get(self, "skip_certificate_validation") + return pulumi.get(self, "prefix") @pulumi.output_type -class GetApplicationLoadBalancerTargetSecurityGroupResult(dict): +class GetApplicationLoadBalancerListenerHttpHostRuleQueryParameterResult(dict): def __init__(__self__, *, - id: _builtins.str, + exact_match: _builtins.str, name: _builtins.str): """ - :param _builtins.str id: ID of the security Group - :param _builtins.str name: Name of the security Group + :param _builtins.str exact_match: Exact match for the query parameters value. + :param _builtins.str name: Query parameter name. """ - pulumi.set(__self__, "id", id) + pulumi.set(__self__, "exact_match", exact_match) pulumi.set(__self__, "name", name) @_builtins.property - @pulumi.getter - def id(self) -> _builtins.str: + @pulumi.getter(name="exactMatch") + def exact_match(self) -> _builtins.str: """ - ID of the security Group + Exact match for the query parameters value. """ - return pulumi.get(self, "id") + return pulumi.get(self, "exact_match") @_builtins.property @pulumi.getter def name(self) -> _builtins.str: """ - Name of the security Group + Query parameter name. """ return pulumi.get(self, "name") @pulumi.output_type -class GetCdnCustomDomainCertificateResult(dict): +class GetApplicationLoadBalancerListenerHttpsResult(dict): def __init__(__self__, *, - version: _builtins.int): + certificate_config: 'outputs.GetApplicationLoadBalancerListenerHttpsCertificateConfigResult'): """ - :param _builtins.int version: A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed. + :param 'GetApplicationLoadBalancerListenerHttpsCertificateConfigArgs' certificate_config: TLS termination certificate configuration. """ - pulumi.set(__self__, "version", version) + pulumi.set(__self__, "certificate_config", certificate_config) @_builtins.property - @pulumi.getter - def version(self) -> _builtins.int: + @pulumi.getter(name="certificateConfig") + def certificate_config(self) -> 'outputs.GetApplicationLoadBalancerListenerHttpsCertificateConfigResult': """ - A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed. + TLS termination certificate configuration. """ - return pulumi.get(self, "version") + return pulumi.get(self, "certificate_config") @pulumi.output_type -class GetCdnDistributionConfigResult(dict): +class GetApplicationLoadBalancerListenerHttpsCertificateConfigResult(dict): def __init__(__self__, *, - backend: 'outputs.GetCdnDistributionConfigBackendResult', - optimizer: 'outputs.GetCdnDistributionConfigOptimizerResult', - redirects: 'outputs.GetCdnDistributionConfigRedirectsResult', - regions: Sequence[_builtins.str], - waf: 'outputs.GetCdnDistributionConfigWafResult', - blocked_countries: Optional[Sequence[_builtins.str]] = None): + certificate_ids: Sequence[_builtins.str]): """ - :param 'GetCdnDistributionConfigBackendArgs' backend: The configured backend for the distribution - :param 'GetCdnDistributionConfigOptimizerArgs' optimizer: Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. - :param 'GetCdnDistributionConfigRedirectsArgs' redirects: A wrapper for a list of redirect rules that allows for redirect settings on a distribution - :param Sequence[_builtins.str] regions: The configured regions where content will be hosted - :param 'GetCdnDistributionConfigWafArgs' waf: Configures the Web Application Firewall (WAF) for the distribution. If this block is undefined or removed from your configuration, the WAF mode will default to DISABLED and the type to FREE. All other WAF properties will retain their last known state in the API; if they were never defined, the API will apply its default settings. - :param Sequence[_builtins.str] blocked_countries: The configured countries where distribution of content is blocked + :param Sequence[_builtins.str] certificate_ids: Certificate IDs for TLS termination. """ - pulumi.set(__self__, "backend", backend) - pulumi.set(__self__, "optimizer", optimizer) - pulumi.set(__self__, "redirects", redirects) - pulumi.set(__self__, "regions", regions) - pulumi.set(__self__, "waf", waf) - if blocked_countries is not None: - pulumi.set(__self__, "blocked_countries", blocked_countries) + pulumi.set(__self__, "certificate_ids", certificate_ids) @_builtins.property - @pulumi.getter - def backend(self) -> 'outputs.GetCdnDistributionConfigBackendResult': + @pulumi.getter(name="certificateIds") + def certificate_ids(self) -> Sequence[_builtins.str]: """ - The configured backend for the distribution + Certificate IDs for TLS termination. """ - return pulumi.get(self, "backend") + return pulumi.get(self, "certificate_ids") - @_builtins.property - @pulumi.getter - def optimizer(self) -> 'outputs.GetCdnDistributionConfigOptimizerResult': + +@pulumi.output_type +class GetApplicationLoadBalancerLoadBalancerSecurityGroupResult(dict): + def __init__(__self__, *, + id: _builtins.str, + name: _builtins.str): """ - Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. + :param _builtins.str id: ID of the security Group + :param _builtins.str name: Name of the security Group """ - return pulumi.get(self, "optimizer") + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "name", name) @_builtins.property @pulumi.getter - def redirects(self) -> 'outputs.GetCdnDistributionConfigRedirectsResult': + def id(self) -> _builtins.str: """ - A wrapper for a list of redirect rules that allows for redirect settings on a distribution + ID of the security Group """ - return pulumi.get(self, "redirects") + return pulumi.get(self, "id") @_builtins.property @pulumi.getter - def regions(self) -> Sequence[_builtins.str]: + def name(self) -> _builtins.str: """ - The configured regions where content will be hosted + Name of the security Group """ - return pulumi.get(self, "regions") - - @_builtins.property - @pulumi.getter - def waf(self) -> 'outputs.GetCdnDistributionConfigWafResult': - """ - Configures the Web Application Firewall (WAF) for the distribution. If this block is undefined or removed from your configuration, the WAF mode will default to DISABLED and the type to FREE. All other WAF properties will retain their last known state in the API; if they were never defined, the API will apply its default settings. - """ - return pulumi.get(self, "waf") - - @_builtins.property - @pulumi.getter(name="blockedCountries") - def blocked_countries(self) -> Optional[Sequence[_builtins.str]]: - """ - The configured countries where distribution of content is blocked - """ - return pulumi.get(self, "blocked_countries") + return pulumi.get(self, "name") @pulumi.output_type -class GetCdnDistributionConfigBackendResult(dict): +class GetApplicationLoadBalancerNetworkResult(dict): def __init__(__self__, *, - bucket_url: _builtins.str, - geofencing: Mapping[str, Sequence[_builtins.str]], - origin_request_headers: Mapping[str, _builtins.str], - origin_url: _builtins.str, - region: _builtins.str, - type: _builtins.str): + network_id: _builtins.str, + role: _builtins.str): """ - :param _builtins.str bucket_url: The URL of the bucket (e.g. https://s3.example.com). Required if type is 'bucket'. - :param Mapping[str, Sequence[_builtins.str]] geofencing: The configured type http to configure countries where content is allowed. A map of URLs to a list of countries - :param Mapping[str, _builtins.str] origin_request_headers: The configured type http origin request headers for the backend - :param _builtins.str origin_url: The configured backend type http for the distribution - :param _builtins.str region: The region where the bucket is hosted. Required if type is 'bucket'. - :param _builtins.str type: The configured backend type. Possible values are: `http`, `bucket`. + :param _builtins.str network_id: STACKIT network ID the Application Load Balancer and/or targets are in. + :param _builtins.str role: The role defines how the Application Load Balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. """ - pulumi.set(__self__, "bucket_url", bucket_url) - pulumi.set(__self__, "geofencing", geofencing) - pulumi.set(__self__, "origin_request_headers", origin_request_headers) - pulumi.set(__self__, "origin_url", origin_url) - pulumi.set(__self__, "region", region) - pulumi.set(__self__, "type", type) + pulumi.set(__self__, "network_id", network_id) + pulumi.set(__self__, "role", role) @_builtins.property - @pulumi.getter(name="bucketUrl") - def bucket_url(self) -> _builtins.str: + @pulumi.getter(name="networkId") + def network_id(self) -> _builtins.str: """ - The URL of the bucket (e.g. https://s3.example.com). Required if type is 'bucket'. + STACKIT network ID the Application Load Balancer and/or targets are in. """ - return pulumi.get(self, "bucket_url") + return pulumi.get(self, "network_id") @_builtins.property @pulumi.getter - def geofencing(self) -> Mapping[str, Sequence[_builtins.str]]: + def role(self) -> _builtins.str: """ - The configured type http to configure countries where content is allowed. A map of URLs to a list of countries + The role defines how the Application Load Balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. """ - return pulumi.get(self, "geofencing") + return pulumi.get(self, "role") - @_builtins.property - @pulumi.getter(name="originRequestHeaders") - def origin_request_headers(self) -> Mapping[str, _builtins.str]: + +@pulumi.output_type +class GetApplicationLoadBalancerOptionsResult(dict): + def __init__(__self__, *, + access_control: 'outputs.GetApplicationLoadBalancerOptionsAccessControlResult', + ephemeral_address: _builtins.bool, + observability: 'outputs.GetApplicationLoadBalancerOptionsObservabilityResult', + private_network_only: _builtins.bool): """ - The configured type http origin request headers for the backend + :param 'GetApplicationLoadBalancerOptionsAccessControlArgs' access_control: Use this option to limit the IP ranges that can use the Application Load Balancer. + :param _builtins.bool ephemeral_address: This option automates the handling of the external IP address for an Application Load Balancer. If set to true a new IP address will be automatically created. It will also be automatically deleted when the Load Balancer is deleted. + :param 'GetApplicationLoadBalancerOptionsObservabilityArgs' observability: We offer Load Balancer observability via STACKIT Observability or external solutions. + :param _builtins.bool private_network_only: Application Load Balancer is accessible only via a private network ip address. Not changeable after creation. """ - return pulumi.get(self, "origin_request_headers") + pulumi.set(__self__, "access_control", access_control) + pulumi.set(__self__, "ephemeral_address", ephemeral_address) + pulumi.set(__self__, "observability", observability) + pulumi.set(__self__, "private_network_only", private_network_only) @_builtins.property - @pulumi.getter(name="originUrl") - def origin_url(self) -> _builtins.str: + @pulumi.getter(name="accessControl") + def access_control(self) -> 'outputs.GetApplicationLoadBalancerOptionsAccessControlResult': """ - The configured backend type http for the distribution + Use this option to limit the IP ranges that can use the Application Load Balancer. """ - return pulumi.get(self, "origin_url") + return pulumi.get(self, "access_control") @_builtins.property - @pulumi.getter - def region(self) -> _builtins.str: + @pulumi.getter(name="ephemeralAddress") + def ephemeral_address(self) -> _builtins.bool: """ - The region where the bucket is hosted. Required if type is 'bucket'. + This option automates the handling of the external IP address for an Application Load Balancer. If set to true a new IP address will be automatically created. It will also be automatically deleted when the Load Balancer is deleted. """ - return pulumi.get(self, "region") + return pulumi.get(self, "ephemeral_address") @_builtins.property @pulumi.getter - def type(self) -> _builtins.str: + def observability(self) -> 'outputs.GetApplicationLoadBalancerOptionsObservabilityResult': """ - The configured backend type. Possible values are: `http`, `bucket`. + We offer Load Balancer observability via STACKIT Observability or external solutions. """ - return pulumi.get(self, "type") - - -@pulumi.output_type -class GetCdnDistributionConfigOptimizerResult(dict): - def __init__(__self__, *, - enabled: _builtins.bool): - pulumi.set(__self__, "enabled", enabled) + return pulumi.get(self, "observability") @_builtins.property - @pulumi.getter - def enabled(self) -> _builtins.bool: - return pulumi.get(self, "enabled") + @pulumi.getter(name="privateNetworkOnly") + def private_network_only(self) -> _builtins.bool: + """ + Application Load Balancer is accessible only via a private network ip address. Not changeable after creation. + """ + return pulumi.get(self, "private_network_only") @pulumi.output_type -class GetCdnDistributionConfigRedirectsResult(dict): +class GetApplicationLoadBalancerOptionsAccessControlResult(dict): def __init__(__self__, *, - rules: Sequence['outputs.GetCdnDistributionConfigRedirectsRuleResult']): + allowed_source_ranges: Sequence[_builtins.str]): """ - :param Sequence['GetCdnDistributionConfigRedirectsRuleArgs'] rules: A list of redirect rules. The order of rules matters for evaluation + :param Sequence[_builtins.str] allowed_source_ranges: Application Load Balancer is accessible only from an IP address in this range. """ - pulumi.set(__self__, "rules", rules) + pulumi.set(__self__, "allowed_source_ranges", allowed_source_ranges) @_builtins.property - @pulumi.getter - def rules(self) -> Sequence['outputs.GetCdnDistributionConfigRedirectsRuleResult']: + @pulumi.getter(name="allowedSourceRanges") + def allowed_source_ranges(self) -> Sequence[_builtins.str]: """ - A list of redirect rules. The order of rules matters for evaluation + Application Load Balancer is accessible only from an IP address in this range. """ - return pulumi.get(self, "rules") + return pulumi.get(self, "allowed_source_ranges") @pulumi.output_type -class GetCdnDistributionConfigRedirectsRuleResult(dict): +class GetApplicationLoadBalancerOptionsObservabilityResult(dict): def __init__(__self__, *, - description: _builtins.str, - enabled: _builtins.bool, - matchers: Sequence['outputs.GetCdnDistributionConfigRedirectsRuleMatcherResult'], - rule_match_condition: _builtins.str, - status_code: _builtins.int, - target_url: _builtins.str): + logs: 'outputs.GetApplicationLoadBalancerOptionsObservabilityLogsResult', + metrics: 'outputs.GetApplicationLoadBalancerOptionsObservabilityMetricsResult'): """ - :param _builtins.str description: An optional description for the redirect rule - :param _builtins.bool enabled: A toggle to enable or disable the redirect rule. Default to true - :param Sequence['GetCdnDistributionConfigRedirectsRuleMatcherArgs'] matchers: A list of matchers that define when this rule should apply. At least one matcher is required - :param _builtins.str rule_match_condition: Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. - :param _builtins.int status_code: The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308. - :param _builtins.str target_url: The target URL to redirect to. Must be a valid URI + :param 'GetApplicationLoadBalancerOptionsObservabilityLogsArgs' logs: Observability logs configuration. + :param 'GetApplicationLoadBalancerOptionsObservabilityMetricsArgs' metrics: Observability metrics configuration. """ - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "enabled", enabled) - pulumi.set(__self__, "matchers", matchers) - pulumi.set(__self__, "rule_match_condition", rule_match_condition) - pulumi.set(__self__, "status_code", status_code) - pulumi.set(__self__, "target_url", target_url) + pulumi.set(__self__, "logs", logs) + pulumi.set(__self__, "metrics", metrics) @_builtins.property @pulumi.getter - def description(self) -> _builtins.str: + def logs(self) -> 'outputs.GetApplicationLoadBalancerOptionsObservabilityLogsResult': """ - An optional description for the redirect rule + Observability logs configuration. """ - return pulumi.get(self, "description") + return pulumi.get(self, "logs") @_builtins.property @pulumi.getter - def enabled(self) -> _builtins.bool: + def metrics(self) -> 'outputs.GetApplicationLoadBalancerOptionsObservabilityMetricsResult': """ - A toggle to enable or disable the redirect rule. Default to true + Observability metrics configuration. """ - return pulumi.get(self, "enabled") + return pulumi.get(self, "metrics") - @_builtins.property - @pulumi.getter - def matchers(self) -> Sequence['outputs.GetCdnDistributionConfigRedirectsRuleMatcherResult']: - """ - A list of matchers that define when this rule should apply. At least one matcher is required - """ - return pulumi.get(self, "matchers") - @_builtins.property - @pulumi.getter(name="ruleMatchCondition") - def rule_match_condition(self) -> _builtins.str: +@pulumi.output_type +class GetApplicationLoadBalancerOptionsObservabilityLogsResult(dict): + def __init__(__self__, *, + credentials_ref: _builtins.str, + push_url: _builtins.str): """ - Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. + :param _builtins.str credentials_ref: Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + :param _builtins.str push_url: Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. """ - return pulumi.get(self, "rule_match_condition") + pulumi.set(__self__, "credentials_ref", credentials_ref) + pulumi.set(__self__, "push_url", push_url) @_builtins.property - @pulumi.getter(name="statusCode") - def status_code(self) -> _builtins.int: + @pulumi.getter(name="credentialsRef") + def credentials_ref(self) -> _builtins.str: """ - The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308. + Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. """ - return pulumi.get(self, "status_code") + return pulumi.get(self, "credentials_ref") @_builtins.property - @pulumi.getter(name="targetUrl") - def target_url(self) -> _builtins.str: + @pulumi.getter(name="pushUrl") + def push_url(self) -> _builtins.str: """ - The target URL to redirect to. Must be a valid URI + Credentials reference for logging. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the logging solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. """ - return pulumi.get(self, "target_url") + return pulumi.get(self, "push_url") @pulumi.output_type -class GetCdnDistributionConfigRedirectsRuleMatcherResult(dict): +class GetApplicationLoadBalancerOptionsObservabilityMetricsResult(dict): def __init__(__self__, *, - value_match_condition: _builtins.str, - values: Sequence[_builtins.str]): + credentials_ref: _builtins.str, + push_url: _builtins.str): """ - :param _builtins.str value_match_condition: Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. - :param Sequence[_builtins.str] values: A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*" + :param _builtins.str credentials_ref: Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. + :param _builtins.str push_url: Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. """ - pulumi.set(__self__, "value_match_condition", value_match_condition) - pulumi.set(__self__, "values", values) + pulumi.set(__self__, "credentials_ref", credentials_ref) + pulumi.set(__self__, "push_url", push_url) @_builtins.property - @pulumi.getter(name="valueMatchCondition") - def value_match_condition(self) -> _builtins.str: + @pulumi.getter(name="credentialsRef") + def credentials_ref(self) -> _builtins.str: """ - Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. + Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. """ - return pulumi.get(self, "value_match_condition") + return pulumi.get(self, "credentials_ref") @_builtins.property - @pulumi.getter - def values(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="pushUrl") + def push_url(self) -> _builtins.str: """ - A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*" + Credentials reference for metrics. This reference is created via the observability create endpoint and the credential needs to contain the basic auth username and password for the metrics solution the push URL points to. Then this enables monitoring via remote write for the Application Load Balancer. """ - return pulumi.get(self, "values") + return pulumi.get(self, "push_url") @pulumi.output_type -class GetCdnDistributionConfigWafResult(dict): +class GetApplicationLoadBalancerTargetPoolResult(dict): def __init__(__self__, *, - allowed_http_methods: Sequence[_builtins.str], - allowed_http_versions: Sequence[_builtins.str], - allowed_request_content_types: Sequence[_builtins.str], - disabled_rule_collection_ids: Sequence[_builtins.str], - disabled_rule_group_ids: Sequence[_builtins.str], - disabled_rule_ids: Sequence[_builtins.str], - enabled_rule_collection_ids: Sequence[_builtins.str], - enabled_rule_group_ids: Sequence[_builtins.str], - enabled_rule_ids: Sequence[_builtins.str], - log_only_rule_collection_ids: Sequence[_builtins.str], - log_only_rule_group_ids: Sequence[_builtins.str], - log_only_rule_ids: Sequence[_builtins.str], - mode: _builtins.str, - paranoia_level: _builtins.str, - type: _builtins.str): + active_health_check: 'outputs.GetApplicationLoadBalancerTargetPoolActiveHealthCheckResult', + name: _builtins.str, + target_port: _builtins.int, + targets: Sequence['outputs.GetApplicationLoadBalancerTargetPoolTargetResult'], + tls_config: 'outputs.GetApplicationLoadBalancerTargetPoolTlsConfigResult'): """ - :param Sequence[_builtins.str] allowed_http_methods: Restricts which HTTP methods the distribution accepts. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. - :param Sequence[_builtins.str] allowed_http_versions: Restricts which HTTP protocol versions are accepted. If provided, the set must contain at least one item. If omitted, the API applies the following defaults: `HTTP/1.0`, `HTTP/1.1`, `HTTP/2`, `HTTP/2.0`. - :param Sequence[_builtins.str] allowed_request_content_types: Restricts which Content-Type headers are accepted in request bodies. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `application/x-www-form-urlencoded`, `multipart/form-data`, `multipart/related`, `text/xml`, `application/xml`, `application/soap+xml`, `application/x-amf`, `application/json`, `application/octet-stream`, `application/csp-report`, `application/xss-auditor-report`, `text/plain`. - :param Sequence[_builtins.str] disabled_rule_collection_ids: Set of WAF Collection IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - :param Sequence[_builtins.str] disabled_rule_group_ids: Set of WAF Rule Group IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - :param Sequence[_builtins.str] disabled_rule_ids: Set of WAF rule IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly disabled Rule ID takes precedence over an enabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - :param Sequence[_builtins.str] enabled_rule_collection_ids: Set of WAF Collection IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - :param Sequence[_builtins.str] enabled_rule_group_ids: Set of WAF Rule Group IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - :param Sequence[_builtins.str] enabled_rule_ids: Set of WAF rule IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly enabled Rule ID takes precedence over a disabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - :param Sequence[_builtins.str] log_only_rule_collection_ids: Set of WAF Collection IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - :param Sequence[_builtins.str] log_only_rule_group_ids: Set of WAF Rule Group IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - :param Sequence[_builtins.str] log_only_rule_ids: Set of WAF rule IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections - :param _builtins.str mode: The operating mode of the WAF. 'ENABLED' actively blocks threats, 'LOG_ONLY' logs matches without blocking, and 'DISABLED' completely turns off inspection. Defaults to 'DISABLED'. - :param _builtins.str paranoia_level: Defines how aggressively the WAF should act on requests. Valid values are 'L1' to 'L4'. Case you removed waf will retain the last known state and if omitted, The API applies the following default 'L1'. - :param _builtins.str type: The tier of the WAF. Valid values are 'FREE' or 'PREMIUM'. Defaults to 'FREE'. + :param _builtins.str name: Target pool name. + :param _builtins.int target_port: The number identifying the port where each target listens for traffic. + :param Sequence['GetApplicationLoadBalancerTargetPoolTargetArgs'] targets: List of all targets which will be used in the pool. Limited to 250. + :param 'GetApplicationLoadBalancerTargetPoolTlsConfigArgs' tls_config: Configuration for TLS bridging. """ - pulumi.set(__self__, "allowed_http_methods", allowed_http_methods) - pulumi.set(__self__, "allowed_http_versions", allowed_http_versions) - pulumi.set(__self__, "allowed_request_content_types", allowed_request_content_types) - pulumi.set(__self__, "disabled_rule_collection_ids", disabled_rule_collection_ids) - pulumi.set(__self__, "disabled_rule_group_ids", disabled_rule_group_ids) - pulumi.set(__self__, "disabled_rule_ids", disabled_rule_ids) - pulumi.set(__self__, "enabled_rule_collection_ids", enabled_rule_collection_ids) - pulumi.set(__self__, "enabled_rule_group_ids", enabled_rule_group_ids) - pulumi.set(__self__, "enabled_rule_ids", enabled_rule_ids) - pulumi.set(__self__, "log_only_rule_collection_ids", log_only_rule_collection_ids) - pulumi.set(__self__, "log_only_rule_group_ids", log_only_rule_group_ids) - pulumi.set(__self__, "log_only_rule_ids", log_only_rule_ids) - pulumi.set(__self__, "mode", mode) - pulumi.set(__self__, "paranoia_level", paranoia_level) - pulumi.set(__self__, "type", type) + pulumi.set(__self__, "active_health_check", active_health_check) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "target_port", target_port) + pulumi.set(__self__, "targets", targets) + pulumi.set(__self__, "tls_config", tls_config) @_builtins.property - @pulumi.getter(name="allowedHttpMethods") - def allowed_http_methods(self) -> Sequence[_builtins.str]: - """ - Restricts which HTTP methods the distribution accepts. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. - """ - return pulumi.get(self, "allowed_http_methods") + @pulumi.getter(name="activeHealthCheck") + def active_health_check(self) -> 'outputs.GetApplicationLoadBalancerTargetPoolActiveHealthCheckResult': + return pulumi.get(self, "active_health_check") @_builtins.property - @pulumi.getter(name="allowedHttpVersions") - def allowed_http_versions(self) -> Sequence[_builtins.str]: + @pulumi.getter + def name(self) -> _builtins.str: """ - Restricts which HTTP protocol versions are accepted. If provided, the set must contain at least one item. If omitted, the API applies the following defaults: `HTTP/1.0`, `HTTP/1.1`, `HTTP/2`, `HTTP/2.0`. + Target pool name. """ - return pulumi.get(self, "allowed_http_versions") + return pulumi.get(self, "name") @_builtins.property - @pulumi.getter(name="allowedRequestContentTypes") - def allowed_request_content_types(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="targetPort") + def target_port(self) -> _builtins.int: """ - Restricts which Content-Type headers are accepted in request bodies. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `application/x-www-form-urlencoded`, `multipart/form-data`, `multipart/related`, `text/xml`, `application/xml`, `application/soap+xml`, `application/x-amf`, `application/json`, `application/octet-stream`, `application/csp-report`, `application/xss-auditor-report`, `text/plain`. + The number identifying the port where each target listens for traffic. """ - return pulumi.get(self, "allowed_request_content_types") + return pulumi.get(self, "target_port") @_builtins.property - @pulumi.getter(name="disabledRuleCollectionIds") - def disabled_rule_collection_ids(self) -> Sequence[_builtins.str]: + @pulumi.getter + def targets(self) -> Sequence['outputs.GetApplicationLoadBalancerTargetPoolTargetResult']: """ - Set of WAF Collection IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + List of all targets which will be used in the pool. Limited to 250. """ - return pulumi.get(self, "disabled_rule_collection_ids") + return pulumi.get(self, "targets") @_builtins.property - @pulumi.getter(name="disabledRuleGroupIds") - def disabled_rule_group_ids(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="tlsConfig") + def tls_config(self) -> 'outputs.GetApplicationLoadBalancerTargetPoolTlsConfigResult': """ - Set of WAF Rule Group IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + Configuration for TLS bridging. """ - return pulumi.get(self, "disabled_rule_group_ids") + return pulumi.get(self, "tls_config") - @_builtins.property - @pulumi.getter(name="disabledRuleIds") - def disabled_rule_ids(self) -> Sequence[_builtins.str]: + +@pulumi.output_type +class GetApplicationLoadBalancerTargetPoolActiveHealthCheckResult(dict): + def __init__(__self__, *, + healthy_threshold: _builtins.int, + http_health_checks: 'outputs.GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksResult', + interval: _builtins.str, + interval_jitter: _builtins.str, + timeout: _builtins.str, + unhealthy_threshold: _builtins.int): """ - Set of WAF rule IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly disabled Rule ID takes precedence over an enabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + :param _builtins.int healthy_threshold: Healthy threshold of the health checking. + :param 'GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs' http_health_checks: Options for the HTTP health checking. + :param _builtins.str interval: Interval duration of health checking in seconds. + :param _builtins.str interval_jitter: Interval duration threshold of the health checking in seconds. + :param _builtins.str timeout: Active health checking timeout duration in seconds. + :param _builtins.int unhealthy_threshold: Unhealthy threshold of the health checking. """ - return pulumi.get(self, "disabled_rule_ids") + pulumi.set(__self__, "healthy_threshold", healthy_threshold) + pulumi.set(__self__, "http_health_checks", http_health_checks) + pulumi.set(__self__, "interval", interval) + pulumi.set(__self__, "interval_jitter", interval_jitter) + pulumi.set(__self__, "timeout", timeout) + pulumi.set(__self__, "unhealthy_threshold", unhealthy_threshold) @_builtins.property - @pulumi.getter(name="enabledRuleCollectionIds") - def enabled_rule_collection_ids(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="healthyThreshold") + def healthy_threshold(self) -> _builtins.int: """ - Set of WAF Collection IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + Healthy threshold of the health checking. """ - return pulumi.get(self, "enabled_rule_collection_ids") + return pulumi.get(self, "healthy_threshold") @_builtins.property - @pulumi.getter(name="enabledRuleGroupIds") - def enabled_rule_group_ids(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="httpHealthChecks") + def http_health_checks(self) -> 'outputs.GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksResult': """ - Set of WAF Rule Group IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + Options for the HTTP health checking. """ - return pulumi.get(self, "enabled_rule_group_ids") + return pulumi.get(self, "http_health_checks") @_builtins.property - @pulumi.getter(name="enabledRuleIds") - def enabled_rule_ids(self) -> Sequence[_builtins.str]: + @pulumi.getter + def interval(self) -> _builtins.str: """ - Set of WAF rule IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly enabled Rule ID takes precedence over a disabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + Interval duration of health checking in seconds. """ - return pulumi.get(self, "enabled_rule_ids") + return pulumi.get(self, "interval") @_builtins.property - @pulumi.getter(name="logOnlyRuleCollectionIds") - def log_only_rule_collection_ids(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="intervalJitter") + def interval_jitter(self) -> _builtins.str: """ - Set of WAF Collection IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + Interval duration threshold of the health checking in seconds. """ - return pulumi.get(self, "log_only_rule_collection_ids") + return pulumi.get(self, "interval_jitter") @_builtins.property - @pulumi.getter(name="logOnlyRuleGroupIds") - def log_only_rule_group_ids(self) -> Sequence[_builtins.str]: + @pulumi.getter + def timeout(self) -> _builtins.str: """ - Set of WAF Rule Group IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + Active health checking timeout duration in seconds. """ - return pulumi.get(self, "log_only_rule_group_ids") + return pulumi.get(self, "timeout") @_builtins.property - @pulumi.getter(name="logOnlyRuleIds") - def log_only_rule_ids(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="unhealthyThreshold") + def unhealthy_threshold(self) -> _builtins.int: """ - Set of WAF rule IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + Unhealthy threshold of the health checking. """ - return pulumi.get(self, "log_only_rule_ids") + return pulumi.get(self, "unhealthy_threshold") - @_builtins.property - @pulumi.getter - def mode(self) -> _builtins.str: + +@pulumi.output_type +class GetApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksResult(dict): + def __init__(__self__, *, + ok_statuses: Sequence[_builtins.str], + path: _builtins.str): """ - The operating mode of the WAF. 'ENABLED' actively blocks threats, 'LOG_ONLY' logs matches without blocking, and 'DISABLED' completely turns off inspection. Defaults to 'DISABLED'. + :param Sequence[_builtins.str] ok_statuses: List of HTTP status codes that indicate a healthy response. + :param _builtins.str path: Path to send the health check request to. """ - return pulumi.get(self, "mode") + pulumi.set(__self__, "ok_statuses", ok_statuses) + pulumi.set(__self__, "path", path) @_builtins.property - @pulumi.getter(name="paranoiaLevel") - def paranoia_level(self) -> _builtins.str: + @pulumi.getter(name="okStatuses") + def ok_statuses(self) -> Sequence[_builtins.str]: """ - Defines how aggressively the WAF should act on requests. Valid values are 'L1' to 'L4'. Case you removed waf will retain the last known state and if omitted, The API applies the following default 'L1'. + List of HTTP status codes that indicate a healthy response. """ - return pulumi.get(self, "paranoia_level") + return pulumi.get(self, "ok_statuses") @_builtins.property @pulumi.getter - def type(self) -> _builtins.str: + def path(self) -> _builtins.str: """ - The tier of the WAF. Valid values are 'FREE' or 'PREMIUM'. Defaults to 'FREE'. + Path to send the health check request to. """ - return pulumi.get(self, "type") + return pulumi.get(self, "path") @pulumi.output_type -class GetCdnDistributionDomainResult(dict): +class GetApplicationLoadBalancerTargetPoolTargetResult(dict): def __init__(__self__, *, - errors: Sequence[_builtins.str], - name: _builtins.str, - status: _builtins.str, - type: _builtins.str): + display_name: _builtins.str, + ip: _builtins.str): """ - :param Sequence[_builtins.str] errors: List of domain errors - :param _builtins.str name: The name of the domain - :param _builtins.str status: The status of the domain - :param _builtins.str type: The type of the domain. Each distribution has one domain of type "managed", and domains of type "custom" may be additionally created by the user + :param _builtins.str display_name: Target display name + :param _builtins.str ip: Private target IP, which must by unique within a target pool. """ - pulumi.set(__self__, "errors", errors) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "status", status) - pulumi.set(__self__, "type", type) + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "ip", ip) @_builtins.property - @pulumi.getter - def errors(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="displayName") + def display_name(self) -> _builtins.str: """ - List of domain errors + Target display name """ - return pulumi.get(self, "errors") + return pulumi.get(self, "display_name") @_builtins.property @pulumi.getter - def name(self) -> _builtins.str: + def ip(self) -> _builtins.str: """ - The name of the domain + Private target IP, which must by unique within a target pool. """ - return pulumi.get(self, "name") + return pulumi.get(self, "ip") + + +@pulumi.output_type +class GetApplicationLoadBalancerTargetPoolTlsConfigResult(dict): + def __init__(__self__, *, + custom_ca: _builtins.str, + enabled: _builtins.bool, + skip_certificate_validation: _builtins.bool): + """ + :param _builtins.str custom_ca: Specifies a custom Certificate Authority (CA). When provided, the target pool will trust certificates signed by this CA, in addition to any system-trusted CAs. This is useful for scenarios where the target pool needs to communicate with servers using self-signed or internally-issued certificates. Enabled needs to be set to true and skip validation to false for this option. + :param _builtins.bool enabled: Enable TLS (Transport Layer Security) bridging for the connection between Application Load Balancer and targets in this pool. When enabled, public CAs are trusted. Can be used in tandem with the options either custom CA or skip validation or alone. + :param _builtins.bool skip_certificate_validation: Bypass certificate validation for TLS bridging in this target pool. This option is insecure and can only be used with public CAs by setting enabled true. Meant to be used for testing purposes only! + """ + pulumi.set(__self__, "custom_ca", custom_ca) + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "skip_certificate_validation", skip_certificate_validation) @_builtins.property - @pulumi.getter - def status(self) -> _builtins.str: + @pulumi.getter(name="customCa") + def custom_ca(self) -> _builtins.str: """ - The status of the domain + Specifies a custom Certificate Authority (CA). When provided, the target pool will trust certificates signed by this CA, in addition to any system-trusted CAs. This is useful for scenarios where the target pool needs to communicate with servers using self-signed or internally-issued certificates. Enabled needs to be set to true and skip validation to false for this option. """ - return pulumi.get(self, "status") + return pulumi.get(self, "custom_ca") @_builtins.property @pulumi.getter - def type(self) -> _builtins.str: + def enabled(self) -> _builtins.bool: """ - The type of the domain. Each distribution has one domain of type "managed", and domains of type "custom" may be additionally created by the user + Enable TLS (Transport Layer Security) bridging for the connection between Application Load Balancer and targets in this pool. When enabled, public CAs are trusted. Can be used in tandem with the options either custom CA or skip validation or alone. """ - return pulumi.get(self, "type") + return pulumi.get(self, "enabled") + + @_builtins.property + @pulumi.getter(name="skipCertificateValidation") + def skip_certificate_validation(self) -> _builtins.bool: + """ + Bypass certificate validation for TLS bridging in this target pool. This option is insecure and can only be used with public CAs by setting enabled true. Meant to be used for testing purposes only! + """ + return pulumi.get(self, "skip_certificate_validation") @pulumi.output_type -class GetDnsRecordSetTimeoutsResult(dict): +class GetApplicationLoadBalancerTargetSecurityGroupResult(dict): def __init__(__self__, *, - read: Optional[_builtins.str] = None): + id: _builtins.str, + name: _builtins.str): """ - :param _builtins.str read: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + :param _builtins.str id: ID of the security Group + :param _builtins.str name: Name of the security Group """ - if read is not None: - pulumi.set(__self__, "read", read) + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "name", name) @_builtins.property @pulumi.getter - def read(self) -> Optional[_builtins.str]: + def id(self) -> _builtins.str: """ - A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + ID of the security Group """ - return pulumi.get(self, "read") + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + Name of the security Group + """ + return pulumi.get(self, "name") @pulumi.output_type -class GetDnsZoneTimeoutsResult(dict): +class GetCdnCustomDomainCertificateResult(dict): def __init__(__self__, *, - read: Optional[_builtins.str] = None): + version: _builtins.int): """ - :param _builtins.str read: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + :param _builtins.int version: A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed. """ - if read is not None: - pulumi.set(__self__, "read", read) + pulumi.set(__self__, "version", version) @_builtins.property @pulumi.getter - def read(self) -> Optional[_builtins.str]: + def version(self) -> _builtins.int: """ - A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). + A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed. """ - return pulumi.get(self, "read") + return pulumi.get(self, "version") @pulumi.output_type -class GetDremioInstanceAuthenticationResult(dict): +class GetCdnDistributionConfigResult(dict): def __init__(__self__, *, - azuread: 'outputs.GetDremioInstanceAuthenticationAzureadResult', - oauth: 'outputs.GetDremioInstanceAuthenticationOauthResult', - type: _builtins.str): + backend: 'outputs.GetCdnDistributionConfigBackendResult', + optimizer: 'outputs.GetCdnDistributionConfigOptimizerResult', + redirects: 'outputs.GetCdnDistributionConfigRedirectsResult', + regions: Sequence[_builtins.str], + waf: 'outputs.GetCdnDistributionConfigWafResult', + blocked_countries: Optional[Sequence[_builtins.str]] = None): """ - :param 'GetDremioInstanceAuthenticationAzureadArgs' azuread: Azure Active Directory authentication configuration. - :param 'GetDremioInstanceAuthenticationOauthArgs' oauth: OIDC authentication configuration. - :param _builtins.str type: Type of authentication (local-only, azuread, oauth). + :param 'GetCdnDistributionConfigBackendArgs' backend: The configured backend for the distribution + :param 'GetCdnDistributionConfigOptimizerArgs' optimizer: Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. + :param 'GetCdnDistributionConfigRedirectsArgs' redirects: A wrapper for a list of redirect rules that allows for redirect settings on a distribution + :param Sequence[_builtins.str] regions: The configured regions where content will be hosted + :param 'GetCdnDistributionConfigWafArgs' waf: Configures the Web Application Firewall (WAF) for the distribution. If this block is undefined or removed from your configuration, the WAF mode will default to DISABLED and the type to FREE. All other WAF properties will retain their last known state in the API; if they were never defined, the API will apply its default settings. + :param Sequence[_builtins.str] blocked_countries: The configured countries where distribution of content is blocked """ - pulumi.set(__self__, "azuread", azuread) - pulumi.set(__self__, "oauth", oauth) - pulumi.set(__self__, "type", type) + pulumi.set(__self__, "backend", backend) + pulumi.set(__self__, "optimizer", optimizer) + pulumi.set(__self__, "redirects", redirects) + pulumi.set(__self__, "regions", regions) + pulumi.set(__self__, "waf", waf) + if blocked_countries is not None: + pulumi.set(__self__, "blocked_countries", blocked_countries) @_builtins.property @pulumi.getter - def azuread(self) -> 'outputs.GetDremioInstanceAuthenticationAzureadResult': + def backend(self) -> 'outputs.GetCdnDistributionConfigBackendResult': """ - Azure Active Directory authentication configuration. + The configured backend for the distribution """ - return pulumi.get(self, "azuread") + return pulumi.get(self, "backend") @_builtins.property @pulumi.getter - def oauth(self) -> 'outputs.GetDremioInstanceAuthenticationOauthResult': + def optimizer(self) -> 'outputs.GetCdnDistributionConfigOptimizerResult': """ - OIDC authentication configuration. + Configuration for the Image Optimizer. This is a paid feature that automatically optimizes images to reduce their file size for faster delivery, leading to improved website performance and a better user experience. """ - return pulumi.get(self, "oauth") + return pulumi.get(self, "optimizer") @_builtins.property @pulumi.getter - def type(self) -> _builtins.str: - """ - Type of authentication (local-only, azuread, oauth). - """ - return pulumi.get(self, "type") - - -@pulumi.output_type -class GetDremioInstanceAuthenticationAzureadResult(dict): - def __init__(__self__, *, - authority_url: _builtins.str, - client_id: _builtins.str, - client_secret: _builtins.str, - redirect_url: _builtins.str): - """ - :param _builtins.str authority_url: The Azure AD authority URL. - :param _builtins.str client_id: The Azure AD client ID. - :param _builtins.str client_secret: The Azure AD client secret. - :param _builtins.str redirect_url: The Azure AD redirect URL. - """ - pulumi.set(__self__, "authority_url", authority_url) - pulumi.set(__self__, "client_id", client_id) - pulumi.set(__self__, "client_secret", client_secret) - pulumi.set(__self__, "redirect_url", redirect_url) - - @_builtins.property - @pulumi.getter(name="authorityUrl") - def authority_url(self) -> _builtins.str: + def redirects(self) -> 'outputs.GetCdnDistributionConfigRedirectsResult': """ - The Azure AD authority URL. + A wrapper for a list of redirect rules that allows for redirect settings on a distribution """ - return pulumi.get(self, "authority_url") + return pulumi.get(self, "redirects") @_builtins.property - @pulumi.getter(name="clientId") - def client_id(self) -> _builtins.str: + @pulumi.getter + def regions(self) -> Sequence[_builtins.str]: """ - The Azure AD client ID. + The configured regions where content will be hosted """ - return pulumi.get(self, "client_id") + return pulumi.get(self, "regions") @_builtins.property - @pulumi.getter(name="clientSecret") - def client_secret(self) -> _builtins.str: + @pulumi.getter + def waf(self) -> 'outputs.GetCdnDistributionConfigWafResult': """ - The Azure AD client secret. + Configures the Web Application Firewall (WAF) for the distribution. If this block is undefined or removed from your configuration, the WAF mode will default to DISABLED and the type to FREE. All other WAF properties will retain their last known state in the API; if they were never defined, the API will apply its default settings. """ - return pulumi.get(self, "client_secret") + return pulumi.get(self, "waf") @_builtins.property - @pulumi.getter(name="redirectUrl") - def redirect_url(self) -> _builtins.str: + @pulumi.getter(name="blockedCountries") + def blocked_countries(self) -> Optional[Sequence[_builtins.str]]: """ - The Azure AD redirect URL. + The configured countries where distribution of content is blocked """ - return pulumi.get(self, "redirect_url") + return pulumi.get(self, "blocked_countries") @pulumi.output_type -class GetDremioInstanceAuthenticationOauthResult(dict): +class GetCdnDistributionConfigBackendResult(dict): def __init__(__self__, *, - authority_url: _builtins.str, - client_id: _builtins.str, - client_secret: _builtins.str, - jwt_claims: 'outputs.GetDremioInstanceAuthenticationOauthJwtClaimsResult', - parameters: Sequence['outputs.GetDremioInstanceAuthenticationOauthParameterResult'], - redirect_url: _builtins.str, - scope: _builtins.str): + bucket_url: _builtins.str, + geofencing: Mapping[str, Sequence[_builtins.str]], + origin_request_headers: Mapping[str, _builtins.str], + origin_url: _builtins.str, + region: _builtins.str, + type: _builtins.str): """ - :param _builtins.str authority_url: The Issuer location URI, where the OIDC provider configuration can be found. - :param _builtins.str client_id: The client ID assigned by the Identity Provider. - :param _builtins.str client_secret: The client secret generated by the Identity Provider. - :param 'GetDremioInstanceAuthenticationOauthJwtClaimsArgs' jwt_claims: Maps fields from the JWT token to fields Dremio requires. - :param Sequence['GetDremioInstanceAuthenticationOauthParameterArgs'] parameters: Any additional parameters the Identity Provider requires. - :param _builtins.str redirect_url: The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. - :param _builtins.str scope: A list of space-separated scopes. The `openid` scope is always required; other scopes can vary by provider. + :param _builtins.str bucket_url: The URL of the bucket (e.g. https://s3.example.com). Required if type is 'bucket'. + :param Mapping[str, Sequence[_builtins.str]] geofencing: The configured type http to configure countries where content is allowed. A map of URLs to a list of countries + :param Mapping[str, _builtins.str] origin_request_headers: The configured type http origin request headers for the backend + :param _builtins.str origin_url: The configured backend type http for the distribution + :param _builtins.str region: The region where the bucket is hosted. Required if type is 'bucket'. + :param _builtins.str type: The configured backend type. Possible values are: `http`, `bucket`. """ - pulumi.set(__self__, "authority_url", authority_url) - pulumi.set(__self__, "client_id", client_id) - pulumi.set(__self__, "client_secret", client_secret) - pulumi.set(__self__, "jwt_claims", jwt_claims) - pulumi.set(__self__, "parameters", parameters) - pulumi.set(__self__, "redirect_url", redirect_url) - pulumi.set(__self__, "scope", scope) + pulumi.set(__self__, "bucket_url", bucket_url) + pulumi.set(__self__, "geofencing", geofencing) + pulumi.set(__self__, "origin_request_headers", origin_request_headers) + pulumi.set(__self__, "origin_url", origin_url) + pulumi.set(__self__, "region", region) + pulumi.set(__self__, "type", type) @_builtins.property - @pulumi.getter(name="authorityUrl") - def authority_url(self) -> _builtins.str: + @pulumi.getter(name="bucketUrl") + def bucket_url(self) -> _builtins.str: """ - The Issuer location URI, where the OIDC provider configuration can be found. + The URL of the bucket (e.g. https://s3.example.com). Required if type is 'bucket'. """ - return pulumi.get(self, "authority_url") + return pulumi.get(self, "bucket_url") @_builtins.property - @pulumi.getter(name="clientId") - def client_id(self) -> _builtins.str: + @pulumi.getter + def geofencing(self) -> Mapping[str, Sequence[_builtins.str]]: """ - The client ID assigned by the Identity Provider. + The configured type http to configure countries where content is allowed. A map of URLs to a list of countries """ - return pulumi.get(self, "client_id") + return pulumi.get(self, "geofencing") @_builtins.property - @pulumi.getter(name="clientSecret") - def client_secret(self) -> _builtins.str: + @pulumi.getter(name="originRequestHeaders") + def origin_request_headers(self) -> Mapping[str, _builtins.str]: """ - The client secret generated by the Identity Provider. + The configured type http origin request headers for the backend """ - return pulumi.get(self, "client_secret") + return pulumi.get(self, "origin_request_headers") @_builtins.property - @pulumi.getter(name="jwtClaims") - def jwt_claims(self) -> 'outputs.GetDremioInstanceAuthenticationOauthJwtClaimsResult': + @pulumi.getter(name="originUrl") + def origin_url(self) -> _builtins.str: """ - Maps fields from the JWT token to fields Dremio requires. + The configured backend type http for the distribution """ - return pulumi.get(self, "jwt_claims") + return pulumi.get(self, "origin_url") @_builtins.property @pulumi.getter - def parameters(self) -> Sequence['outputs.GetDremioInstanceAuthenticationOauthParameterResult']: + def region(self) -> _builtins.str: """ - Any additional parameters the Identity Provider requires. + The region where the bucket is hosted. Required if type is 'bucket'. """ - return pulumi.get(self, "parameters") + return pulumi.get(self, "region") @_builtins.property - @pulumi.getter(name="redirectUrl") - def redirect_url(self) -> _builtins.str: + @pulumi.getter + def type(self) -> _builtins.str: """ - The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. + The configured backend type. Possible values are: `http`, `bucket`. """ - return pulumi.get(self, "redirect_url") + return pulumi.get(self, "type") + + +@pulumi.output_type +class GetCdnDistributionConfigOptimizerResult(dict): + def __init__(__self__, *, + enabled: _builtins.bool): + pulumi.set(__self__, "enabled", enabled) @_builtins.property @pulumi.getter - def scope(self) -> _builtins.str: - """ - A list of space-separated scopes. The `openid` scope is always required; other scopes can vary by provider. - """ - return pulumi.get(self, "scope") + def enabled(self) -> _builtins.bool: + return pulumi.get(self, "enabled") @pulumi.output_type -class GetDremioInstanceAuthenticationOauthJwtClaimsResult(dict): +class GetCdnDistributionConfigRedirectsResult(dict): def __init__(__self__, *, - user_name: _builtins.str): + rules: Sequence['outputs.GetCdnDistributionConfigRedirectsRuleResult']): """ - :param _builtins.str user_name: Mapped user name claim (e.g. email). + :param Sequence['GetCdnDistributionConfigRedirectsRuleArgs'] rules: A list of redirect rules. The order of rules matters for evaluation """ - pulumi.set(__self__, "user_name", user_name) + pulumi.set(__self__, "rules", rules) @_builtins.property - @pulumi.getter(name="userName") - def user_name(self) -> _builtins.str: + @pulumi.getter + def rules(self) -> Sequence['outputs.GetCdnDistributionConfigRedirectsRuleResult']: """ - Mapped user name claim (e.g. email). + A list of redirect rules. The order of rules matters for evaluation """ - return pulumi.get(self, "user_name") + return pulumi.get(self, "rules") @pulumi.output_type -class GetDremioInstanceAuthenticationOauthParameterResult(dict): +class GetCdnDistributionConfigRedirectsRuleResult(dict): def __init__(__self__, *, - name: _builtins.str, - value: _builtins.str): + description: _builtins.str, + enabled: _builtins.bool, + matchers: Sequence['outputs.GetCdnDistributionConfigRedirectsRuleMatcherResult'], + rule_match_condition: _builtins.str, + status_code: _builtins.int, + target_url: _builtins.str): """ - :param _builtins.str name: Parameter name. - :param _builtins.str value: Parameter value. + :param _builtins.str description: An optional description for the redirect rule + :param _builtins.bool enabled: A toggle to enable or disable the redirect rule. Default to true + :param Sequence['GetCdnDistributionConfigRedirectsRuleMatcherArgs'] matchers: A list of matchers that define when this rule should apply. At least one matcher is required + :param _builtins.str rule_match_condition: Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. + :param _builtins.int status_code: The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308. + :param _builtins.str target_url: The target URL to redirect to. Must be a valid URI """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "value", value) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "matchers", matchers) + pulumi.set(__self__, "rule_match_condition", rule_match_condition) + pulumi.set(__self__, "status_code", status_code) + pulumi.set(__self__, "target_url", target_url) @_builtins.property @pulumi.getter - def name(self) -> _builtins.str: + def description(self) -> _builtins.str: """ - Parameter name. + An optional description for the redirect rule """ - return pulumi.get(self, "name") + return pulumi.get(self, "description") @_builtins.property @pulumi.getter - def value(self) -> _builtins.str: + def enabled(self) -> _builtins.bool: """ - Parameter value. + A toggle to enable or disable the redirect rule. Default to true """ - return pulumi.get(self, "value") - + return pulumi.get(self, "enabled") -@pulumi.output_type -class GetDremioInstanceEndpointsResult(dict): - def __init__(__self__, *, - arrow_flight: _builtins.str, - catalog: _builtins.str, - ui: _builtins.str): + @_builtins.property + @pulumi.getter + def matchers(self) -> Sequence['outputs.GetCdnDistributionConfigRedirectsRuleMatcherResult']: """ - :param _builtins.str arrow_flight: The arrow flight endpoint of the Dremio instance. - :param _builtins.str catalog: The Apache Iceberg endpoint of the Dremio instance. - :param _builtins.str ui: The UI endpoint of the Dremio instance. + A list of matchers that define when this rule should apply. At least one matcher is required """ - pulumi.set(__self__, "arrow_flight", arrow_flight) - pulumi.set(__self__, "catalog", catalog) - pulumi.set(__self__, "ui", ui) + return pulumi.get(self, "matchers") @_builtins.property - @pulumi.getter(name="arrowFlight") - def arrow_flight(self) -> _builtins.str: + @pulumi.getter(name="ruleMatchCondition") + def rule_match_condition(self) -> _builtins.str: """ - The arrow flight endpoint of the Dremio instance. + Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. """ - return pulumi.get(self, "arrow_flight") + return pulumi.get(self, "rule_match_condition") @_builtins.property - @pulumi.getter - def catalog(self) -> _builtins.str: + @pulumi.getter(name="statusCode") + def status_code(self) -> _builtins.int: """ - The Apache Iceberg endpoint of the Dremio instance. + The HTTP status code for the redirect. Must be one of 301, 302, 303, 307, or 308. """ - return pulumi.get(self, "catalog") + return pulumi.get(self, "status_code") @_builtins.property - @pulumi.getter - def ui(self) -> _builtins.str: + @pulumi.getter(name="targetUrl") + def target_url(self) -> _builtins.str: """ - The UI endpoint of the Dremio instance. + The target URL to redirect to. Must be a valid URI """ - return pulumi.get(self, "ui") + return pulumi.get(self, "target_url") @pulumi.output_type -class GetEdgecloudInstancesInstanceResult(dict): +class GetCdnDistributionConfigRedirectsRuleMatcherResult(dict): def __init__(__self__, *, - created: _builtins.str, - description: _builtins.str, - display_name: _builtins.str, - frontend_url: _builtins.str, - instance_id: _builtins.str, - plan_id: _builtins.str, - region: _builtins.str, - status: _builtins.str): + value_match_condition: _builtins.str, + values: Sequence[_builtins.str]): """ - :param _builtins.str created: The date and time the instance was created. - :param _builtins.str description: Description of the instance. - :param _builtins.str display_name: The display name of the instance. - :param _builtins.str frontend_url: Frontend URL for the Edge Cloud instance. - :param _builtins.str instance_id: The ID of the instance. - :param _builtins.str plan_id: The plan ID for the instance. - :param _builtins.str region: The region where the instance is located. - :param _builtins.str status: The status of the instance. + :param _builtins.str value_match_condition: Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. + :param Sequence[_builtins.str] values: A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*" """ - pulumi.set(__self__, "created", created) - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "display_name", display_name) - pulumi.set(__self__, "frontend_url", frontend_url) - pulumi.set(__self__, "instance_id", instance_id) - pulumi.set(__self__, "plan_id", plan_id) - pulumi.set(__self__, "region", region) - pulumi.set(__self__, "status", status) + pulumi.set(__self__, "value_match_condition", value_match_condition) + pulumi.set(__self__, "values", values) @_builtins.property - @pulumi.getter - def created(self) -> _builtins.str: + @pulumi.getter(name="valueMatchCondition") + def value_match_condition(self) -> _builtins.str: """ - The date and time the instance was created. + Defines how multiple matchers within this rule are combined (ALL, ANY, NONE). Defaults to ANY. """ - return pulumi.get(self, "created") + return pulumi.get(self, "value_match_condition") @_builtins.property @pulumi.getter - def description(self) -> _builtins.str: + def values(self) -> Sequence[_builtins.str]: """ - Description of the instance. + A list of glob patterns to match against the request path. At least one value is required. Examples: "/shop/*" or "*/img/*" """ - return pulumi.get(self, "description") + return pulumi.get(self, "values") - @_builtins.property - @pulumi.getter(name="displayName") - def display_name(self) -> _builtins.str: + +@pulumi.output_type +class GetCdnDistributionConfigWafResult(dict): + def __init__(__self__, *, + allowed_http_methods: Sequence[_builtins.str], + allowed_http_versions: Sequence[_builtins.str], + allowed_request_content_types: Sequence[_builtins.str], + disabled_rule_collection_ids: Sequence[_builtins.str], + disabled_rule_group_ids: Sequence[_builtins.str], + disabled_rule_ids: Sequence[_builtins.str], + enabled_rule_collection_ids: Sequence[_builtins.str], + enabled_rule_group_ids: Sequence[_builtins.str], + enabled_rule_ids: Sequence[_builtins.str], + log_only_rule_collection_ids: Sequence[_builtins.str], + log_only_rule_group_ids: Sequence[_builtins.str], + log_only_rule_ids: Sequence[_builtins.str], + mode: _builtins.str, + paranoia_level: _builtins.str, + type: _builtins.str): """ - The display name of the instance. + :param Sequence[_builtins.str] allowed_http_methods: Restricts which HTTP methods the distribution accepts. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. + :param Sequence[_builtins.str] allowed_http_versions: Restricts which HTTP protocol versions are accepted. If provided, the set must contain at least one item. If omitted, the API applies the following defaults: `HTTP/1.0`, `HTTP/1.1`, `HTTP/2`, `HTTP/2.0`. + :param Sequence[_builtins.str] allowed_request_content_types: Restricts which Content-Type headers are accepted in request bodies. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `application/x-www-form-urlencoded`, `multipart/form-data`, `multipart/related`, `text/xml`, `application/xml`, `application/soap+xml`, `application/x-amf`, `application/json`, `application/octet-stream`, `application/csp-report`, `application/xss-auditor-report`, `text/plain`. + :param Sequence[_builtins.str] disabled_rule_collection_ids: Set of WAF Collection IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + :param Sequence[_builtins.str] disabled_rule_group_ids: Set of WAF Rule Group IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + :param Sequence[_builtins.str] disabled_rule_ids: Set of WAF rule IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly disabled Rule ID takes precedence over an enabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + :param Sequence[_builtins.str] enabled_rule_collection_ids: Set of WAF Collection IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + :param Sequence[_builtins.str] enabled_rule_group_ids: Set of WAF Rule Group IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + :param Sequence[_builtins.str] enabled_rule_ids: Set of WAF rule IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly enabled Rule ID takes precedence over a disabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + :param Sequence[_builtins.str] log_only_rule_collection_ids: Set of WAF Collection IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + :param Sequence[_builtins.str] log_only_rule_group_ids: Set of WAF Rule Group IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + :param Sequence[_builtins.str] log_only_rule_ids: Set of WAF rule IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + :param _builtins.str mode: The operating mode of the WAF. 'ENABLED' actively blocks threats, 'LOG_ONLY' logs matches without blocking, and 'DISABLED' completely turns off inspection. Defaults to 'DISABLED'. + :param _builtins.str paranoia_level: Defines how aggressively the WAF should act on requests. Valid values are 'L1' to 'L4'. Case you removed waf will retain the last known state and if omitted, The API applies the following default 'L1'. + :param _builtins.str type: The tier of the WAF. Valid values are 'FREE' or 'PREMIUM'. Defaults to 'FREE'. """ - return pulumi.get(self, "display_name") + pulumi.set(__self__, "allowed_http_methods", allowed_http_methods) + pulumi.set(__self__, "allowed_http_versions", allowed_http_versions) + pulumi.set(__self__, "allowed_request_content_types", allowed_request_content_types) + pulumi.set(__self__, "disabled_rule_collection_ids", disabled_rule_collection_ids) + pulumi.set(__self__, "disabled_rule_group_ids", disabled_rule_group_ids) + pulumi.set(__self__, "disabled_rule_ids", disabled_rule_ids) + pulumi.set(__self__, "enabled_rule_collection_ids", enabled_rule_collection_ids) + pulumi.set(__self__, "enabled_rule_group_ids", enabled_rule_group_ids) + pulumi.set(__self__, "enabled_rule_ids", enabled_rule_ids) + pulumi.set(__self__, "log_only_rule_collection_ids", log_only_rule_collection_ids) + pulumi.set(__self__, "log_only_rule_group_ids", log_only_rule_group_ids) + pulumi.set(__self__, "log_only_rule_ids", log_only_rule_ids) + pulumi.set(__self__, "mode", mode) + pulumi.set(__self__, "paranoia_level", paranoia_level) + pulumi.set(__self__, "type", type) @_builtins.property - @pulumi.getter(name="frontendUrl") - def frontend_url(self) -> _builtins.str: + @pulumi.getter(name="allowedHttpMethods") + def allowed_http_methods(self) -> Sequence[_builtins.str]: """ - Frontend URL for the Edge Cloud instance. + Restricts which HTTP methods the distribution accepts. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `GET`, `HEAD`, `POST`, `PUT`, `DELETE`, `CONNECT`, `OPTIONS`, `TRACE`, `PATCH`. """ - return pulumi.get(self, "frontend_url") + return pulumi.get(self, "allowed_http_methods") @_builtins.property - @pulumi.getter(name="instanceId") - def instance_id(self) -> _builtins.str: + @pulumi.getter(name="allowedHttpVersions") + def allowed_http_versions(self) -> Sequence[_builtins.str]: """ - The ID of the instance. + Restricts which HTTP protocol versions are accepted. If provided, the set must contain at least one item. If omitted, the API applies the following defaults: `HTTP/1.0`, `HTTP/1.1`, `HTTP/2`, `HTTP/2.0`. """ - return pulumi.get(self, "instance_id") + return pulumi.get(self, "allowed_http_versions") @_builtins.property - @pulumi.getter(name="planId") - def plan_id(self) -> _builtins.str: + @pulumi.getter(name="allowedRequestContentTypes") + def allowed_request_content_types(self) -> Sequence[_builtins.str]: """ - The plan ID for the instance. + Restricts which Content-Type headers are accepted in request bodies. If provided, the set must contain at least one item. Case you removed waf will retain the last known state and if omitted, the API applies the following defaults: `application/x-www-form-urlencoded`, `multipart/form-data`, `multipart/related`, `text/xml`, `application/xml`, `application/soap+xml`, `application/x-amf`, `application/json`, `application/octet-stream`, `application/csp-report`, `application/xss-auditor-report`, `text/plain`. """ - return pulumi.get(self, "plan_id") + return pulumi.get(self, "allowed_request_content_types") @_builtins.property - @pulumi.getter - def region(self) -> _builtins.str: + @pulumi.getter(name="disabledRuleCollectionIds") + def disabled_rule_collection_ids(self) -> Sequence[_builtins.str]: """ - The region where the instance is located. + Set of WAF Collection IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections """ - return pulumi.get(self, "region") + return pulumi.get(self, "disabled_rule_collection_ids") @_builtins.property - @pulumi.getter - def status(self) -> _builtins.str: + @pulumi.getter(name="disabledRuleGroupIds") + def disabled_rule_group_ids(self) -> Sequence[_builtins.str]: """ - The status of the instance. + Set of WAF Rule Group IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections """ - return pulumi.get(self, "status") - + return pulumi.get(self, "disabled_rule_group_ids") -@pulumi.output_type -class GetEdgecloudPlansPlanResult(dict): - def __init__(__self__, *, - description: _builtins.str, - id: _builtins.str, - max_edge_hosts: _builtins.int, - min_edge_hosts: _builtins.int, - name: _builtins.str): + @_builtins.property + @pulumi.getter(name="disabledRuleIds") + def disabled_rule_ids(self) -> Sequence[_builtins.str]: """ - :param _builtins.str description: Description of the plan. - :param _builtins.str id: The ID of the plan. - :param _builtins.int max_edge_hosts: Maximum number of Edge Cloud hosts that can be used. - :param _builtins.int min_edge_hosts: Minimum number of Edge Cloud hosts charged. - :param _builtins.str name: The name of the plan. + Set of WAF rule IDs explicitly disabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly disabled Rule ID takes precedence over an enabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections """ - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "max_edge_hosts", max_edge_hosts) - pulumi.set(__self__, "min_edge_hosts", min_edge_hosts) - pulumi.set(__self__, "name", name) + return pulumi.get(self, "disabled_rule_ids") @_builtins.property - @pulumi.getter - def description(self) -> _builtins.str: + @pulumi.getter(name="enabledRuleCollectionIds") + def enabled_rule_collection_ids(self) -> Sequence[_builtins.str]: """ - Description of the plan. + Set of WAF Collection IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections """ - return pulumi.get(self, "description") + return pulumi.get(self, "enabled_rule_collection_ids") @_builtins.property - @pulumi.getter - def id(self) -> _builtins.str: - """ - The ID of the plan. + @pulumi.getter(name="enabledRuleGroupIds") + def enabled_rule_group_ids(self) -> Sequence[_builtins.str]: """ - return pulumi.get(self, "id") + Set of WAF Rule Group IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections + """ + return pulumi.get(self, "enabled_rule_group_ids") @_builtins.property - @pulumi.getter(name="maxEdgeHosts") - def max_edge_hosts(self) -> _builtins.int: + @pulumi.getter(name="enabledRuleIds") + def enabled_rule_ids(self) -> Sequence[_builtins.str]: """ - Maximum number of Edge Cloud hosts that can be used. + Set of WAF rule IDs explicitly enabled. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. For example, an explicitly enabled Rule ID takes precedence over a disabled Group ID. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections """ - return pulumi.get(self, "max_edge_hosts") + return pulumi.get(self, "enabled_rule_ids") @_builtins.property - @pulumi.getter(name="minEdgeHosts") - def min_edge_hosts(self) -> _builtins.int: + @pulumi.getter(name="logOnlyRuleCollectionIds") + def log_only_rule_collection_ids(self) -> Sequence[_builtins.str]: """ - Minimum number of Edge Cloud hosts charged. + Set of WAF Collection IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. To view available rule collections, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections """ - return pulumi.get(self, "min_edge_hosts") + return pulumi.get(self, "log_only_rule_collection_ids") @_builtins.property - @pulumi.getter - def name(self) -> _builtins.str: + @pulumi.getter(name="logOnlyRuleGroupIds") + def log_only_rule_group_ids(self) -> Sequence[_builtins.str]: """ - The name of the plan. + Set of WAF Rule Group IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Groups override Collections. To view available rule groups, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections """ - return pulumi.get(self, "name") - + return pulumi.get(self, "log_only_rule_group_ids") -@pulumi.output_type -class GetImageChecksumResult(dict): - def __init__(__self__, *, - algorithm: _builtins.str, - digest: _builtins.str): + @_builtins.property + @pulumi.getter(name="logOnlyRuleIds") + def log_only_rule_ids(self) -> Sequence[_builtins.str]: """ - :param _builtins.str algorithm: Algorithm for the checksum of the image data. - :param _builtins.str digest: Hexdigest of the checksum of the image data. + Set of WAF rule IDs explicitly marked as Log Only. Can be set to an empty set to clear previously set rules. Case you removed waf will retain the last known state. Precedence hierarchy: Specific Rules override Groups. To view available rules, please consult the API documentation: https://docs.api.eu01.stackit.cloud/documentation/cdn/version/v1#tag/WAF/operation/ListWafCollections """ - pulumi.set(__self__, "algorithm", algorithm) - pulumi.set(__self__, "digest", digest) + return pulumi.get(self, "log_only_rule_ids") @_builtins.property @pulumi.getter - def algorithm(self) -> _builtins.str: + def mode(self) -> _builtins.str: """ - Algorithm for the checksum of the image data. + The operating mode of the WAF. 'ENABLED' actively blocks threats, 'LOG_ONLY' logs matches without blocking, and 'DISABLED' completely turns off inspection. Defaults to 'DISABLED'. """ - return pulumi.get(self, "algorithm") + return pulumi.get(self, "mode") + + @_builtins.property + @pulumi.getter(name="paranoiaLevel") + def paranoia_level(self) -> _builtins.str: + """ + Defines how aggressively the WAF should act on requests. Valid values are 'L1' to 'L4'. Case you removed waf will retain the last known state and if omitted, The API applies the following default 'L1'. + """ + return pulumi.get(self, "paranoia_level") @_builtins.property @pulumi.getter - def digest(self) -> _builtins.str: + def type(self) -> _builtins.str: """ - Hexdigest of the checksum of the image data. + The tier of the WAF. Valid values are 'FREE' or 'PREMIUM'. Defaults to 'FREE'. """ - return pulumi.get(self, "digest") + return pulumi.get(self, "type") @pulumi.output_type -class GetImageConfigResult(dict): +class GetCdnDistributionDomainResult(dict): def __init__(__self__, *, - boot_menu: _builtins.bool, - cdrom_bus: _builtins.str, - disk_bus: _builtins.str, - nic_model: _builtins.str, - operating_system: _builtins.str, - operating_system_distro: _builtins.str, - operating_system_version: _builtins.str, - rescue_bus: _builtins.str, - rescue_device: _builtins.str, - secure_boot: _builtins.bool, - uefi: _builtins.bool, - video_model: _builtins.str, - virtio_scsi: _builtins.bool): + errors: Sequence[_builtins.str], + name: _builtins.str, + status: _builtins.str, + type: _builtins.str): """ - :param _builtins.bool boot_menu: Enables the BIOS bootmenu. - :param _builtins.str cdrom_bus: Sets CDROM bus controller type. - :param _builtins.str disk_bus: Sets Disk bus controller type. - :param _builtins.str nic_model: Sets virtual network interface model. - :param _builtins.str operating_system: Enables operating system specific optimizations. - :param _builtins.str operating_system_distro: Operating system distribution. - :param _builtins.str operating_system_version: Version of the operating system. - :param _builtins.str rescue_bus: Sets the device bus when the image is used as a rescue image. - :param _builtins.str rescue_device: Sets the device when the image is used as a rescue image. - :param _builtins.bool secure_boot: Enables Secure Boot. - :param _builtins.bool uefi: Enables UEFI boot. - :param _builtins.str video_model: Sets Graphic device model. - :param _builtins.bool virtio_scsi: Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. + :param Sequence[_builtins.str] errors: List of domain errors + :param _builtins.str name: The name of the domain + :param _builtins.str status: The status of the domain + :param _builtins.str type: The type of the domain. Each distribution has one domain of type "managed", and domains of type "custom" may be additionally created by the user """ - pulumi.set(__self__, "boot_menu", boot_menu) - pulumi.set(__self__, "cdrom_bus", cdrom_bus) - pulumi.set(__self__, "disk_bus", disk_bus) - pulumi.set(__self__, "nic_model", nic_model) - pulumi.set(__self__, "operating_system", operating_system) - pulumi.set(__self__, "operating_system_distro", operating_system_distro) - pulumi.set(__self__, "operating_system_version", operating_system_version) - pulumi.set(__self__, "rescue_bus", rescue_bus) - pulumi.set(__self__, "rescue_device", rescue_device) - pulumi.set(__self__, "secure_boot", secure_boot) - pulumi.set(__self__, "uefi", uefi) - pulumi.set(__self__, "video_model", video_model) - pulumi.set(__self__, "virtio_scsi", virtio_scsi) + pulumi.set(__self__, "errors", errors) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "status", status) + pulumi.set(__self__, "type", type) @_builtins.property - @pulumi.getter(name="bootMenu") - def boot_menu(self) -> _builtins.bool: + @pulumi.getter + def errors(self) -> Sequence[_builtins.str]: """ - Enables the BIOS bootmenu. + List of domain errors """ - return pulumi.get(self, "boot_menu") + return pulumi.get(self, "errors") @_builtins.property - @pulumi.getter(name="cdromBus") - def cdrom_bus(self) -> _builtins.str: + @pulumi.getter + def name(self) -> _builtins.str: """ - Sets CDROM bus controller type. + The name of the domain """ - return pulumi.get(self, "cdrom_bus") + return pulumi.get(self, "name") @_builtins.property - @pulumi.getter(name="diskBus") - def disk_bus(self) -> _builtins.str: + @pulumi.getter + def status(self) -> _builtins.str: """ - Sets Disk bus controller type. + The status of the domain """ - return pulumi.get(self, "disk_bus") + return pulumi.get(self, "status") @_builtins.property - @pulumi.getter(name="nicModel") - def nic_model(self) -> _builtins.str: + @pulumi.getter + def type(self) -> _builtins.str: """ - Sets virtual network interface model. + The type of the domain. Each distribution has one domain of type "managed", and domains of type "custom" may be additionally created by the user """ - return pulumi.get(self, "nic_model") + return pulumi.get(self, "type") - @_builtins.property - @pulumi.getter(name="operatingSystem") - def operating_system(self) -> _builtins.str: - """ - Enables operating system specific optimizations. - """ - return pulumi.get(self, "operating_system") - @_builtins.property - @pulumi.getter(name="operatingSystemDistro") - def operating_system_distro(self) -> _builtins.str: +@pulumi.output_type +class GetDnsRecordSetTimeoutsResult(dict): + def __init__(__self__, *, + read: Optional[_builtins.str] = None): """ - Operating system distribution. + :param _builtins.str read: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). """ - return pulumi.get(self, "operating_system_distro") + if read is not None: + pulumi.set(__self__, "read", read) @_builtins.property - @pulumi.getter(name="operatingSystemVersion") - def operating_system_version(self) -> _builtins.str: + @pulumi.getter + def read(self) -> Optional[_builtins.str]: """ - Version of the operating system. + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). """ - return pulumi.get(self, "operating_system_version") + return pulumi.get(self, "read") - @_builtins.property - @pulumi.getter(name="rescueBus") - def rescue_bus(self) -> _builtins.str: + +@pulumi.output_type +class GetDnsZoneTimeoutsResult(dict): + def __init__(__self__, *, + read: Optional[_builtins.str] = None): """ - Sets the device bus when the image is used as a rescue image. + :param _builtins.str read: A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). """ - return pulumi.get(self, "rescue_bus") + if read is not None: + pulumi.set(__self__, "read", read) @_builtins.property - @pulumi.getter(name="rescueDevice") - def rescue_device(self) -> _builtins.str: + @pulumi.getter + def read(self) -> Optional[_builtins.str]: """ - Sets the device when the image is used as a rescue image. + A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). """ - return pulumi.get(self, "rescue_device") + return pulumi.get(self, "read") - @_builtins.property - @pulumi.getter(name="secureBoot") - def secure_boot(self) -> _builtins.bool: + +@pulumi.output_type +class GetDremioInstanceAuthenticationResult(dict): + def __init__(__self__, *, + azuread: 'outputs.GetDremioInstanceAuthenticationAzureadResult', + oauth: 'outputs.GetDremioInstanceAuthenticationOauthResult', + type: _builtins.str): """ - Enables Secure Boot. + :param 'GetDremioInstanceAuthenticationAzureadArgs' azuread: Azure Active Directory authentication configuration. + :param 'GetDremioInstanceAuthenticationOauthArgs' oauth: OIDC authentication configuration. + :param _builtins.str type: Type of authentication (local-only, azuread, oauth). """ - return pulumi.get(self, "secure_boot") + pulumi.set(__self__, "azuread", azuread) + pulumi.set(__self__, "oauth", oauth) + pulumi.set(__self__, "type", type) @_builtins.property @pulumi.getter - def uefi(self) -> _builtins.bool: + def azuread(self) -> 'outputs.GetDremioInstanceAuthenticationAzureadResult': """ - Enables UEFI boot. + Azure Active Directory authentication configuration. """ - return pulumi.get(self, "uefi") + return pulumi.get(self, "azuread") @_builtins.property - @pulumi.getter(name="videoModel") - def video_model(self) -> _builtins.str: + @pulumi.getter + def oauth(self) -> 'outputs.GetDremioInstanceAuthenticationOauthResult': """ - Sets Graphic device model. + OIDC authentication configuration. """ - return pulumi.get(self, "video_model") + return pulumi.get(self, "oauth") @_builtins.property - @pulumi.getter(name="virtioScsi") - def virtio_scsi(self) -> _builtins.bool: + @pulumi.getter + def type(self) -> _builtins.str: """ - Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. + Type of authentication (local-only, azuread, oauth). """ - return pulumi.get(self, "virtio_scsi") + return pulumi.get(self, "type") @pulumi.output_type -class GetImageV2ChecksumResult(dict): +class GetDremioInstanceAuthenticationAzureadResult(dict): def __init__(__self__, *, - algorithm: _builtins.str, - digest: _builtins.str): + authority_url: _builtins.str, + client_id: _builtins.str, + client_secret: _builtins.str, + redirect_url: _builtins.str): """ - :param _builtins.str algorithm: Algorithm for the checksum of the image data. - :param _builtins.str digest: Hexdigest of the checksum of the image data. + :param _builtins.str authority_url: The Azure AD authority URL. + :param _builtins.str client_id: The Azure AD client ID. + :param _builtins.str client_secret: The Azure AD client secret. + :param _builtins.str redirect_url: The Azure AD redirect URL. """ - pulumi.set(__self__, "algorithm", algorithm) - pulumi.set(__self__, "digest", digest) - - @_builtins.property - @pulumi.getter - def algorithm(self) -> _builtins.str: - """ - Algorithm for the checksum of the image data. - """ - return pulumi.get(self, "algorithm") - - @_builtins.property - @pulumi.getter - def digest(self) -> _builtins.str: - """ - Hexdigest of the checksum of the image data. - """ - return pulumi.get(self, "digest") - - -@pulumi.output_type -class GetImageV2ConfigResult(dict): - def __init__(__self__, *, - boot_menu: _builtins.bool, - cdrom_bus: _builtins.str, - disk_bus: _builtins.str, - nic_model: _builtins.str, - operating_system: _builtins.str, - operating_system_distro: _builtins.str, - operating_system_version: _builtins.str, - rescue_bus: _builtins.str, - rescue_device: _builtins.str, - secure_boot: _builtins.bool, - uefi: _builtins.bool, - video_model: _builtins.str, - virtio_scsi: _builtins.bool): - """ - :param _builtins.bool boot_menu: Enables the BIOS bootmenu. - :param _builtins.str cdrom_bus: Sets CDROM bus controller type. - :param _builtins.str disk_bus: Sets Disk bus controller type. - :param _builtins.str nic_model: Sets virtual network interface model. - :param _builtins.str operating_system: Enables operating system specific optimizations. - :param _builtins.str operating_system_distro: Operating system distribution. - :param _builtins.str operating_system_version: Version of the operating system. - :param _builtins.str rescue_bus: Sets the device bus when the image is used as a rescue image. - :param _builtins.str rescue_device: Sets the device when the image is used as a rescue image. - :param _builtins.bool secure_boot: Enables Secure Boot. - :param _builtins.bool uefi: Enables UEFI boot. - :param _builtins.str video_model: Sets Graphic device model. - :param _builtins.bool virtio_scsi: Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. - """ - pulumi.set(__self__, "boot_menu", boot_menu) - pulumi.set(__self__, "cdrom_bus", cdrom_bus) - pulumi.set(__self__, "disk_bus", disk_bus) - pulumi.set(__self__, "nic_model", nic_model) - pulumi.set(__self__, "operating_system", operating_system) - pulumi.set(__self__, "operating_system_distro", operating_system_distro) - pulumi.set(__self__, "operating_system_version", operating_system_version) - pulumi.set(__self__, "rescue_bus", rescue_bus) - pulumi.set(__self__, "rescue_device", rescue_device) - pulumi.set(__self__, "secure_boot", secure_boot) - pulumi.set(__self__, "uefi", uefi) - pulumi.set(__self__, "video_model", video_model) - pulumi.set(__self__, "virtio_scsi", virtio_scsi) + pulumi.set(__self__, "authority_url", authority_url) + pulumi.set(__self__, "client_id", client_id) + pulumi.set(__self__, "client_secret", client_secret) + pulumi.set(__self__, "redirect_url", redirect_url) @_builtins.property - @pulumi.getter(name="bootMenu") - def boot_menu(self) -> _builtins.bool: + @pulumi.getter(name="authorityUrl") + def authority_url(self) -> _builtins.str: """ - Enables the BIOS bootmenu. + The Azure AD authority URL. """ - return pulumi.get(self, "boot_menu") + return pulumi.get(self, "authority_url") @_builtins.property - @pulumi.getter(name="cdromBus") - def cdrom_bus(self) -> _builtins.str: + @pulumi.getter(name="clientId") + def client_id(self) -> _builtins.str: """ - Sets CDROM bus controller type. + The Azure AD client ID. """ - return pulumi.get(self, "cdrom_bus") + return pulumi.get(self, "client_id") @_builtins.property - @pulumi.getter(name="diskBus") - def disk_bus(self) -> _builtins.str: + @pulumi.getter(name="clientSecret") + def client_secret(self) -> _builtins.str: """ - Sets Disk bus controller type. + The Azure AD client secret. """ - return pulumi.get(self, "disk_bus") + return pulumi.get(self, "client_secret") @_builtins.property - @pulumi.getter(name="nicModel") - def nic_model(self) -> _builtins.str: + @pulumi.getter(name="redirectUrl") + def redirect_url(self) -> _builtins.str: """ - Sets virtual network interface model. + The Azure AD redirect URL. """ - return pulumi.get(self, "nic_model") + return pulumi.get(self, "redirect_url") - @_builtins.property - @pulumi.getter(name="operatingSystem") - def operating_system(self) -> _builtins.str: - """ - Enables operating system specific optimizations. - """ - return pulumi.get(self, "operating_system") - @_builtins.property - @pulumi.getter(name="operatingSystemDistro") - def operating_system_distro(self) -> _builtins.str: +@pulumi.output_type +class GetDremioInstanceAuthenticationOauthResult(dict): + def __init__(__self__, *, + authority_url: _builtins.str, + client_id: _builtins.str, + client_secret: _builtins.str, + jwt_claims: 'outputs.GetDremioInstanceAuthenticationOauthJwtClaimsResult', + parameters: Sequence['outputs.GetDremioInstanceAuthenticationOauthParameterResult'], + redirect_url: _builtins.str, + scope: _builtins.str): """ - Operating system distribution. + :param _builtins.str authority_url: The Issuer location URI, where the OIDC provider configuration can be found. + :param _builtins.str client_id: The client ID assigned by the Identity Provider. + :param _builtins.str client_secret: The client secret generated by the Identity Provider. + :param 'GetDremioInstanceAuthenticationOauthJwtClaimsArgs' jwt_claims: Maps fields from the JWT token to fields Dremio requires. + :param Sequence['GetDremioInstanceAuthenticationOauthParameterArgs'] parameters: Any additional parameters the Identity Provider requires. + :param _builtins.str redirect_url: The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. + :param _builtins.str scope: A list of space-separated scopes. The `openid` scope is always required; other scopes can vary by provider. """ - return pulumi.get(self, "operating_system_distro") + pulumi.set(__self__, "authority_url", authority_url) + pulumi.set(__self__, "client_id", client_id) + pulumi.set(__self__, "client_secret", client_secret) + pulumi.set(__self__, "jwt_claims", jwt_claims) + pulumi.set(__self__, "parameters", parameters) + pulumi.set(__self__, "redirect_url", redirect_url) + pulumi.set(__self__, "scope", scope) @_builtins.property - @pulumi.getter(name="operatingSystemVersion") - def operating_system_version(self) -> _builtins.str: + @pulumi.getter(name="authorityUrl") + def authority_url(self) -> _builtins.str: """ - Version of the operating system. + The Issuer location URI, where the OIDC provider configuration can be found. """ - return pulumi.get(self, "operating_system_version") + return pulumi.get(self, "authority_url") @_builtins.property - @pulumi.getter(name="rescueBus") - def rescue_bus(self) -> _builtins.str: + @pulumi.getter(name="clientId") + def client_id(self) -> _builtins.str: """ - Sets the device bus when the image is used as a rescue image. + The client ID assigned by the Identity Provider. """ - return pulumi.get(self, "rescue_bus") + return pulumi.get(self, "client_id") @_builtins.property - @pulumi.getter(name="rescueDevice") - def rescue_device(self) -> _builtins.str: + @pulumi.getter(name="clientSecret") + def client_secret(self) -> _builtins.str: """ - Sets the device when the image is used as a rescue image. + The client secret generated by the Identity Provider. """ - return pulumi.get(self, "rescue_device") + return pulumi.get(self, "client_secret") @_builtins.property - @pulumi.getter(name="secureBoot") - def secure_boot(self) -> _builtins.bool: + @pulumi.getter(name="jwtClaims") + def jwt_claims(self) -> 'outputs.GetDremioInstanceAuthenticationOauthJwtClaimsResult': """ - Enables Secure Boot. + Maps fields from the JWT token to fields Dremio requires. """ - return pulumi.get(self, "secure_boot") + return pulumi.get(self, "jwt_claims") @_builtins.property @pulumi.getter - def uefi(self) -> _builtins.bool: + def parameters(self) -> Sequence['outputs.GetDremioInstanceAuthenticationOauthParameterResult']: """ - Enables UEFI boot. + Any additional parameters the Identity Provider requires. """ - return pulumi.get(self, "uefi") + return pulumi.get(self, "parameters") @_builtins.property - @pulumi.getter(name="videoModel") - def video_model(self) -> _builtins.str: + @pulumi.getter(name="redirectUrl") + def redirect_url(self) -> _builtins.str: """ - Sets Graphic device model. + The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. """ - return pulumi.get(self, "video_model") + return pulumi.get(self, "redirect_url") @_builtins.property - @pulumi.getter(name="virtioScsi") - def virtio_scsi(self) -> _builtins.bool: + @pulumi.getter + def scope(self) -> _builtins.str: """ - Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. + A list of space-separated scopes. The `openid` scope is always required; other scopes can vary by provider. """ - return pulumi.get(self, "virtio_scsi") + return pulumi.get(self, "scope") @pulumi.output_type -class GetImageV2FilterResult(dict): +class GetDremioInstanceAuthenticationOauthJwtClaimsResult(dict): def __init__(__self__, *, - distro: Optional[_builtins.str] = None, - os: Optional[_builtins.str] = None, - secure_boot: Optional[_builtins.bool] = None, - uefi: Optional[_builtins.bool] = None, - version: Optional[_builtins.str] = None): + user_name: _builtins.str): """ - :param _builtins.str distro: Filter images by operating system distribution. For example: `ubuntu`, `ubuntu-arm64`, `debian`, `rhel`, etc. - :param _builtins.str os: Filter images by operating system type, such as `linux` or `windows`. - :param _builtins.bool secure_boot: Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot. - :param _builtins.bool uefi: Filter images based on UEFI support. Set to `true` to match images that support UEFI. - :param _builtins.str version: Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`. + :param _builtins.str user_name: Mapped user name claim (e.g. email). """ - if distro is not None: - pulumi.set(__self__, "distro", distro) - if os is not None: - pulumi.set(__self__, "os", os) - if secure_boot is not None: - pulumi.set(__self__, "secure_boot", secure_boot) - if uefi is not None: - pulumi.set(__self__, "uefi", uefi) - if version is not None: - pulumi.set(__self__, "version", version) + pulumi.set(__self__, "user_name", user_name) @_builtins.property - @pulumi.getter - def distro(self) -> Optional[_builtins.str]: + @pulumi.getter(name="userName") + def user_name(self) -> _builtins.str: """ - Filter images by operating system distribution. For example: `ubuntu`, `ubuntu-arm64`, `debian`, `rhel`, etc. + Mapped user name claim (e.g. email). """ - return pulumi.get(self, "distro") + return pulumi.get(self, "user_name") - @_builtins.property - @pulumi.getter - def os(self) -> Optional[_builtins.str]: - """ - Filter images by operating system type, such as `linux` or `windows`. - """ - return pulumi.get(self, "os") - @_builtins.property - @pulumi.getter(name="secureBoot") - def secure_boot(self) -> Optional[_builtins.bool]: +@pulumi.output_type +class GetDremioInstanceAuthenticationOauthParameterResult(dict): + def __init__(__self__, *, + name: _builtins.str, + value: _builtins.str): """ - Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot. + :param _builtins.str name: Parameter name. + :param _builtins.str value: Parameter value. """ - return pulumi.get(self, "secure_boot") + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) @_builtins.property @pulumi.getter - def uefi(self) -> Optional[_builtins.bool]: + def name(self) -> _builtins.str: """ - Filter images based on UEFI support. Set to `true` to match images that support UEFI. + Parameter name. """ - return pulumi.get(self, "uefi") + return pulumi.get(self, "name") @_builtins.property @pulumi.getter - def version(self) -> Optional[_builtins.str]: + def value(self) -> _builtins.str: """ - Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`. + Parameter value. """ - return pulumi.get(self, "version") + return pulumi.get(self, "value") @pulumi.output_type -class GetLoadbalancerListenerResult(dict): +class GetDremioInstanceEndpointsResult(dict): def __init__(__self__, *, - display_name: _builtins.str, - port: _builtins.int, - protocol: _builtins.str, - target_pool: _builtins.str, - tcp: 'outputs.GetLoadbalancerListenerTcpResult', - udp: 'outputs.GetLoadbalancerListenerUdpResult', - server_name_indicators: Optional[Sequence['outputs.GetLoadbalancerListenerServerNameIndicatorResult']] = None): + arrow_flight: _builtins.str, + catalog: _builtins.str, + ui: _builtins.str): """ - :param _builtins.int port: Port number where we listen for traffic. - :param _builtins.str protocol: Protocol is the highest network protocol we understand to load balance. - :param _builtins.str target_pool: Reference target pool by target pool name. - :param 'GetLoadbalancerListenerTcpArgs' tcp: Options that are specific to the TCP protocol. - :param 'GetLoadbalancerListenerUdpArgs' udp: Options that are specific to the UDP protocol. - :param Sequence['GetLoadbalancerListenerServerNameIndicatorArgs'] server_name_indicators: A list of domain names to match in order to pass TLS traffic to the target pool in the current listener + :param _builtins.str arrow_flight: The arrow flight endpoint of the Dremio instance. + :param _builtins.str catalog: The Apache Iceberg endpoint of the Dremio instance. + :param _builtins.str ui: The UI endpoint of the Dremio instance. """ - pulumi.set(__self__, "display_name", display_name) - pulumi.set(__self__, "port", port) - pulumi.set(__self__, "protocol", protocol) - pulumi.set(__self__, "target_pool", target_pool) - pulumi.set(__self__, "tcp", tcp) - pulumi.set(__self__, "udp", udp) - if server_name_indicators is not None: - pulumi.set(__self__, "server_name_indicators", server_name_indicators) + pulumi.set(__self__, "arrow_flight", arrow_flight) + pulumi.set(__self__, "catalog", catalog) + pulumi.set(__self__, "ui", ui) @_builtins.property - @pulumi.getter(name="displayName") - def display_name(self) -> _builtins.str: - return pulumi.get(self, "display_name") + @pulumi.getter(name="arrowFlight") + def arrow_flight(self) -> _builtins.str: + """ + The arrow flight endpoint of the Dremio instance. + """ + return pulumi.get(self, "arrow_flight") @_builtins.property @pulumi.getter - def port(self) -> _builtins.int: + def catalog(self) -> _builtins.str: """ - Port number where we listen for traffic. + The Apache Iceberg endpoint of the Dremio instance. """ - return pulumi.get(self, "port") + return pulumi.get(self, "catalog") @_builtins.property @pulumi.getter - def protocol(self) -> _builtins.str: + def ui(self) -> _builtins.str: """ - Protocol is the highest network protocol we understand to load balance. + The UI endpoint of the Dremio instance. """ - return pulumi.get(self, "protocol") + return pulumi.get(self, "ui") - @_builtins.property - @pulumi.getter(name="targetPool") - def target_pool(self) -> _builtins.str: + +@pulumi.output_type +class GetEdgecloudInstancesInstanceResult(dict): + def __init__(__self__, *, + created: _builtins.str, + description: _builtins.str, + display_name: _builtins.str, + frontend_url: _builtins.str, + instance_id: _builtins.str, + plan_id: _builtins.str, + region: _builtins.str, + status: _builtins.str): """ - Reference target pool by target pool name. + :param _builtins.str created: The date and time the instance was created. + :param _builtins.str description: Description of the instance. + :param _builtins.str display_name: The display name of the instance. + :param _builtins.str frontend_url: Frontend URL for the Edge Cloud instance. + :param _builtins.str instance_id: The ID of the instance. + :param _builtins.str plan_id: The plan ID for the instance. + :param _builtins.str region: The region where the instance is located. + :param _builtins.str status: The status of the instance. """ - return pulumi.get(self, "target_pool") + pulumi.set(__self__, "created", created) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "frontend_url", frontend_url) + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "plan_id", plan_id) + pulumi.set(__self__, "region", region) + pulumi.set(__self__, "status", status) @_builtins.property @pulumi.getter - def tcp(self) -> 'outputs.GetLoadbalancerListenerTcpResult': + def created(self) -> _builtins.str: """ - Options that are specific to the TCP protocol. + The date and time the instance was created. """ - return pulumi.get(self, "tcp") + return pulumi.get(self, "created") @_builtins.property @pulumi.getter - def udp(self) -> 'outputs.GetLoadbalancerListenerUdpResult': + def description(self) -> _builtins.str: """ - Options that are specific to the UDP protocol. + Description of the instance. """ - return pulumi.get(self, "udp") + return pulumi.get(self, "description") @_builtins.property - @pulumi.getter(name="serverNameIndicators") - @_utilities.deprecated("""`server_name_indicators` is deprecated and will be removed after October 2026""") - def server_name_indicators(self) -> Optional[Sequence['outputs.GetLoadbalancerListenerServerNameIndicatorResult']]: + @pulumi.getter(name="displayName") + def display_name(self) -> _builtins.str: """ - A list of domain names to match in order to pass TLS traffic to the target pool in the current listener + The display name of the instance. """ - return pulumi.get(self, "server_name_indicators") - + return pulumi.get(self, "display_name") -@pulumi.output_type -class GetLoadbalancerListenerServerNameIndicatorResult(dict): - def __init__(__self__, *, - name: Optional[_builtins.str] = None): + @_builtins.property + @pulumi.getter(name="frontendUrl") + def frontend_url(self) -> _builtins.str: """ - :param _builtins.str name: A domain name to match in order to pass TLS traffic to the target pool in the current listener + Frontend URL for the Edge Cloud instance. """ - if name is not None: - pulumi.set(__self__, "name", name) + return pulumi.get(self, "frontend_url") @_builtins.property - @pulumi.getter - def name(self) -> Optional[_builtins.str]: + @pulumi.getter(name="instanceId") + def instance_id(self) -> _builtins.str: """ - A domain name to match in order to pass TLS traffic to the target pool in the current listener + The ID of the instance. """ - return pulumi.get(self, "name") + return pulumi.get(self, "instance_id") + @_builtins.property + @pulumi.getter(name="planId") + def plan_id(self) -> _builtins.str: + """ + The plan ID for the instance. + """ + return pulumi.get(self, "plan_id") -@pulumi.output_type -class GetLoadbalancerListenerTcpResult(dict): - def __init__(__self__, *, - idle_timeout: _builtins.str): + @_builtins.property + @pulumi.getter + def region(self) -> _builtins.str: """ - :param _builtins.str idle_timeout: Time after which an idle connection is closed. The default value is set to 5 minutes, and the maximum value is one hour. + The region where the instance is located. """ - pulumi.set(__self__, "idle_timeout", idle_timeout) + return pulumi.get(self, "region") @_builtins.property - @pulumi.getter(name="idleTimeout") - def idle_timeout(self) -> _builtins.str: + @pulumi.getter + def status(self) -> _builtins.str: """ - Time after which an idle connection is closed. The default value is set to 5 minutes, and the maximum value is one hour. + The status of the instance. """ - return pulumi.get(self, "idle_timeout") + return pulumi.get(self, "status") @pulumi.output_type -class GetLoadbalancerListenerUdpResult(dict): +class GetEdgecloudPlansPlanResult(dict): def __init__(__self__, *, - idle_timeout: _builtins.str): + description: _builtins.str, + id: _builtins.str, + max_edge_hosts: _builtins.int, + min_edge_hosts: _builtins.int, + name: _builtins.str): """ - :param _builtins.str idle_timeout: Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. + :param _builtins.str description: Description of the plan. + :param _builtins.str id: The ID of the plan. + :param _builtins.int max_edge_hosts: Maximum number of Edge Cloud hosts that can be used. + :param _builtins.int min_edge_hosts: Minimum number of Edge Cloud hosts charged. + :param _builtins.str name: The name of the plan. """ - pulumi.set(__self__, "idle_timeout", idle_timeout) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "max_edge_hosts", max_edge_hosts) + pulumi.set(__self__, "min_edge_hosts", min_edge_hosts) + pulumi.set(__self__, "name", name) @_builtins.property - @pulumi.getter(name="idleTimeout") - def idle_timeout(self) -> _builtins.str: + @pulumi.getter + def description(self) -> _builtins.str: """ - Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. + Description of the plan. """ - return pulumi.get(self, "idle_timeout") + return pulumi.get(self, "description") + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + The ID of the plan. + """ + return pulumi.get(self, "id") -@pulumi.output_type -class GetLoadbalancerNetworkResult(dict): - def __init__(__self__, *, - network_id: _builtins.str, - role: _builtins.str): + @_builtins.property + @pulumi.getter(name="maxEdgeHosts") + def max_edge_hosts(self) -> _builtins.int: """ - :param _builtins.str network_id: Openstack network ID. - :param _builtins.str role: The role defines how the load balancer is using the network. + Maximum number of Edge Cloud hosts that can be used. """ - pulumi.set(__self__, "network_id", network_id) - pulumi.set(__self__, "role", role) + return pulumi.get(self, "max_edge_hosts") @_builtins.property - @pulumi.getter(name="networkId") - def network_id(self) -> _builtins.str: + @pulumi.getter(name="minEdgeHosts") + def min_edge_hosts(self) -> _builtins.int: """ - Openstack network ID. + Minimum number of Edge Cloud hosts charged. """ - return pulumi.get(self, "network_id") + return pulumi.get(self, "min_edge_hosts") @_builtins.property @pulumi.getter - def role(self) -> _builtins.str: + def name(self) -> _builtins.str: """ - The role defines how the load balancer is using the network. + The name of the plan. """ - return pulumi.get(self, "role") + return pulumi.get(self, "name") @pulumi.output_type -class GetLoadbalancerOptionsResult(dict): +class GetImageChecksumResult(dict): def __init__(__self__, *, - acls: Sequence[_builtins.str], - observability: 'outputs.GetLoadbalancerOptionsObservabilityResult', - private_network_only: _builtins.bool): + algorithm: _builtins.str, + digest: _builtins.str): """ - :param Sequence[_builtins.str] acls: Load Balancer is accessible only from an IP address in this range. - :param 'GetLoadbalancerOptionsObservabilityArgs' observability: We offer Load Balancer metrics observability via ARGUS or external solutions. - :param _builtins.bool private_network_only: If true, Load Balancer is accessible only via a private network IP address. + :param _builtins.str algorithm: Algorithm for the checksum of the image data. + :param _builtins.str digest: Hexdigest of the checksum of the image data. """ - pulumi.set(__self__, "acls", acls) - pulumi.set(__self__, "observability", observability) - pulumi.set(__self__, "private_network_only", private_network_only) + pulumi.set(__self__, "algorithm", algorithm) + pulumi.set(__self__, "digest", digest) @_builtins.property @pulumi.getter - def acls(self) -> Sequence[_builtins.str]: + def algorithm(self) -> _builtins.str: """ - Load Balancer is accessible only from an IP address in this range. + Algorithm for the checksum of the image data. """ - return pulumi.get(self, "acls") + return pulumi.get(self, "algorithm") @_builtins.property @pulumi.getter - def observability(self) -> 'outputs.GetLoadbalancerOptionsObservabilityResult': - """ - We offer Load Balancer metrics observability via ARGUS or external solutions. - """ - return pulumi.get(self, "observability") - - @_builtins.property - @pulumi.getter(name="privateNetworkOnly") - def private_network_only(self) -> _builtins.bool: + def digest(self) -> _builtins.str: """ - If true, Load Balancer is accessible only via a private network IP address. + Hexdigest of the checksum of the image data. """ - return pulumi.get(self, "private_network_only") + return pulumi.get(self, "digest") @pulumi.output_type -class GetLoadbalancerOptionsObservabilityResult(dict): +class GetImageConfigResult(dict): def __init__(__self__, *, - logs: 'outputs.GetLoadbalancerOptionsObservabilityLogsResult', - metrics: 'outputs.GetLoadbalancerOptionsObservabilityMetricsResult'): - """ - :param 'GetLoadbalancerOptionsObservabilityLogsArgs' logs: Observability logs configuration. - :param 'GetLoadbalancerOptionsObservabilityMetricsArgs' metrics: Observability metrics configuration. + boot_menu: _builtins.bool, + cdrom_bus: _builtins.str, + disk_bus: _builtins.str, + nic_model: _builtins.str, + operating_system: _builtins.str, + operating_system_distro: _builtins.str, + operating_system_version: _builtins.str, + rescue_bus: _builtins.str, + rescue_device: _builtins.str, + secure_boot: _builtins.bool, + uefi: _builtins.bool, + video_model: _builtins.str, + virtio_scsi: _builtins.bool): """ - pulumi.set(__self__, "logs", logs) - pulumi.set(__self__, "metrics", metrics) + :param _builtins.bool boot_menu: Enables the BIOS bootmenu. + :param _builtins.str cdrom_bus: Sets CDROM bus controller type. + :param _builtins.str disk_bus: Sets Disk bus controller type. + :param _builtins.str nic_model: Sets virtual network interface model. + :param _builtins.str operating_system: Enables operating system specific optimizations. + :param _builtins.str operating_system_distro: Operating system distribution. + :param _builtins.str operating_system_version: Version of the operating system. + :param _builtins.str rescue_bus: Sets the device bus when the image is used as a rescue image. + :param _builtins.str rescue_device: Sets the device when the image is used as a rescue image. + :param _builtins.bool secure_boot: Enables Secure Boot. + :param _builtins.bool uefi: Enables UEFI boot. + :param _builtins.str video_model: Sets Graphic device model. + :param _builtins.bool virtio_scsi: Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. + """ + pulumi.set(__self__, "boot_menu", boot_menu) + pulumi.set(__self__, "cdrom_bus", cdrom_bus) + pulumi.set(__self__, "disk_bus", disk_bus) + pulumi.set(__self__, "nic_model", nic_model) + pulumi.set(__self__, "operating_system", operating_system) + pulumi.set(__self__, "operating_system_distro", operating_system_distro) + pulumi.set(__self__, "operating_system_version", operating_system_version) + pulumi.set(__self__, "rescue_bus", rescue_bus) + pulumi.set(__self__, "rescue_device", rescue_device) + pulumi.set(__self__, "secure_boot", secure_boot) + pulumi.set(__self__, "uefi", uefi) + pulumi.set(__self__, "video_model", video_model) + pulumi.set(__self__, "virtio_scsi", virtio_scsi) @_builtins.property - @pulumi.getter - def logs(self) -> 'outputs.GetLoadbalancerOptionsObservabilityLogsResult': + @pulumi.getter(name="bootMenu") + def boot_menu(self) -> _builtins.bool: """ - Observability logs configuration. + Enables the BIOS bootmenu. """ - return pulumi.get(self, "logs") + return pulumi.get(self, "boot_menu") @_builtins.property - @pulumi.getter - def metrics(self) -> 'outputs.GetLoadbalancerOptionsObservabilityMetricsResult': + @pulumi.getter(name="cdromBus") + def cdrom_bus(self) -> _builtins.str: """ - Observability metrics configuration. + Sets CDROM bus controller type. """ - return pulumi.get(self, "metrics") - + return pulumi.get(self, "cdrom_bus") -@pulumi.output_type -class GetLoadbalancerOptionsObservabilityLogsResult(dict): - def __init__(__self__, *, - credentials_ref: _builtins.str, - push_url: _builtins.str): + @_builtins.property + @pulumi.getter(name="diskBus") + def disk_bus(self) -> _builtins.str: """ - :param _builtins.str credentials_ref: Credentials reference for logs. - :param _builtins.str push_url: Credentials reference for logs. + Sets Disk bus controller type. """ - pulumi.set(__self__, "credentials_ref", credentials_ref) - pulumi.set(__self__, "push_url", push_url) + return pulumi.get(self, "disk_bus") @_builtins.property - @pulumi.getter(name="credentialsRef") - def credentials_ref(self) -> _builtins.str: + @pulumi.getter(name="nicModel") + def nic_model(self) -> _builtins.str: """ - Credentials reference for logs. + Sets virtual network interface model. """ - return pulumi.get(self, "credentials_ref") + return pulumi.get(self, "nic_model") @_builtins.property - @pulumi.getter(name="pushUrl") - def push_url(self) -> _builtins.str: + @pulumi.getter(name="operatingSystem") + def operating_system(self) -> _builtins.str: """ - Credentials reference for logs. + Enables operating system specific optimizations. """ - return pulumi.get(self, "push_url") - + return pulumi.get(self, "operating_system") -@pulumi.output_type -class GetLoadbalancerOptionsObservabilityMetricsResult(dict): - def __init__(__self__, *, - credentials_ref: _builtins.str, - push_url: _builtins.str): + @_builtins.property + @pulumi.getter(name="operatingSystemDistro") + def operating_system_distro(self) -> _builtins.str: """ - :param _builtins.str credentials_ref: Credentials reference for metrics. - :param _builtins.str push_url: Credentials reference for metrics. + Operating system distribution. """ - pulumi.set(__self__, "credentials_ref", credentials_ref) - pulumi.set(__self__, "push_url", push_url) + return pulumi.get(self, "operating_system_distro") @_builtins.property - @pulumi.getter(name="credentialsRef") - def credentials_ref(self) -> _builtins.str: + @pulumi.getter(name="operatingSystemVersion") + def operating_system_version(self) -> _builtins.str: """ - Credentials reference for metrics. + Version of the operating system. """ - return pulumi.get(self, "credentials_ref") + return pulumi.get(self, "operating_system_version") @_builtins.property - @pulumi.getter(name="pushUrl") - def push_url(self) -> _builtins.str: + @pulumi.getter(name="rescueBus") + def rescue_bus(self) -> _builtins.str: """ - Credentials reference for metrics. + Sets the device bus when the image is used as a rescue image. """ - return pulumi.get(self, "push_url") - + return pulumi.get(self, "rescue_bus") -@pulumi.output_type -class GetLoadbalancerTargetPoolResult(dict): - def __init__(__self__, *, - active_health_check: 'outputs.GetLoadbalancerTargetPoolActiveHealthCheckResult', - name: _builtins.str, - session_persistence: 'outputs.GetLoadbalancerTargetPoolSessionPersistenceResult', - target_port: _builtins.int, - targets: Sequence['outputs.GetLoadbalancerTargetPoolTargetResult']): + @_builtins.property + @pulumi.getter(name="rescueDevice") + def rescue_device(self) -> _builtins.str: """ - :param _builtins.str name: Target pool name. - :param 'GetLoadbalancerTargetPoolSessionPersistenceArgs' session_persistence: Here you can setup various session persistence options, so far only "`use_source_ip_address`" is supported. - :param _builtins.int target_port: Identical port number where each target listens for traffic. - :param Sequence['GetLoadbalancerTargetPoolTargetArgs'] targets: List of all targets which will be used in the pool. Limited to 1000. + Sets the device when the image is used as a rescue image. """ - pulumi.set(__self__, "active_health_check", active_health_check) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "session_persistence", session_persistence) - pulumi.set(__self__, "target_port", target_port) - pulumi.set(__self__, "targets", targets) - - @_builtins.property - @pulumi.getter(name="activeHealthCheck") - def active_health_check(self) -> 'outputs.GetLoadbalancerTargetPoolActiveHealthCheckResult': - return pulumi.get(self, "active_health_check") + return pulumi.get(self, "rescue_device") @_builtins.property - @pulumi.getter - def name(self) -> _builtins.str: + @pulumi.getter(name="secureBoot") + def secure_boot(self) -> _builtins.bool: """ - Target pool name. + Enables Secure Boot. """ - return pulumi.get(self, "name") + return pulumi.get(self, "secure_boot") @_builtins.property - @pulumi.getter(name="sessionPersistence") - def session_persistence(self) -> 'outputs.GetLoadbalancerTargetPoolSessionPersistenceResult': + @pulumi.getter + def uefi(self) -> _builtins.bool: """ - Here you can setup various session persistence options, so far only "`use_source_ip_address`" is supported. + Enables UEFI boot. """ - return pulumi.get(self, "session_persistence") + return pulumi.get(self, "uefi") @_builtins.property - @pulumi.getter(name="targetPort") - def target_port(self) -> _builtins.int: + @pulumi.getter(name="videoModel") + def video_model(self) -> _builtins.str: """ - Identical port number where each target listens for traffic. + Sets Graphic device model. """ - return pulumi.get(self, "target_port") + return pulumi.get(self, "video_model") @_builtins.property - @pulumi.getter - def targets(self) -> Sequence['outputs.GetLoadbalancerTargetPoolTargetResult']: + @pulumi.getter(name="virtioScsi") + def virtio_scsi(self) -> _builtins.bool: """ - List of all targets which will be used in the pool. Limited to 1000. + Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. """ - return pulumi.get(self, "targets") + return pulumi.get(self, "virtio_scsi") @pulumi.output_type -class GetLoadbalancerTargetPoolActiveHealthCheckResult(dict): +class GetImageV2ChecksumResult(dict): def __init__(__self__, *, - healthy_threshold: _builtins.int, - interval: _builtins.str, - interval_jitter: _builtins.str, - timeout: _builtins.str, - unhealthy_threshold: _builtins.int): - """ - :param _builtins.int healthy_threshold: Healthy threshold of the health checking. - :param _builtins.str interval: Interval duration of health checking in seconds. - :param _builtins.str interval_jitter: Interval duration threshold of the health checking in seconds. - :param _builtins.str timeout: Active health checking timeout duration in seconds. - :param _builtins.int unhealthy_threshold: Unhealthy threshold of the health checking. - """ - pulumi.set(__self__, "healthy_threshold", healthy_threshold) - pulumi.set(__self__, "interval", interval) - pulumi.set(__self__, "interval_jitter", interval_jitter) - pulumi.set(__self__, "timeout", timeout) - pulumi.set(__self__, "unhealthy_threshold", unhealthy_threshold) - - @_builtins.property - @pulumi.getter(name="healthyThreshold") - def healthy_threshold(self) -> _builtins.int: + algorithm: _builtins.str, + digest: _builtins.str): """ - Healthy threshold of the health checking. + :param _builtins.str algorithm: Algorithm for the checksum of the image data. + :param _builtins.str digest: Hexdigest of the checksum of the image data. """ - return pulumi.get(self, "healthy_threshold") + pulumi.set(__self__, "algorithm", algorithm) + pulumi.set(__self__, "digest", digest) @_builtins.property @pulumi.getter - def interval(self) -> _builtins.str: - """ - Interval duration of health checking in seconds. - """ - return pulumi.get(self, "interval") - - @_builtins.property - @pulumi.getter(name="intervalJitter") - def interval_jitter(self) -> _builtins.str: + def algorithm(self) -> _builtins.str: """ - Interval duration threshold of the health checking in seconds. + Algorithm for the checksum of the image data. """ - return pulumi.get(self, "interval_jitter") + return pulumi.get(self, "algorithm") @_builtins.property @pulumi.getter - def timeout(self) -> _builtins.str: - """ - Active health checking timeout duration in seconds. - """ - return pulumi.get(self, "timeout") - - @_builtins.property - @pulumi.getter(name="unhealthyThreshold") - def unhealthy_threshold(self) -> _builtins.int: + def digest(self) -> _builtins.str: """ - Unhealthy threshold of the health checking. + Hexdigest of the checksum of the image data. """ - return pulumi.get(self, "unhealthy_threshold") + return pulumi.get(self, "digest") @pulumi.output_type -class GetLoadbalancerTargetPoolSessionPersistenceResult(dict): +class GetImageV2ConfigResult(dict): def __init__(__self__, *, - use_source_ip_address: _builtins.bool): - """ - :param _builtins.bool use_source_ip_address: If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev. - """ - pulumi.set(__self__, "use_source_ip_address", use_source_ip_address) - - @_builtins.property - @pulumi.getter(name="useSourceIpAddress") - def use_source_ip_address(self) -> _builtins.bool: - """ - If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev. - """ - return pulumi.get(self, "use_source_ip_address") + boot_menu: _builtins.bool, + cdrom_bus: _builtins.str, + disk_bus: _builtins.str, + nic_model: _builtins.str, + operating_system: _builtins.str, + operating_system_distro: _builtins.str, + operating_system_version: _builtins.str, + rescue_bus: _builtins.str, + rescue_device: _builtins.str, + secure_boot: _builtins.bool, + uefi: _builtins.bool, + video_model: _builtins.str, + virtio_scsi: _builtins.bool): + """ + :param _builtins.bool boot_menu: Enables the BIOS bootmenu. + :param _builtins.str cdrom_bus: Sets CDROM bus controller type. + :param _builtins.str disk_bus: Sets Disk bus controller type. + :param _builtins.str nic_model: Sets virtual network interface model. + :param _builtins.str operating_system: Enables operating system specific optimizations. + :param _builtins.str operating_system_distro: Operating system distribution. + :param _builtins.str operating_system_version: Version of the operating system. + :param _builtins.str rescue_bus: Sets the device bus when the image is used as a rescue image. + :param _builtins.str rescue_device: Sets the device when the image is used as a rescue image. + :param _builtins.bool secure_boot: Enables Secure Boot. + :param _builtins.bool uefi: Enables UEFI boot. + :param _builtins.str video_model: Sets Graphic device model. + :param _builtins.bool virtio_scsi: Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. + """ + pulumi.set(__self__, "boot_menu", boot_menu) + pulumi.set(__self__, "cdrom_bus", cdrom_bus) + pulumi.set(__self__, "disk_bus", disk_bus) + pulumi.set(__self__, "nic_model", nic_model) + pulumi.set(__self__, "operating_system", operating_system) + pulumi.set(__self__, "operating_system_distro", operating_system_distro) + pulumi.set(__self__, "operating_system_version", operating_system_version) + pulumi.set(__self__, "rescue_bus", rescue_bus) + pulumi.set(__self__, "rescue_device", rescue_device) + pulumi.set(__self__, "secure_boot", secure_boot) + pulumi.set(__self__, "uefi", uefi) + pulumi.set(__self__, "video_model", video_model) + pulumi.set(__self__, "virtio_scsi", virtio_scsi) + + @_builtins.property + @pulumi.getter(name="bootMenu") + def boot_menu(self) -> _builtins.bool: + """ + Enables the BIOS bootmenu. + """ + return pulumi.get(self, "boot_menu") + + @_builtins.property + @pulumi.getter(name="cdromBus") + def cdrom_bus(self) -> _builtins.str: + """ + Sets CDROM bus controller type. + """ + return pulumi.get(self, "cdrom_bus") + + @_builtins.property + @pulumi.getter(name="diskBus") + def disk_bus(self) -> _builtins.str: + """ + Sets Disk bus controller type. + """ + return pulumi.get(self, "disk_bus") + + @_builtins.property + @pulumi.getter(name="nicModel") + def nic_model(self) -> _builtins.str: + """ + Sets virtual network interface model. + """ + return pulumi.get(self, "nic_model") + + @_builtins.property + @pulumi.getter(name="operatingSystem") + def operating_system(self) -> _builtins.str: + """ + Enables operating system specific optimizations. + """ + return pulumi.get(self, "operating_system") + + @_builtins.property + @pulumi.getter(name="operatingSystemDistro") + def operating_system_distro(self) -> _builtins.str: + """ + Operating system distribution. + """ + return pulumi.get(self, "operating_system_distro") + + @_builtins.property + @pulumi.getter(name="operatingSystemVersion") + def operating_system_version(self) -> _builtins.str: + """ + Version of the operating system. + """ + return pulumi.get(self, "operating_system_version") + + @_builtins.property + @pulumi.getter(name="rescueBus") + def rescue_bus(self) -> _builtins.str: + """ + Sets the device bus when the image is used as a rescue image. + """ + return pulumi.get(self, "rescue_bus") + + @_builtins.property + @pulumi.getter(name="rescueDevice") + def rescue_device(self) -> _builtins.str: + """ + Sets the device when the image is used as a rescue image. + """ + return pulumi.get(self, "rescue_device") + + @_builtins.property + @pulumi.getter(name="secureBoot") + def secure_boot(self) -> _builtins.bool: + """ + Enables Secure Boot. + """ + return pulumi.get(self, "secure_boot") + + @_builtins.property + @pulumi.getter + def uefi(self) -> _builtins.bool: + """ + Enables UEFI boot. + """ + return pulumi.get(self, "uefi") + + @_builtins.property + @pulumi.getter(name="videoModel") + def video_model(self) -> _builtins.str: + """ + Sets Graphic device model. + """ + return pulumi.get(self, "video_model") + + @_builtins.property + @pulumi.getter(name="virtioScsi") + def virtio_scsi(self) -> _builtins.bool: + """ + Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. + """ + return pulumi.get(self, "virtio_scsi") + + +@pulumi.output_type +class GetImageV2FilterResult(dict): + def __init__(__self__, *, + distro: Optional[_builtins.str] = None, + os: Optional[_builtins.str] = None, + secure_boot: Optional[_builtins.bool] = None, + uefi: Optional[_builtins.bool] = None, + version: Optional[_builtins.str] = None): + """ + :param _builtins.str distro: Filter images by operating system distribution. For example: `ubuntu`, `ubuntu-arm64`, `debian`, `rhel`, etc. + :param _builtins.str os: Filter images by operating system type, such as `linux` or `windows`. + :param _builtins.bool secure_boot: Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot. + :param _builtins.bool uefi: Filter images based on UEFI support. Set to `true` to match images that support UEFI. + :param _builtins.str version: Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`. + """ + if distro is not None: + pulumi.set(__self__, "distro", distro) + if os is not None: + pulumi.set(__self__, "os", os) + if secure_boot is not None: + pulumi.set(__self__, "secure_boot", secure_boot) + if uefi is not None: + pulumi.set(__self__, "uefi", uefi) + if version is not None: + pulumi.set(__self__, "version", version) + + @_builtins.property + @pulumi.getter + def distro(self) -> Optional[_builtins.str]: + """ + Filter images by operating system distribution. For example: `ubuntu`, `ubuntu-arm64`, `debian`, `rhel`, etc. + """ + return pulumi.get(self, "distro") + + @_builtins.property + @pulumi.getter + def os(self) -> Optional[_builtins.str]: + """ + Filter images by operating system type, such as `linux` or `windows`. + """ + return pulumi.get(self, "os") + + @_builtins.property + @pulumi.getter(name="secureBoot") + def secure_boot(self) -> Optional[_builtins.bool]: + """ + Filter images with Secure Boot support. Set to `true` to match images that support Secure Boot. + """ + return pulumi.get(self, "secure_boot") + + @_builtins.property + @pulumi.getter + def uefi(self) -> Optional[_builtins.bool]: + """ + Filter images based on UEFI support. Set to `true` to match images that support UEFI. + """ + return pulumi.get(self, "uefi") + + @_builtins.property + @pulumi.getter + def version(self) -> Optional[_builtins.str]: + """ + Filter images by OS distribution version, such as `22.04`, `11`, or `9.1`. + """ + return pulumi.get(self, "version") + + +@pulumi.output_type +class GetLoadbalancerListenerResult(dict): + def __init__(__self__, *, + display_name: _builtins.str, + port: _builtins.int, + protocol: _builtins.str, + target_pool: _builtins.str, + tcp: 'outputs.GetLoadbalancerListenerTcpResult', + udp: 'outputs.GetLoadbalancerListenerUdpResult', + server_name_indicators: Optional[Sequence['outputs.GetLoadbalancerListenerServerNameIndicatorResult']] = None): + """ + :param _builtins.int port: Port number where we listen for traffic. + :param _builtins.str protocol: Protocol is the highest network protocol we understand to load balance. + :param _builtins.str target_pool: Reference target pool by target pool name. + :param 'GetLoadbalancerListenerTcpArgs' tcp: Options that are specific to the TCP protocol. + :param 'GetLoadbalancerListenerUdpArgs' udp: Options that are specific to the UDP protocol. + :param Sequence['GetLoadbalancerListenerServerNameIndicatorArgs'] server_name_indicators: A list of domain names to match in order to pass TLS traffic to the target pool in the current listener + """ + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "port", port) + pulumi.set(__self__, "protocol", protocol) + pulumi.set(__self__, "target_pool", target_pool) + pulumi.set(__self__, "tcp", tcp) + pulumi.set(__self__, "udp", udp) + if server_name_indicators is not None: + pulumi.set(__self__, "server_name_indicators", server_name_indicators) + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> _builtins.str: + return pulumi.get(self, "display_name") + + @_builtins.property + @pulumi.getter + def port(self) -> _builtins.int: + """ + Port number where we listen for traffic. + """ + return pulumi.get(self, "port") + + @_builtins.property + @pulumi.getter + def protocol(self) -> _builtins.str: + """ + Protocol is the highest network protocol we understand to load balance. + """ + return pulumi.get(self, "protocol") + + @_builtins.property + @pulumi.getter(name="targetPool") + def target_pool(self) -> _builtins.str: + """ + Reference target pool by target pool name. + """ + return pulumi.get(self, "target_pool") + + @_builtins.property + @pulumi.getter + def tcp(self) -> 'outputs.GetLoadbalancerListenerTcpResult': + """ + Options that are specific to the TCP protocol. + """ + return pulumi.get(self, "tcp") + + @_builtins.property + @pulumi.getter + def udp(self) -> 'outputs.GetLoadbalancerListenerUdpResult': + """ + Options that are specific to the UDP protocol. + """ + return pulumi.get(self, "udp") + + @_builtins.property + @pulumi.getter(name="serverNameIndicators") + @_utilities.deprecated("""`server_name_indicators` is deprecated and will be removed after October 2026""") + def server_name_indicators(self) -> Optional[Sequence['outputs.GetLoadbalancerListenerServerNameIndicatorResult']]: + """ + A list of domain names to match in order to pass TLS traffic to the target pool in the current listener + """ + return pulumi.get(self, "server_name_indicators") + + +@pulumi.output_type +class GetLoadbalancerListenerServerNameIndicatorResult(dict): + def __init__(__self__, *, + name: Optional[_builtins.str] = None): + """ + :param _builtins.str name: A domain name to match in order to pass TLS traffic to the target pool in the current listener + """ + if name is not None: + pulumi.set(__self__, "name", name) + + @_builtins.property + @pulumi.getter + def name(self) -> Optional[_builtins.str]: + """ + A domain name to match in order to pass TLS traffic to the target pool in the current listener + """ + return pulumi.get(self, "name") + + +@pulumi.output_type +class GetLoadbalancerListenerTcpResult(dict): + def __init__(__self__, *, + idle_timeout: _builtins.str): + """ + :param _builtins.str idle_timeout: Time after which an idle connection is closed. The default value is set to 5 minutes, and the maximum value is one hour. + """ + pulumi.set(__self__, "idle_timeout", idle_timeout) + + @_builtins.property + @pulumi.getter(name="idleTimeout") + def idle_timeout(self) -> _builtins.str: + """ + Time after which an idle connection is closed. The default value is set to 5 minutes, and the maximum value is one hour. + """ + return pulumi.get(self, "idle_timeout") + + +@pulumi.output_type +class GetLoadbalancerListenerUdpResult(dict): + def __init__(__self__, *, + idle_timeout: _builtins.str): + """ + :param _builtins.str idle_timeout: Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. + """ + pulumi.set(__self__, "idle_timeout", idle_timeout) + + @_builtins.property + @pulumi.getter(name="idleTimeout") + def idle_timeout(self) -> _builtins.str: + """ + Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. + """ + return pulumi.get(self, "idle_timeout") + + +@pulumi.output_type +class GetLoadbalancerNetworkResult(dict): + def __init__(__self__, *, + network_id: _builtins.str, + role: _builtins.str): + """ + :param _builtins.str network_id: Openstack network ID. + :param _builtins.str role: The role defines how the load balancer is using the network. + """ + pulumi.set(__self__, "network_id", network_id) + pulumi.set(__self__, "role", role) + + @_builtins.property + @pulumi.getter(name="networkId") + def network_id(self) -> _builtins.str: + """ + Openstack network ID. + """ + return pulumi.get(self, "network_id") + + @_builtins.property + @pulumi.getter + def role(self) -> _builtins.str: + """ + The role defines how the load balancer is using the network. + """ + return pulumi.get(self, "role") + + +@pulumi.output_type +class GetLoadbalancerOptionsResult(dict): + def __init__(__self__, *, + acls: Sequence[_builtins.str], + observability: 'outputs.GetLoadbalancerOptionsObservabilityResult', + private_network_only: _builtins.bool): + """ + :param Sequence[_builtins.str] acls: Load Balancer is accessible only from an IP address in this range. + :param 'GetLoadbalancerOptionsObservabilityArgs' observability: We offer Load Balancer metrics observability via ARGUS or external solutions. + :param _builtins.bool private_network_only: If true, Load Balancer is accessible only via a private network IP address. + """ + pulumi.set(__self__, "acls", acls) + pulumi.set(__self__, "observability", observability) + pulumi.set(__self__, "private_network_only", private_network_only) + + @_builtins.property + @pulumi.getter + def acls(self) -> Sequence[_builtins.str]: + """ + Load Balancer is accessible only from an IP address in this range. + """ + return pulumi.get(self, "acls") + + @_builtins.property + @pulumi.getter + def observability(self) -> 'outputs.GetLoadbalancerOptionsObservabilityResult': + """ + We offer Load Balancer metrics observability via ARGUS or external solutions. + """ + return pulumi.get(self, "observability") + + @_builtins.property + @pulumi.getter(name="privateNetworkOnly") + def private_network_only(self) -> _builtins.bool: + """ + If true, Load Balancer is accessible only via a private network IP address. + """ + return pulumi.get(self, "private_network_only") + + +@pulumi.output_type +class GetLoadbalancerOptionsObservabilityResult(dict): + def __init__(__self__, *, + logs: 'outputs.GetLoadbalancerOptionsObservabilityLogsResult', + metrics: 'outputs.GetLoadbalancerOptionsObservabilityMetricsResult'): + """ + :param 'GetLoadbalancerOptionsObservabilityLogsArgs' logs: Observability logs configuration. + :param 'GetLoadbalancerOptionsObservabilityMetricsArgs' metrics: Observability metrics configuration. + """ + pulumi.set(__self__, "logs", logs) + pulumi.set(__self__, "metrics", metrics) + + @_builtins.property + @pulumi.getter + def logs(self) -> 'outputs.GetLoadbalancerOptionsObservabilityLogsResult': + """ + Observability logs configuration. + """ + return pulumi.get(self, "logs") + + @_builtins.property + @pulumi.getter + def metrics(self) -> 'outputs.GetLoadbalancerOptionsObservabilityMetricsResult': + """ + Observability metrics configuration. + """ + return pulumi.get(self, "metrics") + + +@pulumi.output_type +class GetLoadbalancerOptionsObservabilityLogsResult(dict): + def __init__(__self__, *, + credentials_ref: _builtins.str, + push_url: _builtins.str): + """ + :param _builtins.str credentials_ref: Credentials reference for logs. + :param _builtins.str push_url: Credentials reference for logs. + """ + pulumi.set(__self__, "credentials_ref", credentials_ref) + pulumi.set(__self__, "push_url", push_url) + + @_builtins.property + @pulumi.getter(name="credentialsRef") + def credentials_ref(self) -> _builtins.str: + """ + Credentials reference for logs. + """ + return pulumi.get(self, "credentials_ref") + + @_builtins.property + @pulumi.getter(name="pushUrl") + def push_url(self) -> _builtins.str: + """ + Credentials reference for logs. + """ + return pulumi.get(self, "push_url") + + +@pulumi.output_type +class GetLoadbalancerOptionsObservabilityMetricsResult(dict): + def __init__(__self__, *, + credentials_ref: _builtins.str, + push_url: _builtins.str): + """ + :param _builtins.str credentials_ref: Credentials reference for metrics. + :param _builtins.str push_url: Credentials reference for metrics. + """ + pulumi.set(__self__, "credentials_ref", credentials_ref) + pulumi.set(__self__, "push_url", push_url) + + @_builtins.property + @pulumi.getter(name="credentialsRef") + def credentials_ref(self) -> _builtins.str: + """ + Credentials reference for metrics. + """ + return pulumi.get(self, "credentials_ref") + + @_builtins.property + @pulumi.getter(name="pushUrl") + def push_url(self) -> _builtins.str: + """ + Credentials reference for metrics. + """ + return pulumi.get(self, "push_url") + + +@pulumi.output_type +class GetLoadbalancerTargetPoolResult(dict): + def __init__(__self__, *, + active_health_check: 'outputs.GetLoadbalancerTargetPoolActiveHealthCheckResult', + name: _builtins.str, + session_persistence: 'outputs.GetLoadbalancerTargetPoolSessionPersistenceResult', + target_port: _builtins.int, + targets: Sequence['outputs.GetLoadbalancerTargetPoolTargetResult']): + """ + :param _builtins.str name: Target pool name. + :param 'GetLoadbalancerTargetPoolSessionPersistenceArgs' session_persistence: Here you can setup various session persistence options, so far only "`use_source_ip_address`" is supported. + :param _builtins.int target_port: Identical port number where each target listens for traffic. + :param Sequence['GetLoadbalancerTargetPoolTargetArgs'] targets: List of all targets which will be used in the pool. Limited to 1000. + """ + pulumi.set(__self__, "active_health_check", active_health_check) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "session_persistence", session_persistence) + pulumi.set(__self__, "target_port", target_port) + pulumi.set(__self__, "targets", targets) + + @_builtins.property + @pulumi.getter(name="activeHealthCheck") + def active_health_check(self) -> 'outputs.GetLoadbalancerTargetPoolActiveHealthCheckResult': + return pulumi.get(self, "active_health_check") + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + Target pool name. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="sessionPersistence") + def session_persistence(self) -> 'outputs.GetLoadbalancerTargetPoolSessionPersistenceResult': + """ + Here you can setup various session persistence options, so far only "`use_source_ip_address`" is supported. + """ + return pulumi.get(self, "session_persistence") + + @_builtins.property + @pulumi.getter(name="targetPort") + def target_port(self) -> _builtins.int: + """ + Identical port number where each target listens for traffic. + """ + return pulumi.get(self, "target_port") + + @_builtins.property + @pulumi.getter + def targets(self) -> Sequence['outputs.GetLoadbalancerTargetPoolTargetResult']: + """ + List of all targets which will be used in the pool. Limited to 1000. + """ + return pulumi.get(self, "targets") + + +@pulumi.output_type +class GetLoadbalancerTargetPoolActiveHealthCheckResult(dict): + def __init__(__self__, *, + healthy_threshold: _builtins.int, + interval: _builtins.str, + interval_jitter: _builtins.str, + timeout: _builtins.str, + unhealthy_threshold: _builtins.int): + """ + :param _builtins.int healthy_threshold: Healthy threshold of the health checking. + :param _builtins.str interval: Interval duration of health checking in seconds. + :param _builtins.str interval_jitter: Interval duration threshold of the health checking in seconds. + :param _builtins.str timeout: Active health checking timeout duration in seconds. + :param _builtins.int unhealthy_threshold: Unhealthy threshold of the health checking. + """ + pulumi.set(__self__, "healthy_threshold", healthy_threshold) + pulumi.set(__self__, "interval", interval) + pulumi.set(__self__, "interval_jitter", interval_jitter) + pulumi.set(__self__, "timeout", timeout) + pulumi.set(__self__, "unhealthy_threshold", unhealthy_threshold) + + @_builtins.property + @pulumi.getter(name="healthyThreshold") + def healthy_threshold(self) -> _builtins.int: + """ + Healthy threshold of the health checking. + """ + return pulumi.get(self, "healthy_threshold") + + @_builtins.property + @pulumi.getter + def interval(self) -> _builtins.str: + """ + Interval duration of health checking in seconds. + """ + return pulumi.get(self, "interval") + + @_builtins.property + @pulumi.getter(name="intervalJitter") + def interval_jitter(self) -> _builtins.str: + """ + Interval duration threshold of the health checking in seconds. + """ + return pulumi.get(self, "interval_jitter") + + @_builtins.property + @pulumi.getter + def timeout(self) -> _builtins.str: + """ + Active health checking timeout duration in seconds. + """ + return pulumi.get(self, "timeout") + + @_builtins.property + @pulumi.getter(name="unhealthyThreshold") + def unhealthy_threshold(self) -> _builtins.int: + """ + Unhealthy threshold of the health checking. + """ + return pulumi.get(self, "unhealthy_threshold") + + +@pulumi.output_type +class GetLoadbalancerTargetPoolSessionPersistenceResult(dict): + def __init__(__self__, *, + use_source_ip_address: _builtins.bool): + """ + :param _builtins.bool use_source_ip_address: If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev. + """ + pulumi.set(__self__, "use_source_ip_address", use_source_ip_address) + + @_builtins.property + @pulumi.getter(name="useSourceIpAddress") + def use_source_ip_address(self) -> _builtins.bool: + """ + If true then all connections from one source IP address are redirected to the same target. This setting changes the load balancing algorithm to Maglev. + """ + return pulumi.get(self, "use_source_ip_address") + + +@pulumi.output_type +class GetLoadbalancerTargetPoolTargetResult(dict): + def __init__(__self__, *, + display_name: _builtins.str, + ip: _builtins.str): + """ + :param _builtins.str display_name: Target display name + :param _builtins.str ip: Target IP + """ + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "ip", ip) + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> _builtins.str: + """ + Target display name + """ + return pulumi.get(self, "display_name") + + @_builtins.property + @pulumi.getter + def ip(self) -> _builtins.str: + """ + Target IP + """ + return pulumi.get(self, "ip") + + +@pulumi.output_type +class GetLogmeInstanceParametersResult(dict): + def __init__(__self__, *, + enable_monitoring: _builtins.bool, + fluentd_tcp: _builtins.int, + fluentd_tls: _builtins.int, + fluentd_tls_ciphers: _builtins.str, + fluentd_tls_max_version: _builtins.str, + fluentd_tls_min_version: _builtins.str, + fluentd_tls_version: _builtins.str, + fluentd_udp: _builtins.int, + graphite: _builtins.str, + ism_deletion_after: _builtins.str, + ism_jitter: _builtins.float, + ism_job_interval: _builtins.int, + java_heapspace: _builtins.int, + java_maxmetaspace: _builtins.int, + max_disk_threshold: _builtins.int, + metrics_frequency: _builtins.int, + metrics_prefix: _builtins.str, + monitoring_instance_id: _builtins.str, + opensearch_tls_ciphers: Sequence[_builtins.str], + opensearch_tls_protocols: Sequence[_builtins.str], + sgw_acl: _builtins.str, + syslogs: Sequence[_builtins.str]): + """ + :param _builtins.bool enable_monitoring: Enable monitoring. + :param _builtins.str graphite: If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). + :param _builtins.str ism_deletion_after: Combination of an integer and a timerange when an index will be considered "old" and can be deleted. Possible values for the timerange are `s`, `m`, `h` and `d`. + :param _builtins.int ism_job_interval: Jitter of the execution time. + :param _builtins.int java_heapspace: The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. + :param _builtins.int java_maxmetaspace: The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. + :param _builtins.int max_disk_threshold: The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + :param _builtins.int metrics_frequency: The frequency in seconds at which metrics are emitted (in seconds). + :param _builtins.str metrics_prefix: The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. + :param _builtins.str monitoring_instance_id: The ID of the STACKIT monitoring instance. + :param _builtins.str sgw_acl: Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + :param Sequence[_builtins.str] syslogs: List of syslog servers to send logs to. + """ + pulumi.set(__self__, "enable_monitoring", enable_monitoring) + pulumi.set(__self__, "fluentd_tcp", fluentd_tcp) + pulumi.set(__self__, "fluentd_tls", fluentd_tls) + pulumi.set(__self__, "fluentd_tls_ciphers", fluentd_tls_ciphers) + pulumi.set(__self__, "fluentd_tls_max_version", fluentd_tls_max_version) + pulumi.set(__self__, "fluentd_tls_min_version", fluentd_tls_min_version) + pulumi.set(__self__, "fluentd_tls_version", fluentd_tls_version) + pulumi.set(__self__, "fluentd_udp", fluentd_udp) + pulumi.set(__self__, "graphite", graphite) + pulumi.set(__self__, "ism_deletion_after", ism_deletion_after) + pulumi.set(__self__, "ism_jitter", ism_jitter) + pulumi.set(__self__, "ism_job_interval", ism_job_interval) + pulumi.set(__self__, "java_heapspace", java_heapspace) + pulumi.set(__self__, "java_maxmetaspace", java_maxmetaspace) + pulumi.set(__self__, "max_disk_threshold", max_disk_threshold) + pulumi.set(__self__, "metrics_frequency", metrics_frequency) + pulumi.set(__self__, "metrics_prefix", metrics_prefix) + pulumi.set(__self__, "monitoring_instance_id", monitoring_instance_id) + pulumi.set(__self__, "opensearch_tls_ciphers", opensearch_tls_ciphers) + pulumi.set(__self__, "opensearch_tls_protocols", opensearch_tls_protocols) + pulumi.set(__self__, "sgw_acl", sgw_acl) + pulumi.set(__self__, "syslogs", syslogs) + + @_builtins.property + @pulumi.getter(name="enableMonitoring") + def enable_monitoring(self) -> _builtins.bool: + """ + Enable monitoring. + """ + return pulumi.get(self, "enable_monitoring") + + @_builtins.property + @pulumi.getter(name="fluentdTcp") + def fluentd_tcp(self) -> _builtins.int: + return pulumi.get(self, "fluentd_tcp") + + @_builtins.property + @pulumi.getter(name="fluentdTls") + def fluentd_tls(self) -> _builtins.int: + return pulumi.get(self, "fluentd_tls") + + @_builtins.property + @pulumi.getter(name="fluentdTlsCiphers") + def fluentd_tls_ciphers(self) -> _builtins.str: + return pulumi.get(self, "fluentd_tls_ciphers") + + @_builtins.property + @pulumi.getter(name="fluentdTlsMaxVersion") + def fluentd_tls_max_version(self) -> _builtins.str: + return pulumi.get(self, "fluentd_tls_max_version") + + @_builtins.property + @pulumi.getter(name="fluentdTlsMinVersion") + def fluentd_tls_min_version(self) -> _builtins.str: + return pulumi.get(self, "fluentd_tls_min_version") + + @_builtins.property + @pulumi.getter(name="fluentdTlsVersion") + def fluentd_tls_version(self) -> _builtins.str: + return pulumi.get(self, "fluentd_tls_version") + + @_builtins.property + @pulumi.getter(name="fluentdUdp") + def fluentd_udp(self) -> _builtins.int: + return pulumi.get(self, "fluentd_udp") + + @_builtins.property + @pulumi.getter + def graphite(self) -> _builtins.str: + """ + If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). + """ + return pulumi.get(self, "graphite") + + @_builtins.property + @pulumi.getter(name="ismDeletionAfter") + def ism_deletion_after(self) -> _builtins.str: + """ + Combination of an integer and a timerange when an index will be considered "old" and can be deleted. Possible values for the timerange are `s`, `m`, `h` and `d`. + """ + return pulumi.get(self, "ism_deletion_after") + + @_builtins.property + @pulumi.getter(name="ismJitter") + def ism_jitter(self) -> _builtins.float: + return pulumi.get(self, "ism_jitter") + + @_builtins.property + @pulumi.getter(name="ismJobInterval") + def ism_job_interval(self) -> _builtins.int: + """ + Jitter of the execution time. + """ + return pulumi.get(self, "ism_job_interval") + + @_builtins.property + @pulumi.getter(name="javaHeapspace") + def java_heapspace(self) -> _builtins.int: + """ + The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. + """ + return pulumi.get(self, "java_heapspace") + + @_builtins.property + @pulumi.getter(name="javaMaxmetaspace") + def java_maxmetaspace(self) -> _builtins.int: + """ + The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. + """ + return pulumi.get(self, "java_maxmetaspace") + + @_builtins.property + @pulumi.getter(name="maxDiskThreshold") + def max_disk_threshold(self) -> _builtins.int: + """ + The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + """ + return pulumi.get(self, "max_disk_threshold") + + @_builtins.property + @pulumi.getter(name="metricsFrequency") + def metrics_frequency(self) -> _builtins.int: + """ + The frequency in seconds at which metrics are emitted (in seconds). + """ + return pulumi.get(self, "metrics_frequency") + + @_builtins.property + @pulumi.getter(name="metricsPrefix") + def metrics_prefix(self) -> _builtins.str: + """ + The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. + """ + return pulumi.get(self, "metrics_prefix") + + @_builtins.property + @pulumi.getter(name="monitoringInstanceId") + def monitoring_instance_id(self) -> _builtins.str: + """ + The ID of the STACKIT monitoring instance. + """ + return pulumi.get(self, "monitoring_instance_id") + + @_builtins.property + @pulumi.getter(name="opensearchTlsCiphers") + def opensearch_tls_ciphers(self) -> Sequence[_builtins.str]: + return pulumi.get(self, "opensearch_tls_ciphers") + + @_builtins.property + @pulumi.getter(name="opensearchTlsProtocols") + def opensearch_tls_protocols(self) -> Sequence[_builtins.str]: + return pulumi.get(self, "opensearch_tls_protocols") + + @_builtins.property + @pulumi.getter(name="sgwAcl") + def sgw_acl(self) -> _builtins.str: + """ + Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + """ + return pulumi.get(self, "sgw_acl") + + @_builtins.property + @pulumi.getter + def syslogs(self) -> Sequence[_builtins.str]: + """ + List of syslog servers to send logs to. + """ + return pulumi.get(self, "syslogs") + + +@pulumi.output_type +class GetMariadbInstanceParametersResult(dict): + def __init__(__self__, *, + enable_monitoring: _builtins.bool, + graphite: _builtins.str, + max_disk_threshold: _builtins.int, + metrics_frequency: _builtins.int, + metrics_prefix: _builtins.str, + monitoring_instance_id: _builtins.str, + sgw_acl: _builtins.str, + syslogs: Sequence[_builtins.str]): + """ + :param _builtins.bool enable_monitoring: Enable monitoring. + :param _builtins.int max_disk_threshold: The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + :param _builtins.int metrics_frequency: The frequency in seconds at which metrics are emitted. + :param _builtins.str metrics_prefix: The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key + :param _builtins.str monitoring_instance_id: The ID of the STACKIT monitoring instance. + :param _builtins.str sgw_acl: Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + :param Sequence[_builtins.str] syslogs: List of syslog servers to send logs to. + """ + pulumi.set(__self__, "enable_monitoring", enable_monitoring) + pulumi.set(__self__, "graphite", graphite) + pulumi.set(__self__, "max_disk_threshold", max_disk_threshold) + pulumi.set(__self__, "metrics_frequency", metrics_frequency) + pulumi.set(__self__, "metrics_prefix", metrics_prefix) + pulumi.set(__self__, "monitoring_instance_id", monitoring_instance_id) + pulumi.set(__self__, "sgw_acl", sgw_acl) + pulumi.set(__self__, "syslogs", syslogs) + + @_builtins.property + @pulumi.getter(name="enableMonitoring") + def enable_monitoring(self) -> _builtins.bool: + """ + Enable monitoring. + """ + return pulumi.get(self, "enable_monitoring") + + @_builtins.property + @pulumi.getter + def graphite(self) -> _builtins.str: + return pulumi.get(self, "graphite") + + @_builtins.property + @pulumi.getter(name="maxDiskThreshold") + def max_disk_threshold(self) -> _builtins.int: + """ + The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + """ + return pulumi.get(self, "max_disk_threshold") + + @_builtins.property + @pulumi.getter(name="metricsFrequency") + def metrics_frequency(self) -> _builtins.int: + """ + The frequency in seconds at which metrics are emitted. + """ + return pulumi.get(self, "metrics_frequency") + + @_builtins.property + @pulumi.getter(name="metricsPrefix") + def metrics_prefix(self) -> _builtins.str: + """ + The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key + """ + return pulumi.get(self, "metrics_prefix") + + @_builtins.property + @pulumi.getter(name="monitoringInstanceId") + def monitoring_instance_id(self) -> _builtins.str: + """ + The ID of the STACKIT monitoring instance. + """ + return pulumi.get(self, "monitoring_instance_id") + + @_builtins.property + @pulumi.getter(name="sgwAcl") + def sgw_acl(self) -> _builtins.str: + """ + Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + """ + return pulumi.get(self, "sgw_acl") + + @_builtins.property + @pulumi.getter + def syslogs(self) -> Sequence[_builtins.str]: + """ + List of syslog servers to send logs to. + """ + return pulumi.get(self, "syslogs") + + +@pulumi.output_type +class GetMongodbflexInstanceFlavorResult(dict): + def __init__(__self__, *, + cpu: _builtins.int, + description: _builtins.str, + id: _builtins.str, + ram: _builtins.int): + pulumi.set(__self__, "cpu", cpu) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "ram", ram) + + @_builtins.property + @pulumi.getter + def cpu(self) -> _builtins.int: + return pulumi.get(self, "cpu") + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter + def ram(self) -> _builtins.int: + return pulumi.get(self, "ram") + + +@pulumi.output_type +class GetMongodbflexInstanceOptionsResult(dict): + def __init__(__self__, *, + daily_snapshot_retention_days: _builtins.int, + monthly_snapshot_retention_months: _builtins.int, + point_in_time_window_hours: _builtins.int, + snapshot_retention_days: _builtins.int, + type: _builtins.str, + weekly_snapshot_retention_weeks: _builtins.int): + """ + :param _builtins.int daily_snapshot_retention_days: The number of days that daily backups will be retained. + :param _builtins.int monthly_snapshot_retention_months: The number of months that monthly backups will be retained. + :param _builtins.int point_in_time_window_hours: The number of hours back in time the point-in-time recovery feature will be able to recover. + :param _builtins.int snapshot_retention_days: The number of days that continuous backups (controlled via the `backup_schedule`) will be retained. + :param _builtins.str type: Type of the MongoDB Flex instance. + :param _builtins.int weekly_snapshot_retention_weeks: The number of weeks that weekly backups will be retained. + """ + pulumi.set(__self__, "daily_snapshot_retention_days", daily_snapshot_retention_days) + pulumi.set(__self__, "monthly_snapshot_retention_months", monthly_snapshot_retention_months) + pulumi.set(__self__, "point_in_time_window_hours", point_in_time_window_hours) + pulumi.set(__self__, "snapshot_retention_days", snapshot_retention_days) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "weekly_snapshot_retention_weeks", weekly_snapshot_retention_weeks) + + @_builtins.property + @pulumi.getter(name="dailySnapshotRetentionDays") + def daily_snapshot_retention_days(self) -> _builtins.int: + """ + The number of days that daily backups will be retained. + """ + return pulumi.get(self, "daily_snapshot_retention_days") + + @_builtins.property + @pulumi.getter(name="monthlySnapshotRetentionMonths") + def monthly_snapshot_retention_months(self) -> _builtins.int: + """ + The number of months that monthly backups will be retained. + """ + return pulumi.get(self, "monthly_snapshot_retention_months") + + @_builtins.property + @pulumi.getter(name="pointInTimeWindowHours") + def point_in_time_window_hours(self) -> _builtins.int: + """ + The number of hours back in time the point-in-time recovery feature will be able to recover. + """ + return pulumi.get(self, "point_in_time_window_hours") + + @_builtins.property + @pulumi.getter(name="snapshotRetentionDays") + def snapshot_retention_days(self) -> _builtins.int: + """ + The number of days that continuous backups (controlled via the `backup_schedule`) will be retained. + """ + return pulumi.get(self, "snapshot_retention_days") + + @_builtins.property + @pulumi.getter + def type(self) -> _builtins.str: + """ + Type of the MongoDB Flex instance. + """ + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter(name="weeklySnapshotRetentionWeeks") + def weekly_snapshot_retention_weeks(self) -> _builtins.int: + """ + The number of weeks that weekly backups will be retained. + """ + return pulumi.get(self, "weekly_snapshot_retention_weeks") + + +@pulumi.output_type +class GetMongodbflexInstanceStorageResult(dict): + def __init__(__self__, *, + class_: _builtins.str, + size: _builtins.int): + pulumi.set(__self__, "class_", class_) + pulumi.set(__self__, "size", size) + + @_builtins.property + @pulumi.getter(name="class") + def class_(self) -> _builtins.str: + return pulumi.get(self, "class_") + + @_builtins.property + @pulumi.getter + def size(self) -> _builtins.int: + return pulumi.get(self, "size") + + +@pulumi.output_type +class GetNetworkAreaNetworkRangeResult(dict): + def __init__(__self__, *, + network_range_id: _builtins.str, + prefix: _builtins.str): + pulumi.set(__self__, "network_range_id", network_range_id) + pulumi.set(__self__, "prefix", prefix) + + @_builtins.property + @pulumi.getter(name="networkRangeId") + def network_range_id(self) -> _builtins.str: + return pulumi.get(self, "network_range_id") + + @_builtins.property + @pulumi.getter + def prefix(self) -> _builtins.str: + return pulumi.get(self, "prefix") + + +@pulumi.output_type +class GetNetworkAreaRegionIpv4Result(dict): + def __init__(__self__, *, + default_nameservers: Sequence[_builtins.str], + default_prefix_length: _builtins.int, + max_prefix_length: _builtins.int, + min_prefix_length: _builtins.int, + network_ranges: Sequence['outputs.GetNetworkAreaRegionIpv4NetworkRangeResult'], + transfer_network: _builtins.str): + """ + :param Sequence[_builtins.str] default_nameservers: List of DNS Servers/Nameservers. + :param _builtins.int default_prefix_length: The default prefix length for networks in the network area. + :param _builtins.int max_prefix_length: The maximal prefix length for networks in the network area. + :param _builtins.int min_prefix_length: The minimal prefix length for networks in the network area. + :param Sequence['GetNetworkAreaRegionIpv4NetworkRangeArgs'] network_ranges: List of Network ranges. + :param _builtins.str transfer_network: IPv4 Classless Inter-Domain Routing (CIDR). + """ + pulumi.set(__self__, "default_nameservers", default_nameservers) + pulumi.set(__self__, "default_prefix_length", default_prefix_length) + pulumi.set(__self__, "max_prefix_length", max_prefix_length) + pulumi.set(__self__, "min_prefix_length", min_prefix_length) + pulumi.set(__self__, "network_ranges", network_ranges) + pulumi.set(__self__, "transfer_network", transfer_network) + + @_builtins.property + @pulumi.getter(name="defaultNameservers") + def default_nameservers(self) -> Sequence[_builtins.str]: + """ + List of DNS Servers/Nameservers. + """ + return pulumi.get(self, "default_nameservers") + + @_builtins.property + @pulumi.getter(name="defaultPrefixLength") + def default_prefix_length(self) -> _builtins.int: + """ + The default prefix length for networks in the network area. + """ + return pulumi.get(self, "default_prefix_length") + + @_builtins.property + @pulumi.getter(name="maxPrefixLength") + def max_prefix_length(self) -> _builtins.int: + """ + The maximal prefix length for networks in the network area. + """ + return pulumi.get(self, "max_prefix_length") + + @_builtins.property + @pulumi.getter(name="minPrefixLength") + def min_prefix_length(self) -> _builtins.int: + """ + The minimal prefix length for networks in the network area. + """ + return pulumi.get(self, "min_prefix_length") + + @_builtins.property + @pulumi.getter(name="networkRanges") + def network_ranges(self) -> Sequence['outputs.GetNetworkAreaRegionIpv4NetworkRangeResult']: + """ + List of Network ranges. + """ + return pulumi.get(self, "network_ranges") + + @_builtins.property + @pulumi.getter(name="transferNetwork") + def transfer_network(self) -> _builtins.str: + """ + IPv4 Classless Inter-Domain Routing (CIDR). + """ + return pulumi.get(self, "transfer_network") @pulumi.output_type -class GetLoadbalancerTargetPoolTargetResult(dict): +class GetNetworkAreaRegionIpv4NetworkRangeResult(dict): def __init__(__self__, *, - display_name: _builtins.str, - ip: _builtins.str): + network_range_id: _builtins.str, + prefix: _builtins.str): """ - :param _builtins.str display_name: Target display name - :param _builtins.str ip: Target IP + :param _builtins.str prefix: Classless Inter-Domain Routing (CIDR). """ - pulumi.set(__self__, "display_name", display_name) - pulumi.set(__self__, "ip", ip) + pulumi.set(__self__, "network_range_id", network_range_id) + pulumi.set(__self__, "prefix", prefix) @_builtins.property - @pulumi.getter(name="displayName") - def display_name(self) -> _builtins.str: + @pulumi.getter(name="networkRangeId") + def network_range_id(self) -> _builtins.str: + return pulumi.get(self, "network_range_id") + + @_builtins.property + @pulumi.getter + def prefix(self) -> _builtins.str: """ - Target display name + Classless Inter-Domain Routing (CIDR). """ - return pulumi.get(self, "display_name") + return pulumi.get(self, "prefix") + + +@pulumi.output_type +class GetNetworkAreaRouteDestinationResult(dict): + def __init__(__self__, *, + type: _builtins.str, + value: _builtins.str): + """ + :param _builtins.str type: CIDRV type. Possible values are: `cidrv4`, `cidrv6`. + :param _builtins.str value: An CIDR string. + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) @_builtins.property @pulumi.getter - def ip(self) -> _builtins.str: + def type(self) -> _builtins.str: """ - Target IP + CIDRV type. Possible values are: `cidrv4`, `cidrv6`. """ - return pulumi.get(self, "ip") + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def value(self) -> _builtins.str: + """ + An CIDR string. + """ + return pulumi.get(self, "value") @pulumi.output_type -class GetLogmeInstanceParametersResult(dict): +class GetNetworkAreaRouteNextHopResult(dict): def __init__(__self__, *, - enable_monitoring: _builtins.bool, - fluentd_tcp: _builtins.int, - fluentd_tls: _builtins.int, - fluentd_tls_ciphers: _builtins.str, - fluentd_tls_max_version: _builtins.str, - fluentd_tls_min_version: _builtins.str, - fluentd_tls_version: _builtins.str, - fluentd_udp: _builtins.int, - graphite: _builtins.str, - ism_deletion_after: _builtins.str, - ism_jitter: _builtins.float, - ism_job_interval: _builtins.int, - java_heapspace: _builtins.int, - java_maxmetaspace: _builtins.int, - max_disk_threshold: _builtins.int, - metrics_frequency: _builtins.int, - metrics_prefix: _builtins.str, - monitoring_instance_id: _builtins.str, - opensearch_tls_ciphers: Sequence[_builtins.str], - opensearch_tls_protocols: Sequence[_builtins.str], - sgw_acl: _builtins.str, - syslogs: Sequence[_builtins.str]): + type: _builtins.str, + value: _builtins.str): """ - :param _builtins.bool enable_monitoring: Enable monitoring. - :param _builtins.str graphite: If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). - :param _builtins.str ism_deletion_after: Combination of an integer and a timerange when an index will be considered "old" and can be deleted. Possible values for the timerange are `s`, `m`, `h` and `d`. - :param _builtins.int ism_job_interval: Jitter of the execution time. - :param _builtins.int java_heapspace: The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. - :param _builtins.int java_maxmetaspace: The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. - :param _builtins.int max_disk_threshold: The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - :param _builtins.int metrics_frequency: The frequency in seconds at which metrics are emitted (in seconds). - :param _builtins.str metrics_prefix: The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. - :param _builtins.str monitoring_instance_id: The ID of the STACKIT monitoring instance. - :param _builtins.str sgw_acl: Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - :param Sequence[_builtins.str] syslogs: List of syslog servers to send logs to. + :param _builtins.str type: Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + :param _builtins.str value: Either IPv4 or IPv6 (not set for blackhole and internet). """ - pulumi.set(__self__, "enable_monitoring", enable_monitoring) - pulumi.set(__self__, "fluentd_tcp", fluentd_tcp) - pulumi.set(__self__, "fluentd_tls", fluentd_tls) - pulumi.set(__self__, "fluentd_tls_ciphers", fluentd_tls_ciphers) - pulumi.set(__self__, "fluentd_tls_max_version", fluentd_tls_max_version) - pulumi.set(__self__, "fluentd_tls_min_version", fluentd_tls_min_version) - pulumi.set(__self__, "fluentd_tls_version", fluentd_tls_version) - pulumi.set(__self__, "fluentd_udp", fluentd_udp) - pulumi.set(__self__, "graphite", graphite) - pulumi.set(__self__, "ism_deletion_after", ism_deletion_after) - pulumi.set(__self__, "ism_jitter", ism_jitter) - pulumi.set(__self__, "ism_job_interval", ism_job_interval) - pulumi.set(__self__, "java_heapspace", java_heapspace) - pulumi.set(__self__, "java_maxmetaspace", java_maxmetaspace) - pulumi.set(__self__, "max_disk_threshold", max_disk_threshold) - pulumi.set(__self__, "metrics_frequency", metrics_frequency) - pulumi.set(__self__, "metrics_prefix", metrics_prefix) - pulumi.set(__self__, "monitoring_instance_id", monitoring_instance_id) - pulumi.set(__self__, "opensearch_tls_ciphers", opensearch_tls_ciphers) - pulumi.set(__self__, "opensearch_tls_protocols", opensearch_tls_protocols) - pulumi.set(__self__, "sgw_acl", sgw_acl) - pulumi.set(__self__, "syslogs", syslogs) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) @_builtins.property - @pulumi.getter(name="enableMonitoring") - def enable_monitoring(self) -> _builtins.bool: + @pulumi.getter + def type(self) -> _builtins.str: """ - Enable monitoring. + Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. """ - return pulumi.get(self, "enable_monitoring") + return pulumi.get(self, "type") @_builtins.property - @pulumi.getter(name="fluentdTcp") - def fluentd_tcp(self) -> _builtins.int: - return pulumi.get(self, "fluentd_tcp") + @pulumi.getter + def value(self) -> _builtins.str: + """ + Either IPv4 or IPv6 (not set for blackhole and internet). + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class GetObservabilityAlertgroupRuleResult(dict): + def __init__(__self__, *, + alert: _builtins.str, + annotations: Mapping[str, _builtins.str], + expression: _builtins.str, + for_: _builtins.str, + labels: Mapping[str, _builtins.str], + record: _builtins.str): + """ + :param _builtins.str alert: The name of the alert rule. Is the identifier and must be unique in the group. + :param Mapping[str, _builtins.str] annotations: A map of key:value. Annotations to add or overwrite for each alert + :param _builtins.str expression: The PromQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. + :param _builtins.str for_: Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s + :param Mapping[str, _builtins.str] labels: A map of key:value. Labels to add or overwrite for each alert + :param _builtins.str record: The name of the metric. It's the identifier and must be unique in the group. + """ + pulumi.set(__self__, "alert", alert) + pulumi.set(__self__, "annotations", annotations) + pulumi.set(__self__, "expression", expression) + pulumi.set(__self__, "for_", for_) + pulumi.set(__self__, "labels", labels) + pulumi.set(__self__, "record", record) @_builtins.property - @pulumi.getter(name="fluentdTls") - def fluentd_tls(self) -> _builtins.int: - return pulumi.get(self, "fluentd_tls") + @pulumi.getter + def alert(self) -> _builtins.str: + """ + The name of the alert rule. Is the identifier and must be unique in the group. + """ + return pulumi.get(self, "alert") @_builtins.property - @pulumi.getter(name="fluentdTlsCiphers") - def fluentd_tls_ciphers(self) -> _builtins.str: - return pulumi.get(self, "fluentd_tls_ciphers") + @pulumi.getter + def annotations(self) -> Mapping[str, _builtins.str]: + """ + A map of key:value. Annotations to add or overwrite for each alert + """ + return pulumi.get(self, "annotations") @_builtins.property - @pulumi.getter(name="fluentdTlsMaxVersion") - def fluentd_tls_max_version(self) -> _builtins.str: - return pulumi.get(self, "fluentd_tls_max_version") + @pulumi.getter + def expression(self) -> _builtins.str: + """ + The PromQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. + """ + return pulumi.get(self, "expression") @_builtins.property - @pulumi.getter(name="fluentdTlsMinVersion") - def fluentd_tls_min_version(self) -> _builtins.str: - return pulumi.get(self, "fluentd_tls_min_version") + @pulumi.getter(name="for") + def for_(self) -> _builtins.str: + """ + Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s + """ + return pulumi.get(self, "for_") + + @_builtins.property + @pulumi.getter + def labels(self) -> Mapping[str, _builtins.str]: + """ + A map of key:value. Labels to add or overwrite for each alert + """ + return pulumi.get(self, "labels") + + @_builtins.property + @pulumi.getter + def record(self) -> _builtins.str: + """ + The name of the metric. It's the identifier and must be unique in the group. + """ + return pulumi.get(self, "record") + + +@pulumi.output_type +class GetObservabilityInstanceAlertConfigResult(dict): + def __init__(__self__, *, + global_: 'outputs.GetObservabilityInstanceAlertConfigGlobalResult', + receivers: Sequence['outputs.GetObservabilityInstanceAlertConfigReceiverResult'], + route: 'outputs.GetObservabilityInstanceAlertConfigRouteResult'): + """ + :param 'GetObservabilityInstanceAlertConfigGlobalArgs' global_: Global configuration for the alerts. + :param Sequence['GetObservabilityInstanceAlertConfigReceiverArgs'] receivers: List of alert receivers. + :param 'GetObservabilityInstanceAlertConfigRouteArgs' route: The route for the alert. + """ + pulumi.set(__self__, "global_", global_) + pulumi.set(__self__, "receivers", receivers) + pulumi.set(__self__, "route", route) @_builtins.property - @pulumi.getter(name="fluentdTlsVersion") - def fluentd_tls_version(self) -> _builtins.str: - return pulumi.get(self, "fluentd_tls_version") + @pulumi.getter(name="global") + def global_(self) -> 'outputs.GetObservabilityInstanceAlertConfigGlobalResult': + """ + Global configuration for the alerts. + """ + return pulumi.get(self, "global_") @_builtins.property - @pulumi.getter(name="fluentdUdp") - def fluentd_udp(self) -> _builtins.int: - return pulumi.get(self, "fluentd_udp") + @pulumi.getter + def receivers(self) -> Sequence['outputs.GetObservabilityInstanceAlertConfigReceiverResult']: + """ + List of alert receivers. + """ + return pulumi.get(self, "receivers") @_builtins.property @pulumi.getter - def graphite(self) -> _builtins.str: + def route(self) -> 'outputs.GetObservabilityInstanceAlertConfigRouteResult': """ - If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). + The route for the alert. """ - return pulumi.get(self, "graphite") + return pulumi.get(self, "route") - @_builtins.property - @pulumi.getter(name="ismDeletionAfter") - def ism_deletion_after(self) -> _builtins.str: + +@pulumi.output_type +class GetObservabilityInstanceAlertConfigGlobalResult(dict): + def __init__(__self__, *, + opsgenie_api_key: _builtins.str, + opsgenie_api_url: _builtins.str, + resolve_timeout: _builtins.str, + smtp_auth_identity: _builtins.str, + smtp_auth_password: _builtins.str, + smtp_auth_username: _builtins.str, + smtp_from: _builtins.str, + smtp_smart_host: _builtins.str): """ - Combination of an integer and a timerange when an index will be considered "old" and can be deleted. Possible values for the timerange are `s`, `m`, `h` and `d`. + :param _builtins.str opsgenie_api_key: The API key for OpsGenie. + :param _builtins.str opsgenie_api_url: The host to send OpsGenie API requests to. Must be a valid URL + :param _builtins.str resolve_timeout: The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt. + :param _builtins.str smtp_auth_identity: SMTP authentication information. Must be a valid email address + :param _builtins.str smtp_auth_password: SMTP Auth using LOGIN and PLAIN. + :param _builtins.str smtp_auth_username: SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. + :param _builtins.str smtp_from: The default SMTP From header field. Must be a valid email address + :param _builtins.str smtp_smart_host: The default SMTP smarthost used for sending emails, including port number. Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). """ - return pulumi.get(self, "ism_deletion_after") + pulumi.set(__self__, "opsgenie_api_key", opsgenie_api_key) + pulumi.set(__self__, "opsgenie_api_url", opsgenie_api_url) + pulumi.set(__self__, "resolve_timeout", resolve_timeout) + pulumi.set(__self__, "smtp_auth_identity", smtp_auth_identity) + pulumi.set(__self__, "smtp_auth_password", smtp_auth_password) + pulumi.set(__self__, "smtp_auth_username", smtp_auth_username) + pulumi.set(__self__, "smtp_from", smtp_from) + pulumi.set(__self__, "smtp_smart_host", smtp_smart_host) @_builtins.property - @pulumi.getter(name="ismJitter") - def ism_jitter(self) -> _builtins.float: - return pulumi.get(self, "ism_jitter") + @pulumi.getter(name="opsgenieApiKey") + def opsgenie_api_key(self) -> _builtins.str: + """ + The API key for OpsGenie. + """ + return pulumi.get(self, "opsgenie_api_key") @_builtins.property - @pulumi.getter(name="ismJobInterval") - def ism_job_interval(self) -> _builtins.int: + @pulumi.getter(name="opsgenieApiUrl") + def opsgenie_api_url(self) -> _builtins.str: """ - Jitter of the execution time. + The host to send OpsGenie API requests to. Must be a valid URL """ - return pulumi.get(self, "ism_job_interval") + return pulumi.get(self, "opsgenie_api_url") @_builtins.property - @pulumi.getter(name="javaHeapspace") - def java_heapspace(self) -> _builtins.int: + @pulumi.getter(name="resolveTimeout") + def resolve_timeout(self) -> _builtins.str: """ - The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. + The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt. """ - return pulumi.get(self, "java_heapspace") + return pulumi.get(self, "resolve_timeout") @_builtins.property - @pulumi.getter(name="javaMaxmetaspace") - def java_maxmetaspace(self) -> _builtins.int: + @pulumi.getter(name="smtpAuthIdentity") + def smtp_auth_identity(self) -> _builtins.str: """ - The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. + SMTP authentication information. Must be a valid email address """ - return pulumi.get(self, "java_maxmetaspace") + return pulumi.get(self, "smtp_auth_identity") @_builtins.property - @pulumi.getter(name="maxDiskThreshold") - def max_disk_threshold(self) -> _builtins.int: + @pulumi.getter(name="smtpAuthPassword") + def smtp_auth_password(self) -> _builtins.str: """ - The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + SMTP Auth using LOGIN and PLAIN. """ - return pulumi.get(self, "max_disk_threshold") + return pulumi.get(self, "smtp_auth_password") @_builtins.property - @pulumi.getter(name="metricsFrequency") - def metrics_frequency(self) -> _builtins.int: + @pulumi.getter(name="smtpAuthUsername") + def smtp_auth_username(self) -> _builtins.str: """ - The frequency in seconds at which metrics are emitted (in seconds). + SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. """ - return pulumi.get(self, "metrics_frequency") + return pulumi.get(self, "smtp_auth_username") @_builtins.property - @pulumi.getter(name="metricsPrefix") - def metrics_prefix(self) -> _builtins.str: + @pulumi.getter(name="smtpFrom") + def smtp_from(self) -> _builtins.str: """ - The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. + The default SMTP From header field. Must be a valid email address """ - return pulumi.get(self, "metrics_prefix") + return pulumi.get(self, "smtp_from") @_builtins.property - @pulumi.getter(name="monitoringInstanceId") - def monitoring_instance_id(self) -> _builtins.str: + @pulumi.getter(name="smtpSmartHost") + def smtp_smart_host(self) -> _builtins.str: """ - The ID of the STACKIT monitoring instance. + The default SMTP smarthost used for sending emails, including port number. Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). """ - return pulumi.get(self, "monitoring_instance_id") + return pulumi.get(self, "smtp_smart_host") + + +@pulumi.output_type +class GetObservabilityInstanceAlertConfigReceiverResult(dict): + def __init__(__self__, *, + email_configs: Sequence['outputs.GetObservabilityInstanceAlertConfigReceiverEmailConfigResult'], + name: _builtins.str, + opsgenie_configs: Sequence['outputs.GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigResult'], + webhooks_configs: Sequence['outputs.GetObservabilityInstanceAlertConfigReceiverWebhooksConfigResult']): + """ + :param Sequence['GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs'] email_configs: List of email configurations. + :param _builtins.str name: Name of the receiver. + :param Sequence['GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs'] opsgenie_configs: List of OpsGenie configurations. + :param Sequence['GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs'] webhooks_configs: List of Webhooks configurations. + """ + pulumi.set(__self__, "email_configs", email_configs) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "opsgenie_configs", opsgenie_configs) + pulumi.set(__self__, "webhooks_configs", webhooks_configs) @_builtins.property - @pulumi.getter(name="opensearchTlsCiphers") - def opensearch_tls_ciphers(self) -> Sequence[_builtins.str]: - return pulumi.get(self, "opensearch_tls_ciphers") + @pulumi.getter(name="emailConfigs") + def email_configs(self) -> Sequence['outputs.GetObservabilityInstanceAlertConfigReceiverEmailConfigResult']: + """ + List of email configurations. + """ + return pulumi.get(self, "email_configs") @_builtins.property - @pulumi.getter(name="opensearchTlsProtocols") - def opensearch_tls_protocols(self) -> Sequence[_builtins.str]: - return pulumi.get(self, "opensearch_tls_protocols") + @pulumi.getter + def name(self) -> _builtins.str: + """ + Name of the receiver. + """ + return pulumi.get(self, "name") @_builtins.property - @pulumi.getter(name="sgwAcl") - def sgw_acl(self) -> _builtins.str: + @pulumi.getter(name="opsgenieConfigs") + def opsgenie_configs(self) -> Sequence['outputs.GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigResult']: """ - Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + List of OpsGenie configurations. """ - return pulumi.get(self, "sgw_acl") + return pulumi.get(self, "opsgenie_configs") @_builtins.property - @pulumi.getter - def syslogs(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="webhooksConfigs") + def webhooks_configs(self) -> Sequence['outputs.GetObservabilityInstanceAlertConfigReceiverWebhooksConfigResult']: """ - List of syslog servers to send logs to. + List of Webhooks configurations. """ - return pulumi.get(self, "syslogs") + return pulumi.get(self, "webhooks_configs") @pulumi.output_type -class GetMariadbInstanceParametersResult(dict): +class GetObservabilityInstanceAlertConfigReceiverEmailConfigResult(dict): def __init__(__self__, *, - enable_monitoring: _builtins.bool, - graphite: _builtins.str, - max_disk_threshold: _builtins.int, - metrics_frequency: _builtins.int, - metrics_prefix: _builtins.str, - monitoring_instance_id: _builtins.str, - sgw_acl: _builtins.str, - syslogs: Sequence[_builtins.str]): + auth_identity: _builtins.str, + auth_password: _builtins.str, + auth_username: _builtins.str, + from_: _builtins.str, + send_resolved: _builtins.bool, + smart_host: _builtins.str, + to: _builtins.str): """ - :param _builtins.bool enable_monitoring: Enable monitoring. - :param _builtins.int max_disk_threshold: The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - :param _builtins.int metrics_frequency: The frequency in seconds at which metrics are emitted. - :param _builtins.str metrics_prefix: The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key - :param _builtins.str monitoring_instance_id: The ID of the STACKIT monitoring instance. - :param _builtins.str sgw_acl: Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - :param Sequence[_builtins.str] syslogs: List of syslog servers to send logs to. + :param _builtins.str auth_identity: SMTP authentication information. Must be a valid email address + :param _builtins.str auth_password: SMTP authentication password. + :param _builtins.str auth_username: SMTP authentication username. + :param _builtins.str from_: The sender email address. Must be a valid email address + :param _builtins.bool send_resolved: Whether to notify about resolved alerts. + :param _builtins.str smart_host: The SMTP host through which emails are sent. + :param _builtins.str to: The email address to send notifications to. Must be a valid email address """ - pulumi.set(__self__, "enable_monitoring", enable_monitoring) - pulumi.set(__self__, "graphite", graphite) - pulumi.set(__self__, "max_disk_threshold", max_disk_threshold) - pulumi.set(__self__, "metrics_frequency", metrics_frequency) - pulumi.set(__self__, "metrics_prefix", metrics_prefix) - pulumi.set(__self__, "monitoring_instance_id", monitoring_instance_id) - pulumi.set(__self__, "sgw_acl", sgw_acl) - pulumi.set(__self__, "syslogs", syslogs) + pulumi.set(__self__, "auth_identity", auth_identity) + pulumi.set(__self__, "auth_password", auth_password) + pulumi.set(__self__, "auth_username", auth_username) + pulumi.set(__self__, "from_", from_) + pulumi.set(__self__, "send_resolved", send_resolved) + pulumi.set(__self__, "smart_host", smart_host) + pulumi.set(__self__, "to", to) @_builtins.property - @pulumi.getter(name="enableMonitoring") - def enable_monitoring(self) -> _builtins.bool: + @pulumi.getter(name="authIdentity") + def auth_identity(self) -> _builtins.str: """ - Enable monitoring. + SMTP authentication information. Must be a valid email address """ - return pulumi.get(self, "enable_monitoring") - - @_builtins.property - @pulumi.getter - def graphite(self) -> _builtins.str: - return pulumi.get(self, "graphite") + return pulumi.get(self, "auth_identity") @_builtins.property - @pulumi.getter(name="maxDiskThreshold") - def max_disk_threshold(self) -> _builtins.int: + @pulumi.getter(name="authPassword") + def auth_password(self) -> _builtins.str: """ - The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + SMTP authentication password. """ - return pulumi.get(self, "max_disk_threshold") + return pulumi.get(self, "auth_password") @_builtins.property - @pulumi.getter(name="metricsFrequency") - def metrics_frequency(self) -> _builtins.int: + @pulumi.getter(name="authUsername") + def auth_username(self) -> _builtins.str: """ - The frequency in seconds at which metrics are emitted. + SMTP authentication username. """ - return pulumi.get(self, "metrics_frequency") + return pulumi.get(self, "auth_username") - @_builtins.property - @pulumi.getter(name="metricsPrefix") - def metrics_prefix(self) -> _builtins.str: + @_builtins.property + @pulumi.getter(name="from") + def from_(self) -> _builtins.str: """ - The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key + The sender email address. Must be a valid email address """ - return pulumi.get(self, "metrics_prefix") + return pulumi.get(self, "from_") @_builtins.property - @pulumi.getter(name="monitoringInstanceId") - def monitoring_instance_id(self) -> _builtins.str: + @pulumi.getter(name="sendResolved") + def send_resolved(self) -> _builtins.bool: """ - The ID of the STACKIT monitoring instance. + Whether to notify about resolved alerts. """ - return pulumi.get(self, "monitoring_instance_id") + return pulumi.get(self, "send_resolved") @_builtins.property - @pulumi.getter(name="sgwAcl") - def sgw_acl(self) -> _builtins.str: + @pulumi.getter(name="smartHost") + def smart_host(self) -> _builtins.str: """ - Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + The SMTP host through which emails are sent. """ - return pulumi.get(self, "sgw_acl") + return pulumi.get(self, "smart_host") @_builtins.property @pulumi.getter - def syslogs(self) -> Sequence[_builtins.str]: + def to(self) -> _builtins.str: """ - List of syslog servers to send logs to. + The email address to send notifications to. Must be a valid email address """ - return pulumi.get(self, "syslogs") + return pulumi.get(self, "to") @pulumi.output_type -class GetMongodbflexInstanceFlavorResult(dict): +class GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigResult(dict): def __init__(__self__, *, - cpu: _builtins.int, - description: _builtins.str, - id: _builtins.str, - ram: _builtins.int): - pulumi.set(__self__, "cpu", cpu) - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "ram", ram) - - @_builtins.property - @pulumi.getter - def cpu(self) -> _builtins.int: - return pulumi.get(self, "cpu") + api_key: _builtins.str, + api_url: _builtins.str, + priority: _builtins.str, + send_resolved: _builtins.bool, + tags: _builtins.str): + """ + :param _builtins.str api_key: The API key for OpsGenie. + :param _builtins.str api_url: The host to send OpsGenie API requests to. Must be a valid URL + :param _builtins.str priority: Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`. + :param _builtins.bool send_resolved: Whether to notify about resolved alerts. + :param _builtins.str tags: Comma separated list of tags attached to the notifications. + """ + pulumi.set(__self__, "api_key", api_key) + pulumi.set(__self__, "api_url", api_url) + pulumi.set(__self__, "priority", priority) + pulumi.set(__self__, "send_resolved", send_resolved) + pulumi.set(__self__, "tags", tags) @_builtins.property - @pulumi.getter - def description(self) -> _builtins.str: - return pulumi.get(self, "description") + @pulumi.getter(name="apiKey") + def api_key(self) -> _builtins.str: + """ + The API key for OpsGenie. + """ + return pulumi.get(self, "api_key") @_builtins.property - @pulumi.getter - def id(self) -> _builtins.str: - return pulumi.get(self, "id") + @pulumi.getter(name="apiUrl") + def api_url(self) -> _builtins.str: + """ + The host to send OpsGenie API requests to. Must be a valid URL + """ + return pulumi.get(self, "api_url") @_builtins.property @pulumi.getter - def ram(self) -> _builtins.int: - return pulumi.get(self, "ram") - - -@pulumi.output_type -class GetMongodbflexInstanceOptionsResult(dict): - def __init__(__self__, *, - daily_snapshot_retention_days: _builtins.int, - monthly_snapshot_retention_months: _builtins.int, - point_in_time_window_hours: _builtins.int, - snapshot_retention_days: _builtins.int, - type: _builtins.str, - weekly_snapshot_retention_weeks: _builtins.int): + def priority(self) -> _builtins.str: """ - :param _builtins.int daily_snapshot_retention_days: The number of days that daily backups will be retained. - :param _builtins.int monthly_snapshot_retention_months: The number of months that monthly backups will be retained. - :param _builtins.int point_in_time_window_hours: The number of hours back in time the point-in-time recovery feature will be able to recover. - :param _builtins.int snapshot_retention_days: The number of days that continuous backups (controlled via the `backup_schedule`) will be retained. - :param _builtins.str type: Type of the MongoDB Flex instance. - :param _builtins.int weekly_snapshot_retention_weeks: The number of weeks that weekly backups will be retained. + Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`. """ - pulumi.set(__self__, "daily_snapshot_retention_days", daily_snapshot_retention_days) - pulumi.set(__self__, "monthly_snapshot_retention_months", monthly_snapshot_retention_months) - pulumi.set(__self__, "point_in_time_window_hours", point_in_time_window_hours) - pulumi.set(__self__, "snapshot_retention_days", snapshot_retention_days) - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "weekly_snapshot_retention_weeks", weekly_snapshot_retention_weeks) + return pulumi.get(self, "priority") @_builtins.property - @pulumi.getter(name="dailySnapshotRetentionDays") - def daily_snapshot_retention_days(self) -> _builtins.int: + @pulumi.getter(name="sendResolved") + def send_resolved(self) -> _builtins.bool: """ - The number of days that daily backups will be retained. + Whether to notify about resolved alerts. """ - return pulumi.get(self, "daily_snapshot_retention_days") + return pulumi.get(self, "send_resolved") @_builtins.property - @pulumi.getter(name="monthlySnapshotRetentionMonths") - def monthly_snapshot_retention_months(self) -> _builtins.int: + @pulumi.getter + def tags(self) -> _builtins.str: """ - The number of months that monthly backups will be retained. + Comma separated list of tags attached to the notifications. """ - return pulumi.get(self, "monthly_snapshot_retention_months") + return pulumi.get(self, "tags") - @_builtins.property - @pulumi.getter(name="pointInTimeWindowHours") - def point_in_time_window_hours(self) -> _builtins.int: + +@pulumi.output_type +class GetObservabilityInstanceAlertConfigReceiverWebhooksConfigResult(dict): + def __init__(__self__, *, + google_chat: _builtins.bool, + ms_teams: _builtins.bool, + send_resolved: _builtins.bool, + url: _builtins.str): """ - The number of hours back in time the point-in-time recovery feature will be able to recover. + :param _builtins.bool google_chat: Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat. + :param _builtins.bool ms_teams: Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams. + :param _builtins.bool send_resolved: Whether to notify about resolved alerts. + :param _builtins.str url: The endpoint to send HTTP POST requests to. Must be a valid URL """ - return pulumi.get(self, "point_in_time_window_hours") + pulumi.set(__self__, "google_chat", google_chat) + pulumi.set(__self__, "ms_teams", ms_teams) + pulumi.set(__self__, "send_resolved", send_resolved) + pulumi.set(__self__, "url", url) @_builtins.property - @pulumi.getter(name="snapshotRetentionDays") - def snapshot_retention_days(self) -> _builtins.int: + @pulumi.getter(name="googleChat") + def google_chat(self) -> _builtins.bool: """ - The number of days that continuous backups (controlled via the `backup_schedule`) will be retained. + Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat. """ - return pulumi.get(self, "snapshot_retention_days") + return pulumi.get(self, "google_chat") @_builtins.property - @pulumi.getter - def type(self) -> _builtins.str: + @pulumi.getter(name="msTeams") + def ms_teams(self) -> _builtins.bool: """ - Type of the MongoDB Flex instance. + Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams. """ - return pulumi.get(self, "type") + return pulumi.get(self, "ms_teams") @_builtins.property - @pulumi.getter(name="weeklySnapshotRetentionWeeks") - def weekly_snapshot_retention_weeks(self) -> _builtins.int: + @pulumi.getter(name="sendResolved") + def send_resolved(self) -> _builtins.bool: """ - The number of weeks that weekly backups will be retained. + Whether to notify about resolved alerts. """ - return pulumi.get(self, "weekly_snapshot_retention_weeks") - - -@pulumi.output_type -class GetMongodbflexInstanceStorageResult(dict): - def __init__(__self__, *, - class_: _builtins.str, - size: _builtins.int): - pulumi.set(__self__, "class_", class_) - pulumi.set(__self__, "size", size) - - @_builtins.property - @pulumi.getter(name="class") - def class_(self) -> _builtins.str: - return pulumi.get(self, "class_") + return pulumi.get(self, "send_resolved") @_builtins.property @pulumi.getter - def size(self) -> _builtins.int: - return pulumi.get(self, "size") + def url(self) -> _builtins.str: + """ + The endpoint to send HTTP POST requests to. Must be a valid URL + """ + return pulumi.get(self, "url") @pulumi.output_type -class GetNetworkAreaNetworkRangeResult(dict): +class GetObservabilityInstanceAlertConfigRouteResult(dict): def __init__(__self__, *, - network_range_id: _builtins.str, - prefix: _builtins.str): - pulumi.set(__self__, "network_range_id", network_range_id) - pulumi.set(__self__, "prefix", prefix) - - @_builtins.property - @pulumi.getter(name="networkRangeId") - def network_range_id(self) -> _builtins.str: - return pulumi.get(self, "network_range_id") + continue_: _builtins.bool, + group_bies: Sequence[_builtins.str], + group_interval: _builtins.str, + group_wait: _builtins.str, + receiver: _builtins.str, + repeat_interval: _builtins.str, + routes: Sequence['outputs.GetObservabilityInstanceAlertConfigRouteRouteResult']): + """ + :param _builtins.bool continue_: Whether an alert should continue matching subsequent sibling nodes. + :param Sequence[_builtins.str] group_bies: The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. + :param _builtins.str group_interval: How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) + :param _builtins.str group_wait: How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) . + :param _builtins.str receiver: The name of the receiver to route the alerts to. + :param _builtins.str repeat_interval: How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). + :param Sequence['GetObservabilityInstanceAlertConfigRouteRouteArgs'] routes: List of child routes. + """ + pulumi.set(__self__, "continue_", continue_) + pulumi.set(__self__, "group_bies", group_bies) + pulumi.set(__self__, "group_interval", group_interval) + pulumi.set(__self__, "group_wait", group_wait) + pulumi.set(__self__, "receiver", receiver) + pulumi.set(__self__, "repeat_interval", repeat_interval) + pulumi.set(__self__, "routes", routes) @_builtins.property - @pulumi.getter - def prefix(self) -> _builtins.str: - return pulumi.get(self, "prefix") - - -@pulumi.output_type -class GetNetworkAreaRegionIpv4Result(dict): - def __init__(__self__, *, - default_nameservers: Sequence[_builtins.str], - default_prefix_length: _builtins.int, - max_prefix_length: _builtins.int, - min_prefix_length: _builtins.int, - network_ranges: Sequence['outputs.GetNetworkAreaRegionIpv4NetworkRangeResult'], - transfer_network: _builtins.str): + @pulumi.getter(name="continue") + def continue_(self) -> _builtins.bool: """ - :param Sequence[_builtins.str] default_nameservers: List of DNS Servers/Nameservers. - :param _builtins.int default_prefix_length: The default prefix length for networks in the network area. - :param _builtins.int max_prefix_length: The maximal prefix length for networks in the network area. - :param _builtins.int min_prefix_length: The minimal prefix length for networks in the network area. - :param Sequence['GetNetworkAreaRegionIpv4NetworkRangeArgs'] network_ranges: List of Network ranges. - :param _builtins.str transfer_network: IPv4 Classless Inter-Domain Routing (CIDR). + Whether an alert should continue matching subsequent sibling nodes. """ - pulumi.set(__self__, "default_nameservers", default_nameservers) - pulumi.set(__self__, "default_prefix_length", default_prefix_length) - pulumi.set(__self__, "max_prefix_length", max_prefix_length) - pulumi.set(__self__, "min_prefix_length", min_prefix_length) - pulumi.set(__self__, "network_ranges", network_ranges) - pulumi.set(__self__, "transfer_network", transfer_network) + return pulumi.get(self, "continue_") @_builtins.property - @pulumi.getter(name="defaultNameservers") - def default_nameservers(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="groupBies") + def group_bies(self) -> Sequence[_builtins.str]: """ - List of DNS Servers/Nameservers. + The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. """ - return pulumi.get(self, "default_nameservers") + return pulumi.get(self, "group_bies") @_builtins.property - @pulumi.getter(name="defaultPrefixLength") - def default_prefix_length(self) -> _builtins.int: + @pulumi.getter(name="groupInterval") + def group_interval(self) -> _builtins.str: """ - The default prefix length for networks in the network area. + How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) """ - return pulumi.get(self, "default_prefix_length") + return pulumi.get(self, "group_interval") @_builtins.property - @pulumi.getter(name="maxPrefixLength") - def max_prefix_length(self) -> _builtins.int: + @pulumi.getter(name="groupWait") + def group_wait(self) -> _builtins.str: """ - The maximal prefix length for networks in the network area. + How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) . """ - return pulumi.get(self, "max_prefix_length") + return pulumi.get(self, "group_wait") @_builtins.property - @pulumi.getter(name="minPrefixLength") - def min_prefix_length(self) -> _builtins.int: + @pulumi.getter + def receiver(self) -> _builtins.str: """ - The minimal prefix length for networks in the network area. + The name of the receiver to route the alerts to. """ - return pulumi.get(self, "min_prefix_length") + return pulumi.get(self, "receiver") @_builtins.property - @pulumi.getter(name="networkRanges") - def network_ranges(self) -> Sequence['outputs.GetNetworkAreaRegionIpv4NetworkRangeResult']: + @pulumi.getter(name="repeatInterval") + def repeat_interval(self) -> _builtins.str: """ - List of Network ranges. + How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). """ - return pulumi.get(self, "network_ranges") + return pulumi.get(self, "repeat_interval") @_builtins.property - @pulumi.getter(name="transferNetwork") - def transfer_network(self) -> _builtins.str: + @pulumi.getter + def routes(self) -> Sequence['outputs.GetObservabilityInstanceAlertConfigRouteRouteResult']: """ - IPv4 Classless Inter-Domain Routing (CIDR). + List of child routes. """ - return pulumi.get(self, "transfer_network") + return pulumi.get(self, "routes") @pulumi.output_type -class GetNetworkAreaRegionIpv4NetworkRangeResult(dict): +class GetObservabilityInstanceAlertConfigRouteRouteResult(dict): def __init__(__self__, *, - network_range_id: _builtins.str, - prefix: _builtins.str): + continue_: _builtins.bool, + group_bies: Sequence[_builtins.str], + group_interval: _builtins.str, + group_wait: _builtins.str, + match: Mapping[str, _builtins.str], + match_regex: Mapping[str, _builtins.str], + matchers: Sequence[_builtins.str], + receiver: _builtins.str, + repeat_interval: _builtins.str): """ - :param _builtins.str prefix: Classless Inter-Domain Routing (CIDR). + :param _builtins.bool continue_: Whether an alert should continue matching subsequent sibling nodes. + :param Sequence[_builtins.str] group_bies: The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. + :param _builtins.str group_interval: How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) + :param _builtins.str group_wait: How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) + :param Mapping[str, _builtins.str] match: A set of equality matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead + :param Mapping[str, _builtins.str] match_regex: A set of regex-matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead + :param Sequence[_builtins.str] matchers: A list of matchers that an alert has to fulfill to match the node. A matcher is a string with a syntax inspired by PromQL and OpenMetrics. + :param _builtins.str receiver: The name of the receiver to route the alerts to. + :param _builtins.str repeat_interval: How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). """ - pulumi.set(__self__, "network_range_id", network_range_id) - pulumi.set(__self__, "prefix", prefix) + pulumi.set(__self__, "continue_", continue_) + pulumi.set(__self__, "group_bies", group_bies) + pulumi.set(__self__, "group_interval", group_interval) + pulumi.set(__self__, "group_wait", group_wait) + pulumi.set(__self__, "match", match) + pulumi.set(__self__, "match_regex", match_regex) + pulumi.set(__self__, "matchers", matchers) + pulumi.set(__self__, "receiver", receiver) + pulumi.set(__self__, "repeat_interval", repeat_interval) @_builtins.property - @pulumi.getter(name="networkRangeId") - def network_range_id(self) -> _builtins.str: - return pulumi.get(self, "network_range_id") + @pulumi.getter(name="continue") + def continue_(self) -> _builtins.bool: + """ + Whether an alert should continue matching subsequent sibling nodes. + """ + return pulumi.get(self, "continue_") @_builtins.property - @pulumi.getter - def prefix(self) -> _builtins.str: + @pulumi.getter(name="groupBies") + def group_bies(self) -> Sequence[_builtins.str]: """ - Classless Inter-Domain Routing (CIDR). + The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. """ - return pulumi.get(self, "prefix") - + return pulumi.get(self, "group_bies") -@pulumi.output_type -class GetNetworkAreaRouteDestinationResult(dict): - def __init__(__self__, *, - type: _builtins.str, - value: _builtins.str): + @_builtins.property + @pulumi.getter(name="groupInterval") + def group_interval(self) -> _builtins.str: """ - :param _builtins.str type: CIDRV type. Possible values are: `cidrv4`, `cidrv6`. - :param _builtins.str value: An CIDR string. + How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) """ - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "value", value) + return pulumi.get(self, "group_interval") @_builtins.property - @pulumi.getter - def type(self) -> _builtins.str: + @pulumi.getter(name="groupWait") + def group_wait(self) -> _builtins.str: """ - CIDRV type. Possible values are: `cidrv4`, `cidrv6`. + How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) """ - return pulumi.get(self, "type") + return pulumi.get(self, "group_wait") @_builtins.property @pulumi.getter - def value(self) -> _builtins.str: + @_utilities.deprecated("""Use `matchers` in the `routes` instead.""") + def match(self) -> Mapping[str, _builtins.str]: """ - An CIDR string. + A set of equality matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead """ - return pulumi.get(self, "value") - + return pulumi.get(self, "match") -@pulumi.output_type -class GetNetworkAreaRouteNextHopResult(dict): - def __init__(__self__, *, - type: _builtins.str, - value: _builtins.str): + @_builtins.property + @pulumi.getter(name="matchRegex") + @_utilities.deprecated("""Use `matchers` in the `routes` instead.""") + def match_regex(self) -> Mapping[str, _builtins.str]: """ - :param _builtins.str type: Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. - :param _builtins.str value: Either IPv4 or IPv6 (not set for blackhole and internet). + A set of regex-matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead """ - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "value", value) + return pulumi.get(self, "match_regex") @_builtins.property @pulumi.getter - def type(self) -> _builtins.str: + def matchers(self) -> Sequence[_builtins.str]: """ - Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + A list of matchers that an alert has to fulfill to match the node. A matcher is a string with a syntax inspired by PromQL and OpenMetrics. """ - return pulumi.get(self, "type") + return pulumi.get(self, "matchers") @_builtins.property @pulumi.getter - def value(self) -> _builtins.str: + def receiver(self) -> _builtins.str: """ - Either IPv4 or IPv6 (not set for blackhole and internet). + The name of the receiver to route the alerts to. """ - return pulumi.get(self, "value") + return pulumi.get(self, "receiver") + + @_builtins.property + @pulumi.getter(name="repeatInterval") + def repeat_interval(self) -> _builtins.str: + """ + How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). + """ + return pulumi.get(self, "repeat_interval") @pulumi.output_type -class GetObservabilityAlertgroupRuleResult(dict): +class GetObservabilityLogalertgroupRuleResult(dict): def __init__(__self__, *, alert: _builtins.str, annotations: Mapping[str, _builtins.str], expression: _builtins.str, for_: _builtins.str, - labels: Mapping[str, _builtins.str], - record: _builtins.str): + labels: Mapping[str, _builtins.str]): """ :param _builtins.str alert: The name of the alert rule. Is the identifier and must be unique in the group. :param Mapping[str, _builtins.str] annotations: A map of key:value. Annotations to add or overwrite for each alert - :param _builtins.str expression: The PromQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. + :param _builtins.str expression: The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. :param _builtins.str for_: Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s :param Mapping[str, _builtins.str] labels: A map of key:value. Labels to add or overwrite for each alert - :param _builtins.str record: The name of the metric. It's the identifier and must be unique in the group. """ pulumi.set(__self__, "alert", alert) pulumi.set(__self__, "annotations", annotations) pulumi.set(__self__, "expression", expression) pulumi.set(__self__, "for_", for_) pulumi.set(__self__, "labels", labels) - pulumi.set(__self__, "record", record) @_builtins.property @pulumi.getter @@ -11871,7 +13336,7 @@ def annotations(self) -> Mapping[str, _builtins.str]: @pulumi.getter def expression(self) -> _builtins.str: """ - The PromQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. + The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. """ return pulumi.get(self, "expression") @@ -11886,3483 +13351,3351 @@ def for_(self) -> _builtins.str: @_builtins.property @pulumi.getter def labels(self) -> Mapping[str, _builtins.str]: - """ - A map of key:value. Labels to add or overwrite for each alert - """ - return pulumi.get(self, "labels") - - @_builtins.property - @pulumi.getter - def record(self) -> _builtins.str: - """ - The name of the metric. It's the identifier and must be unique in the group. - """ - return pulumi.get(self, "record") - - -@pulumi.output_type -class GetObservabilityInstanceAlertConfigResult(dict): - def __init__(__self__, *, - global_: 'outputs.GetObservabilityInstanceAlertConfigGlobalResult', - receivers: Sequence['outputs.GetObservabilityInstanceAlertConfigReceiverResult'], - route: 'outputs.GetObservabilityInstanceAlertConfigRouteResult'): - """ - :param 'GetObservabilityInstanceAlertConfigGlobalArgs' global_: Global configuration for the alerts. - :param Sequence['GetObservabilityInstanceAlertConfigReceiverArgs'] receivers: List of alert receivers. - :param 'GetObservabilityInstanceAlertConfigRouteArgs' route: The route for the alert. - """ - pulumi.set(__self__, "global_", global_) - pulumi.set(__self__, "receivers", receivers) - pulumi.set(__self__, "route", route) - - @_builtins.property - @pulumi.getter(name="global") - def global_(self) -> 'outputs.GetObservabilityInstanceAlertConfigGlobalResult': - """ - Global configuration for the alerts. - """ - return pulumi.get(self, "global_") - - @_builtins.property - @pulumi.getter - def receivers(self) -> Sequence['outputs.GetObservabilityInstanceAlertConfigReceiverResult']: - """ - List of alert receivers. - """ - return pulumi.get(self, "receivers") - - @_builtins.property - @pulumi.getter - def route(self) -> 'outputs.GetObservabilityInstanceAlertConfigRouteResult': - """ - The route for the alert. - """ - return pulumi.get(self, "route") - - -@pulumi.output_type -class GetObservabilityInstanceAlertConfigGlobalResult(dict): - def __init__(__self__, *, - opsgenie_api_key: _builtins.str, - opsgenie_api_url: _builtins.str, - resolve_timeout: _builtins.str, - smtp_auth_identity: _builtins.str, - smtp_auth_password: _builtins.str, - smtp_auth_username: _builtins.str, - smtp_from: _builtins.str, - smtp_smart_host: _builtins.str): - """ - :param _builtins.str opsgenie_api_key: The API key for OpsGenie. - :param _builtins.str opsgenie_api_url: The host to send OpsGenie API requests to. Must be a valid URL - :param _builtins.str resolve_timeout: The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt. - :param _builtins.str smtp_auth_identity: SMTP authentication information. Must be a valid email address - :param _builtins.str smtp_auth_password: SMTP Auth using LOGIN and PLAIN. - :param _builtins.str smtp_auth_username: SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. - :param _builtins.str smtp_from: The default SMTP From header field. Must be a valid email address - :param _builtins.str smtp_smart_host: The default SMTP smarthost used for sending emails, including port number. Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). - """ - pulumi.set(__self__, "opsgenie_api_key", opsgenie_api_key) - pulumi.set(__self__, "opsgenie_api_url", opsgenie_api_url) - pulumi.set(__self__, "resolve_timeout", resolve_timeout) - pulumi.set(__self__, "smtp_auth_identity", smtp_auth_identity) - pulumi.set(__self__, "smtp_auth_password", smtp_auth_password) - pulumi.set(__self__, "smtp_auth_username", smtp_auth_username) - pulumi.set(__self__, "smtp_from", smtp_from) - pulumi.set(__self__, "smtp_smart_host", smtp_smart_host) + """ + A map of key:value. Labels to add or overwrite for each alert + """ + return pulumi.get(self, "labels") - @_builtins.property - @pulumi.getter(name="opsgenieApiKey") - def opsgenie_api_key(self) -> _builtins.str: + +@pulumi.output_type +class GetObservabilityScrapeconfigBasicAuthResult(dict): + def __init__(__self__, *, + password: _builtins.str, + username: _builtins.str): """ - The API key for OpsGenie. + :param _builtins.str password: Specifies basic auth password. + :param _builtins.str username: Specifies basic auth username. """ - return pulumi.get(self, "opsgenie_api_key") + pulumi.set(__self__, "password", password) + pulumi.set(__self__, "username", username) @_builtins.property - @pulumi.getter(name="opsgenieApiUrl") - def opsgenie_api_url(self) -> _builtins.str: + @pulumi.getter + def password(self) -> _builtins.str: """ - The host to send OpsGenie API requests to. Must be a valid URL + Specifies basic auth password. """ - return pulumi.get(self, "opsgenie_api_url") + return pulumi.get(self, "password") @_builtins.property - @pulumi.getter(name="resolveTimeout") - def resolve_timeout(self) -> _builtins.str: + @pulumi.getter + def username(self) -> _builtins.str: """ - The default value used by alertmanager if the alert does not include EndsAt. After this time passes, it can declare the alert as resolved if it has not been updated. This has no impact on alerts from Prometheus, as they always include EndsAt. + Specifies basic auth username. """ - return pulumi.get(self, "resolve_timeout") + return pulumi.get(self, "username") - @_builtins.property - @pulumi.getter(name="smtpAuthIdentity") - def smtp_auth_identity(self) -> _builtins.str: + +@pulumi.output_type +class GetObservabilityScrapeconfigSaml2Result(dict): + def __init__(__self__, *, + enable_url_parameters: _builtins.bool): """ - SMTP authentication information. Must be a valid email address + :param _builtins.bool enable_url_parameters: Specifies if URL parameters are enabled """ - return pulumi.get(self, "smtp_auth_identity") + pulumi.set(__self__, "enable_url_parameters", enable_url_parameters) @_builtins.property - @pulumi.getter(name="smtpAuthPassword") - def smtp_auth_password(self) -> _builtins.str: + @pulumi.getter(name="enableUrlParameters") + def enable_url_parameters(self) -> _builtins.bool: """ - SMTP Auth using LOGIN and PLAIN. + Specifies if URL parameters are enabled """ - return pulumi.get(self, "smtp_auth_password") + return pulumi.get(self, "enable_url_parameters") - @_builtins.property - @pulumi.getter(name="smtpAuthUsername") - def smtp_auth_username(self) -> _builtins.str: + +@pulumi.output_type +class GetObservabilityScrapeconfigTargetResult(dict): + def __init__(__self__, *, + labels: Mapping[str, _builtins.str], + urls: Sequence[_builtins.str]): """ - SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. + :param Mapping[str, _builtins.str] labels: Specifies labels. + :param Sequence[_builtins.str] urls: Specifies target URLs. """ - return pulumi.get(self, "smtp_auth_username") + pulumi.set(__self__, "labels", labels) + pulumi.set(__self__, "urls", urls) @_builtins.property - @pulumi.getter(name="smtpFrom") - def smtp_from(self) -> _builtins.str: + @pulumi.getter + def labels(self) -> Mapping[str, _builtins.str]: """ - The default SMTP From header field. Must be a valid email address + Specifies labels. """ - return pulumi.get(self, "smtp_from") + return pulumi.get(self, "labels") @_builtins.property - @pulumi.getter(name="smtpSmartHost") - def smtp_smart_host(self) -> _builtins.str: + @pulumi.getter + def urls(self) -> Sequence[_builtins.str]: """ - The default SMTP smarthost used for sending emails, including port number. Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). + Specifies target URLs. """ - return pulumi.get(self, "smtp_smart_host") + return pulumi.get(self, "urls") @pulumi.output_type -class GetObservabilityInstanceAlertConfigReceiverResult(dict): +class GetOpensearchInstanceParametersResult(dict): def __init__(__self__, *, - email_configs: Sequence['outputs.GetObservabilityInstanceAlertConfigReceiverEmailConfigResult'], - name: _builtins.str, - opsgenie_configs: Sequence['outputs.GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigResult'], - webhooks_configs: Sequence['outputs.GetObservabilityInstanceAlertConfigReceiverWebhooksConfigResult']): + enable_monitoring: _builtins.bool, + graphite: _builtins.str, + java_garbage_collector: _builtins.str, + java_heapspace: _builtins.int, + java_maxmetaspace: _builtins.int, + max_disk_threshold: _builtins.int, + metrics_frequency: _builtins.int, + metrics_prefix: _builtins.str, + monitoring_instance_id: _builtins.str, + plugins: Sequence[_builtins.str], + sgw_acl: _builtins.str, + syslogs: Sequence[_builtins.str], + tls_ciphers: Sequence[_builtins.str], + tls_protocols: Sequence[_builtins.str]): """ - :param Sequence['GetObservabilityInstanceAlertConfigReceiverEmailConfigArgs'] email_configs: List of email configurations. - :param _builtins.str name: Name of the receiver. - :param Sequence['GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs'] opsgenie_configs: List of OpsGenie configurations. - :param Sequence['GetObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs'] webhooks_configs: List of Webhooks configurations. + :param _builtins.bool enable_monitoring: Enable monitoring. + :param _builtins.str graphite: If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). + :param _builtins.str java_garbage_collector: The garbage collector to use for OpenSearch. + :param _builtins.int java_heapspace: The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. + :param _builtins.int java_maxmetaspace: The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. + :param _builtins.int max_disk_threshold: The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + :param _builtins.int metrics_frequency: The frequency in seconds at which metrics are emitted (in seconds). + :param _builtins.str metrics_prefix: The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. + :param _builtins.str monitoring_instance_id: The ID of the STACKIT monitoring instance. + :param Sequence[_builtins.str] plugins: List of plugins to install. Must be a supported plugin name. The plugins `repository-s3` and `repository-azure` are enabled by default and cannot be disabled. + :param _builtins.str sgw_acl: Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + :param Sequence[_builtins.str] syslogs: List of syslog servers to send logs to. + :param Sequence[_builtins.str] tls_ciphers: List of TLS ciphers to use. + :param Sequence[_builtins.str] tls_protocols: List of TLS protocols to use. """ - pulumi.set(__self__, "email_configs", email_configs) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "opsgenie_configs", opsgenie_configs) - pulumi.set(__self__, "webhooks_configs", webhooks_configs) + pulumi.set(__self__, "enable_monitoring", enable_monitoring) + pulumi.set(__self__, "graphite", graphite) + pulumi.set(__self__, "java_garbage_collector", java_garbage_collector) + pulumi.set(__self__, "java_heapspace", java_heapspace) + pulumi.set(__self__, "java_maxmetaspace", java_maxmetaspace) + pulumi.set(__self__, "max_disk_threshold", max_disk_threshold) + pulumi.set(__self__, "metrics_frequency", metrics_frequency) + pulumi.set(__self__, "metrics_prefix", metrics_prefix) + pulumi.set(__self__, "monitoring_instance_id", monitoring_instance_id) + pulumi.set(__self__, "plugins", plugins) + pulumi.set(__self__, "sgw_acl", sgw_acl) + pulumi.set(__self__, "syslogs", syslogs) + pulumi.set(__self__, "tls_ciphers", tls_ciphers) + pulumi.set(__self__, "tls_protocols", tls_protocols) @_builtins.property - @pulumi.getter(name="emailConfigs") - def email_configs(self) -> Sequence['outputs.GetObservabilityInstanceAlertConfigReceiverEmailConfigResult']: + @pulumi.getter(name="enableMonitoring") + def enable_monitoring(self) -> _builtins.bool: """ - List of email configurations. + Enable monitoring. """ - return pulumi.get(self, "email_configs") + return pulumi.get(self, "enable_monitoring") @_builtins.property @pulumi.getter - def name(self) -> _builtins.str: + def graphite(self) -> _builtins.str: """ - Name of the receiver. + If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). """ - return pulumi.get(self, "name") + return pulumi.get(self, "graphite") @_builtins.property - @pulumi.getter(name="opsgenieConfigs") - def opsgenie_configs(self) -> Sequence['outputs.GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigResult']: + @pulumi.getter(name="javaGarbageCollector") + def java_garbage_collector(self) -> _builtins.str: """ - List of OpsGenie configurations. + The garbage collector to use for OpenSearch. """ - return pulumi.get(self, "opsgenie_configs") + return pulumi.get(self, "java_garbage_collector") @_builtins.property - @pulumi.getter(name="webhooksConfigs") - def webhooks_configs(self) -> Sequence['outputs.GetObservabilityInstanceAlertConfigReceiverWebhooksConfigResult']: + @pulumi.getter(name="javaHeapspace") + def java_heapspace(self) -> _builtins.int: """ - List of Webhooks configurations. + The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. """ - return pulumi.get(self, "webhooks_configs") + return pulumi.get(self, "java_heapspace") + @_builtins.property + @pulumi.getter(name="javaMaxmetaspace") + def java_maxmetaspace(self) -> _builtins.int: + """ + The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. + """ + return pulumi.get(self, "java_maxmetaspace") -@pulumi.output_type -class GetObservabilityInstanceAlertConfigReceiverEmailConfigResult(dict): - def __init__(__self__, *, - auth_identity: _builtins.str, - auth_password: _builtins.str, - auth_username: _builtins.str, - from_: _builtins.str, - send_resolved: _builtins.bool, - smart_host: _builtins.str, - to: _builtins.str): + @_builtins.property + @pulumi.getter(name="maxDiskThreshold") + def max_disk_threshold(self) -> _builtins.int: """ - :param _builtins.str auth_identity: SMTP authentication information. Must be a valid email address - :param _builtins.str auth_password: SMTP authentication password. - :param _builtins.str auth_username: SMTP authentication username. - :param _builtins.str from_: The sender email address. Must be a valid email address - :param _builtins.bool send_resolved: Whether to notify about resolved alerts. - :param _builtins.str smart_host: The SMTP host through which emails are sent. - :param _builtins.str to: The email address to send notifications to. Must be a valid email address + The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. """ - pulumi.set(__self__, "auth_identity", auth_identity) - pulumi.set(__self__, "auth_password", auth_password) - pulumi.set(__self__, "auth_username", auth_username) - pulumi.set(__self__, "from_", from_) - pulumi.set(__self__, "send_resolved", send_resolved) - pulumi.set(__self__, "smart_host", smart_host) - pulumi.set(__self__, "to", to) + return pulumi.get(self, "max_disk_threshold") @_builtins.property - @pulumi.getter(name="authIdentity") - def auth_identity(self) -> _builtins.str: + @pulumi.getter(name="metricsFrequency") + def metrics_frequency(self) -> _builtins.int: """ - SMTP authentication information. Must be a valid email address + The frequency in seconds at which metrics are emitted (in seconds). """ - return pulumi.get(self, "auth_identity") + return pulumi.get(self, "metrics_frequency") @_builtins.property - @pulumi.getter(name="authPassword") - def auth_password(self) -> _builtins.str: + @pulumi.getter(name="metricsPrefix") + def metrics_prefix(self) -> _builtins.str: """ - SMTP authentication password. + The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. """ - return pulumi.get(self, "auth_password") + return pulumi.get(self, "metrics_prefix") @_builtins.property - @pulumi.getter(name="authUsername") - def auth_username(self) -> _builtins.str: + @pulumi.getter(name="monitoringInstanceId") + def monitoring_instance_id(self) -> _builtins.str: """ - SMTP authentication username. + The ID of the STACKIT monitoring instance. """ - return pulumi.get(self, "auth_username") + return pulumi.get(self, "monitoring_instance_id") @_builtins.property - @pulumi.getter(name="from") - def from_(self) -> _builtins.str: + @pulumi.getter + def plugins(self) -> Sequence[_builtins.str]: """ - The sender email address. Must be a valid email address + List of plugins to install. Must be a supported plugin name. The plugins `repository-s3` and `repository-azure` are enabled by default and cannot be disabled. """ - return pulumi.get(self, "from_") + return pulumi.get(self, "plugins") @_builtins.property - @pulumi.getter(name="sendResolved") - def send_resolved(self) -> _builtins.bool: + @pulumi.getter(name="sgwAcl") + def sgw_acl(self) -> _builtins.str: """ - Whether to notify about resolved alerts. + Comma separated list of IP networks in CIDR notation which are allowed to access this instance. """ - return pulumi.get(self, "send_resolved") + return pulumi.get(self, "sgw_acl") + + @_builtins.property + @pulumi.getter + def syslogs(self) -> Sequence[_builtins.str]: + """ + List of syslog servers to send logs to. + """ + return pulumi.get(self, "syslogs") @_builtins.property - @pulumi.getter(name="smartHost") - def smart_host(self) -> _builtins.str: + @pulumi.getter(name="tlsCiphers") + def tls_ciphers(self) -> Sequence[_builtins.str]: """ - The SMTP host through which emails are sent. + List of TLS ciphers to use. """ - return pulumi.get(self, "smart_host") + return pulumi.get(self, "tls_ciphers") @_builtins.property - @pulumi.getter - def to(self) -> _builtins.str: + @pulumi.getter(name="tlsProtocols") + def tls_protocols(self) -> Sequence[_builtins.str]: """ - The email address to send notifications to. Must be a valid email address + List of TLS protocols to use. """ - return pulumi.get(self, "to") + return pulumi.get(self, "tls_protocols") @pulumi.output_type -class GetObservabilityInstanceAlertConfigReceiverOpsgenieConfigResult(dict): +class GetPostgresflexInstanceFlavorResult(dict): def __init__(__self__, *, - api_key: _builtins.str, - api_url: _builtins.str, - priority: _builtins.str, - send_resolved: _builtins.bool, - tags: _builtins.str): - """ - :param _builtins.str api_key: The API key for OpsGenie. - :param _builtins.str api_url: The host to send OpsGenie API requests to. Must be a valid URL - :param _builtins.str priority: Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`. - :param _builtins.bool send_resolved: Whether to notify about resolved alerts. - :param _builtins.str tags: Comma separated list of tags attached to the notifications. - """ - pulumi.set(__self__, "api_key", api_key) - pulumi.set(__self__, "api_url", api_url) - pulumi.set(__self__, "priority", priority) - pulumi.set(__self__, "send_resolved", send_resolved) - pulumi.set(__self__, "tags", tags) + cpu: _builtins.int, + description: _builtins.str, + id: _builtins.str, + ram: _builtins.int): + pulumi.set(__self__, "cpu", cpu) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "ram", ram) @_builtins.property - @pulumi.getter(name="apiKey") - def api_key(self) -> _builtins.str: - """ - The API key for OpsGenie. - """ - return pulumi.get(self, "api_key") + @pulumi.getter + def cpu(self) -> _builtins.int: + return pulumi.get(self, "cpu") @_builtins.property - @pulumi.getter(name="apiUrl") - def api_url(self) -> _builtins.str: - """ - The host to send OpsGenie API requests to. Must be a valid URL - """ - return pulumi.get(self, "api_url") + @pulumi.getter + def description(self) -> _builtins.str: + return pulumi.get(self, "description") @_builtins.property @pulumi.getter - def priority(self) -> _builtins.str: - """ - Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`. - """ - return pulumi.get(self, "priority") + def id(self) -> _builtins.str: + return pulumi.get(self, "id") @_builtins.property - @pulumi.getter(name="sendResolved") - def send_resolved(self) -> _builtins.bool: + @pulumi.getter + def ram(self) -> _builtins.int: + return pulumi.get(self, "ram") + + +@pulumi.output_type +class GetPostgresflexInstanceStorageResult(dict): + def __init__(__self__, *, + class_: _builtins.str, + size: _builtins.int): + pulumi.set(__self__, "class_", class_) + pulumi.set(__self__, "size", size) + + @_builtins.property + @pulumi.getter(name="class") + def class_(self) -> _builtins.str: + return pulumi.get(self, "class_") + + @_builtins.property + @pulumi.getter + def size(self) -> _builtins.int: + return pulumi.get(self, "size") + + +@pulumi.output_type +class GetPublicIpRangesPublicIpRangeResult(dict): + def __init__(__self__, *, + cidr: _builtins.str): """ - Whether to notify about resolved alerts. + :param _builtins.str cidr: Classless Inter-Domain Routing (CIDR) """ - return pulumi.get(self, "send_resolved") + pulumi.set(__self__, "cidr", cidr) @_builtins.property @pulumi.getter - def tags(self) -> _builtins.str: + def cidr(self) -> _builtins.str: """ - Comma separated list of tags attached to the notifications. + Classless Inter-Domain Routing (CIDR) """ - return pulumi.get(self, "tags") + return pulumi.get(self, "cidr") @pulumi.output_type -class GetObservabilityInstanceAlertConfigReceiverWebhooksConfigResult(dict): +class GetRabbitmqInstanceParametersResult(dict): def __init__(__self__, *, - google_chat: _builtins.bool, - ms_teams: _builtins.bool, - send_resolved: _builtins.bool, - url: _builtins.str): + consumer_timeout: _builtins.int, + enable_monitoring: _builtins.bool, + graphite: _builtins.str, + max_disk_threshold: _builtins.int, + metrics_frequency: _builtins.int, + metrics_prefix: _builtins.str, + monitoring_instance_id: _builtins.str, + plugins: Sequence[_builtins.str], + roles: Sequence[_builtins.str], + sgw_acl: _builtins.str, + syslogs: Sequence[_builtins.str], + tls_ciphers: Sequence[_builtins.str], + tls_protocols: Sequence[_builtins.str]): """ - :param _builtins.bool google_chat: Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat. - :param _builtins.bool ms_teams: Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams. - :param _builtins.bool send_resolved: Whether to notify about resolved alerts. - :param _builtins.str url: The endpoint to send HTTP POST requests to. Must be a valid URL + :param _builtins.int consumer_timeout: The timeout in milliseconds for the consumer. + :param _builtins.bool enable_monitoring: Enable monitoring. + :param _builtins.str graphite: Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. + :param _builtins.int max_disk_threshold: The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + :param _builtins.int metrics_frequency: The frequency in seconds at which metrics are emitted. + :param _builtins.str metrics_prefix: The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key + :param _builtins.str monitoring_instance_id: The ID of the STACKIT monitoring instance. + :param Sequence[_builtins.str] plugins: List of plugins to install. Must be a supported plugin name. + :param Sequence[_builtins.str] roles: List of roles to assign to the instance. + :param _builtins.str sgw_acl: Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + :param Sequence[_builtins.str] syslogs: List of syslog servers to send logs to. + :param Sequence[_builtins.str] tls_ciphers: List of TLS ciphers to use. + :param Sequence[_builtins.str] tls_protocols: TLS protocol versions to use. """ - pulumi.set(__self__, "google_chat", google_chat) - pulumi.set(__self__, "ms_teams", ms_teams) - pulumi.set(__self__, "send_resolved", send_resolved) - pulumi.set(__self__, "url", url) + pulumi.set(__self__, "consumer_timeout", consumer_timeout) + pulumi.set(__self__, "enable_monitoring", enable_monitoring) + pulumi.set(__self__, "graphite", graphite) + pulumi.set(__self__, "max_disk_threshold", max_disk_threshold) + pulumi.set(__self__, "metrics_frequency", metrics_frequency) + pulumi.set(__self__, "metrics_prefix", metrics_prefix) + pulumi.set(__self__, "monitoring_instance_id", monitoring_instance_id) + pulumi.set(__self__, "plugins", plugins) + pulumi.set(__self__, "roles", roles) + pulumi.set(__self__, "sgw_acl", sgw_acl) + pulumi.set(__self__, "syslogs", syslogs) + pulumi.set(__self__, "tls_ciphers", tls_ciphers) + pulumi.set(__self__, "tls_protocols", tls_protocols) @_builtins.property - @pulumi.getter(name="googleChat") - def google_chat(self) -> _builtins.bool: + @pulumi.getter(name="consumerTimeout") + def consumer_timeout(self) -> _builtins.int: """ - Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat. + The timeout in milliseconds for the consumer. """ - return pulumi.get(self, "google_chat") + return pulumi.get(self, "consumer_timeout") @_builtins.property - @pulumi.getter(name="msTeams") - def ms_teams(self) -> _builtins.bool: + @pulumi.getter(name="enableMonitoring") + def enable_monitoring(self) -> _builtins.bool: """ - Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams. + Enable monitoring. """ - return pulumi.get(self, "ms_teams") + return pulumi.get(self, "enable_monitoring") @_builtins.property - @pulumi.getter(name="sendResolved") - def send_resolved(self) -> _builtins.bool: + @pulumi.getter + def graphite(self) -> _builtins.str: """ - Whether to notify about resolved alerts. + Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. """ - return pulumi.get(self, "send_resolved") + return pulumi.get(self, "graphite") @_builtins.property - @pulumi.getter - def url(self) -> _builtins.str: + @pulumi.getter(name="maxDiskThreshold") + def max_disk_threshold(self) -> _builtins.int: """ - The endpoint to send HTTP POST requests to. Must be a valid URL + The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. """ - return pulumi.get(self, "url") - + return pulumi.get(self, "max_disk_threshold") -@pulumi.output_type -class GetObservabilityInstanceAlertConfigRouteResult(dict): - def __init__(__self__, *, - continue_: _builtins.bool, - group_bies: Sequence[_builtins.str], - group_interval: _builtins.str, - group_wait: _builtins.str, - receiver: _builtins.str, - repeat_interval: _builtins.str, - routes: Sequence['outputs.GetObservabilityInstanceAlertConfigRouteRouteResult']): + @_builtins.property + @pulumi.getter(name="metricsFrequency") + def metrics_frequency(self) -> _builtins.int: """ - :param _builtins.bool continue_: Whether an alert should continue matching subsequent sibling nodes. - :param Sequence[_builtins.str] group_bies: The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. - :param _builtins.str group_interval: How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) - :param _builtins.str group_wait: How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) . - :param _builtins.str receiver: The name of the receiver to route the alerts to. - :param _builtins.str repeat_interval: How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). - :param Sequence['GetObservabilityInstanceAlertConfigRouteRouteArgs'] routes: List of child routes. + The frequency in seconds at which metrics are emitted. """ - pulumi.set(__self__, "continue_", continue_) - pulumi.set(__self__, "group_bies", group_bies) - pulumi.set(__self__, "group_interval", group_interval) - pulumi.set(__self__, "group_wait", group_wait) - pulumi.set(__self__, "receiver", receiver) - pulumi.set(__self__, "repeat_interval", repeat_interval) - pulumi.set(__self__, "routes", routes) + return pulumi.get(self, "metrics_frequency") @_builtins.property - @pulumi.getter(name="continue") - def continue_(self) -> _builtins.bool: + @pulumi.getter(name="metricsPrefix") + def metrics_prefix(self) -> _builtins.str: """ - Whether an alert should continue matching subsequent sibling nodes. + The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key """ - return pulumi.get(self, "continue_") + return pulumi.get(self, "metrics_prefix") @_builtins.property - @pulumi.getter(name="groupBies") - def group_bies(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="monitoringInstanceId") + def monitoring_instance_id(self) -> _builtins.str: """ - The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. + The ID of the STACKIT monitoring instance. """ - return pulumi.get(self, "group_bies") + return pulumi.get(self, "monitoring_instance_id") @_builtins.property - @pulumi.getter(name="groupInterval") - def group_interval(self) -> _builtins.str: + @pulumi.getter + def plugins(self) -> Sequence[_builtins.str]: """ - How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) + List of plugins to install. Must be a supported plugin name. """ - return pulumi.get(self, "group_interval") + return pulumi.get(self, "plugins") @_builtins.property - @pulumi.getter(name="groupWait") - def group_wait(self) -> _builtins.str: + @pulumi.getter + def roles(self) -> Sequence[_builtins.str]: + """ + List of roles to assign to the instance. + """ + return pulumi.get(self, "roles") + + @_builtins.property + @pulumi.getter(name="sgwAcl") + def sgw_acl(self) -> _builtins.str: """ - How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) . + Comma separated list of IP networks in CIDR notation which are allowed to access this instance. """ - return pulumi.get(self, "group_wait") + return pulumi.get(self, "sgw_acl") @_builtins.property @pulumi.getter - def receiver(self) -> _builtins.str: + def syslogs(self) -> Sequence[_builtins.str]: """ - The name of the receiver to route the alerts to. + List of syslog servers to send logs to. """ - return pulumi.get(self, "receiver") + return pulumi.get(self, "syslogs") @_builtins.property - @pulumi.getter(name="repeatInterval") - def repeat_interval(self) -> _builtins.str: + @pulumi.getter(name="tlsCiphers") + def tls_ciphers(self) -> Sequence[_builtins.str]: """ - How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). + List of TLS ciphers to use. """ - return pulumi.get(self, "repeat_interval") + return pulumi.get(self, "tls_ciphers") @_builtins.property - @pulumi.getter - def routes(self) -> Sequence['outputs.GetObservabilityInstanceAlertConfigRouteRouteResult']: + @pulumi.getter(name="tlsProtocols") + def tls_protocols(self) -> Sequence[_builtins.str]: """ - List of child routes. + TLS protocol versions to use. """ - return pulumi.get(self, "routes") + return pulumi.get(self, "tls_protocols") @pulumi.output_type -class GetObservabilityInstanceAlertConfigRouteRouteResult(dict): +class GetRedisInstanceParametersResult(dict): def __init__(__self__, *, - continue_: _builtins.bool, - group_bies: Sequence[_builtins.str], - group_interval: _builtins.str, - group_wait: _builtins.str, - match: Mapping[str, _builtins.str], - match_regex: Mapping[str, _builtins.str], - matchers: Sequence[_builtins.str], - receiver: _builtins.str, - repeat_interval: _builtins.str): + down_after_milliseconds: _builtins.int, + enable_monitoring: _builtins.bool, + failover_timeout: _builtins.int, + graphite: _builtins.str, + lazyfree_lazy_eviction: _builtins.str, + lazyfree_lazy_expire: _builtins.str, + lua_time_limit: _builtins.int, + max_disk_threshold: _builtins.int, + maxclients: _builtins.int, + maxmemory_policy: _builtins.str, + maxmemory_samples: _builtins.int, + metrics_frequency: _builtins.int, + metrics_prefix: _builtins.str, + min_replicas_max_lag: _builtins.int, + monitoring_instance_id: _builtins.str, + notify_keyspace_events: _builtins.str, + sgw_acl: _builtins.str, + snapshot: _builtins.str, + syslogs: Sequence[_builtins.str], + tls_ciphers: Sequence[_builtins.str], + tls_ciphersuites: _builtins.str, + tls_protocols: _builtins.str): """ - :param _builtins.bool continue_: Whether an alert should continue matching subsequent sibling nodes. - :param Sequence[_builtins.str] group_bies: The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. - :param _builtins.str group_interval: How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) - :param _builtins.str group_wait: How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) - :param Mapping[str, _builtins.str] match: A set of equality matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead - :param Mapping[str, _builtins.str] match_regex: A set of regex-matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead - :param Sequence[_builtins.str] matchers: A list of matchers that an alert has to fulfill to match the node. A matcher is a string with a syntax inspired by PromQL and OpenMetrics. - :param _builtins.str receiver: The name of the receiver to route the alerts to. - :param _builtins.str repeat_interval: How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). + :param _builtins.int down_after_milliseconds: The number of milliseconds after which the instance is considered down. + :param _builtins.bool enable_monitoring: Enable monitoring. + :param _builtins.int failover_timeout: The failover timeout in milliseconds. + :param _builtins.str graphite: Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. + :param _builtins.str lazyfree_lazy_eviction: The lazy eviction enablement (yes or no). + :param _builtins.str lazyfree_lazy_expire: The lazy expire enablement (yes or no). + :param _builtins.int lua_time_limit: The Lua time limit. + :param _builtins.int max_disk_threshold: The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + :param _builtins.int maxclients: The maximum number of clients. + :param _builtins.str maxmemory_policy: The policy to handle the maximum memory (volatile-lru, noeviction, etc). + :param _builtins.int maxmemory_samples: The maximum memory samples. + :param _builtins.int metrics_frequency: The frequency in seconds at which metrics are emitted. + :param _builtins.str metrics_prefix: The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key + :param _builtins.int min_replicas_max_lag: The minimum replicas maximum lag. + :param _builtins.str monitoring_instance_id: The ID of the STACKIT monitoring instance. + :param _builtins.str notify_keyspace_events: The notify keyspace events. + :param _builtins.str sgw_acl: Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + :param _builtins.str snapshot: The snapshot configuration. + :param Sequence[_builtins.str] syslogs: List of syslog servers to send logs to. + :param Sequence[_builtins.str] tls_ciphers: List of TLS ciphers to use. + :param _builtins.str tls_ciphersuites: TLS cipher suites to use. + :param _builtins.str tls_protocols: TLS protocol to use. """ - pulumi.set(__self__, "continue_", continue_) - pulumi.set(__self__, "group_bies", group_bies) - pulumi.set(__self__, "group_interval", group_interval) - pulumi.set(__self__, "group_wait", group_wait) - pulumi.set(__self__, "match", match) - pulumi.set(__self__, "match_regex", match_regex) - pulumi.set(__self__, "matchers", matchers) - pulumi.set(__self__, "receiver", receiver) - pulumi.set(__self__, "repeat_interval", repeat_interval) + pulumi.set(__self__, "down_after_milliseconds", down_after_milliseconds) + pulumi.set(__self__, "enable_monitoring", enable_monitoring) + pulumi.set(__self__, "failover_timeout", failover_timeout) + pulumi.set(__self__, "graphite", graphite) + pulumi.set(__self__, "lazyfree_lazy_eviction", lazyfree_lazy_eviction) + pulumi.set(__self__, "lazyfree_lazy_expire", lazyfree_lazy_expire) + pulumi.set(__self__, "lua_time_limit", lua_time_limit) + pulumi.set(__self__, "max_disk_threshold", max_disk_threshold) + pulumi.set(__self__, "maxclients", maxclients) + pulumi.set(__self__, "maxmemory_policy", maxmemory_policy) + pulumi.set(__self__, "maxmemory_samples", maxmemory_samples) + pulumi.set(__self__, "metrics_frequency", metrics_frequency) + pulumi.set(__self__, "metrics_prefix", metrics_prefix) + pulumi.set(__self__, "min_replicas_max_lag", min_replicas_max_lag) + pulumi.set(__self__, "monitoring_instance_id", monitoring_instance_id) + pulumi.set(__self__, "notify_keyspace_events", notify_keyspace_events) + pulumi.set(__self__, "sgw_acl", sgw_acl) + pulumi.set(__self__, "snapshot", snapshot) + pulumi.set(__self__, "syslogs", syslogs) + pulumi.set(__self__, "tls_ciphers", tls_ciphers) + pulumi.set(__self__, "tls_ciphersuites", tls_ciphersuites) + pulumi.set(__self__, "tls_protocols", tls_protocols) @_builtins.property - @pulumi.getter(name="continue") - def continue_(self) -> _builtins.bool: + @pulumi.getter(name="downAfterMilliseconds") + def down_after_milliseconds(self) -> _builtins.int: """ - Whether an alert should continue matching subsequent sibling nodes. + The number of milliseconds after which the instance is considered down. """ - return pulumi.get(self, "continue_") + return pulumi.get(self, "down_after_milliseconds") @_builtins.property - @pulumi.getter(name="groupBies") - def group_bies(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="enableMonitoring") + def enable_monitoring(self) -> _builtins.bool: """ - The labels by which incoming alerts are grouped together. For example, multiple alerts coming in for cluster=A and alertname=LatencyHigh would be batched into a single group. To aggregate by all possible labels use the special value '...' as the sole label name, for example: group_by: ['...']. This effectively disables aggregation entirely, passing through all alerts as-is. This is unlikely to be what you want, unless you have a very low alert volume or your upstream notification system performs its own grouping. + Enable monitoring. """ - return pulumi.get(self, "group_bies") + return pulumi.get(self, "enable_monitoring") @_builtins.property - @pulumi.getter(name="groupInterval") - def group_interval(self) -> _builtins.str: + @pulumi.getter(name="failoverTimeout") + def failover_timeout(self) -> _builtins.int: """ - How long to wait before sending a notification about new alerts that are added to a group of alerts for which an initial notification has already been sent. (Usually ~5m or more.) + The failover timeout in milliseconds. """ - return pulumi.get(self, "group_interval") + return pulumi.get(self, "failover_timeout") @_builtins.property - @pulumi.getter(name="groupWait") - def group_wait(self) -> _builtins.str: + @pulumi.getter + def graphite(self) -> _builtins.str: """ - How long to initially wait to send a notification for a group of alerts. Allows to wait for an inhibiting alert to arrive or collect more initial alerts for the same group. (Usually ~0s to few minutes.) + Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. """ - return pulumi.get(self, "group_wait") + return pulumi.get(self, "graphite") @_builtins.property - @pulumi.getter - @_utilities.deprecated("""Use `matchers` in the `routes` instead.""") - def match(self) -> Mapping[str, _builtins.str]: + @pulumi.getter(name="lazyfreeLazyEviction") + def lazyfree_lazy_eviction(self) -> _builtins.str: """ - A set of equality matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead + The lazy eviction enablement (yes or no). """ - return pulumi.get(self, "match") + return pulumi.get(self, "lazyfree_lazy_eviction") @_builtins.property - @pulumi.getter(name="matchRegex") - @_utilities.deprecated("""Use `matchers` in the `routes` instead.""") - def match_regex(self) -> Mapping[str, _builtins.str]: + @pulumi.getter(name="lazyfreeLazyExpire") + def lazyfree_lazy_expire(self) -> _builtins.str: """ - A set of regex-matchers an alert has to fulfill to match the node. This field is deprecated and will be removed after 10th March 2026, use `matchers` in the `routes` instead + The lazy expire enablement (yes or no). """ - return pulumi.get(self, "match_regex") + return pulumi.get(self, "lazyfree_lazy_expire") @_builtins.property - @pulumi.getter - def matchers(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="luaTimeLimit") + def lua_time_limit(self) -> _builtins.int: """ - A list of matchers that an alert has to fulfill to match the node. A matcher is a string with a syntax inspired by PromQL and OpenMetrics. + The Lua time limit. """ - return pulumi.get(self, "matchers") + return pulumi.get(self, "lua_time_limit") + + @_builtins.property + @pulumi.getter(name="maxDiskThreshold") + def max_disk_threshold(self) -> _builtins.int: + """ + The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + """ + return pulumi.get(self, "max_disk_threshold") @_builtins.property @pulumi.getter - def receiver(self) -> _builtins.str: + def maxclients(self) -> _builtins.int: """ - The name of the receiver to route the alerts to. + The maximum number of clients. """ - return pulumi.get(self, "receiver") + return pulumi.get(self, "maxclients") @_builtins.property - @pulumi.getter(name="repeatInterval") - def repeat_interval(self) -> _builtins.str: + @pulumi.getter(name="maxmemoryPolicy") + def maxmemory_policy(self) -> _builtins.str: """ - How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). + The policy to handle the maximum memory (volatile-lru, noeviction, etc). """ - return pulumi.get(self, "repeat_interval") + return pulumi.get(self, "maxmemory_policy") + @_builtins.property + @pulumi.getter(name="maxmemorySamples") + def maxmemory_samples(self) -> _builtins.int: + """ + The maximum memory samples. + """ + return pulumi.get(self, "maxmemory_samples") -@pulumi.output_type -class GetObservabilityLogalertgroupRuleResult(dict): - def __init__(__self__, *, - alert: _builtins.str, - annotations: Mapping[str, _builtins.str], - expression: _builtins.str, - for_: _builtins.str, - labels: Mapping[str, _builtins.str]): + @_builtins.property + @pulumi.getter(name="metricsFrequency") + def metrics_frequency(self) -> _builtins.int: """ - :param _builtins.str alert: The name of the alert rule. Is the identifier and must be unique in the group. - :param Mapping[str, _builtins.str] annotations: A map of key:value. Annotations to add or overwrite for each alert - :param _builtins.str expression: The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. - :param _builtins.str for_: Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s - :param Mapping[str, _builtins.str] labels: A map of key:value. Labels to add or overwrite for each alert + The frequency in seconds at which metrics are emitted. """ - pulumi.set(__self__, "alert", alert) - pulumi.set(__self__, "annotations", annotations) - pulumi.set(__self__, "expression", expression) - pulumi.set(__self__, "for_", for_) - pulumi.set(__self__, "labels", labels) + return pulumi.get(self, "metrics_frequency") @_builtins.property - @pulumi.getter - def alert(self) -> _builtins.str: + @pulumi.getter(name="metricsPrefix") + def metrics_prefix(self) -> _builtins.str: """ - The name of the alert rule. Is the identifier and must be unique in the group. + The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key """ - return pulumi.get(self, "alert") + return pulumi.get(self, "metrics_prefix") @_builtins.property - @pulumi.getter - def annotations(self) -> Mapping[str, _builtins.str]: + @pulumi.getter(name="minReplicasMaxLag") + def min_replicas_max_lag(self) -> _builtins.int: """ - A map of key:value. Annotations to add or overwrite for each alert + The minimum replicas maximum lag. """ - return pulumi.get(self, "annotations") + return pulumi.get(self, "min_replicas_max_lag") @_builtins.property - @pulumi.getter - def expression(self) -> _builtins.str: + @pulumi.getter(name="monitoringInstanceId") + def monitoring_instance_id(self) -> _builtins.str: """ - The LogQL expression to evaluate. Every evaluation cycle this is evaluated at the current time, and all resultant time series become pending/firing alerts. + The ID of the STACKIT monitoring instance. """ - return pulumi.get(self, "expression") + return pulumi.get(self, "monitoring_instance_id") @_builtins.property - @pulumi.getter(name="for") - def for_(self) -> _builtins.str: + @pulumi.getter(name="notifyKeyspaceEvents") + def notify_keyspace_events(self) -> _builtins.str: """ - Alerts are considered firing once they have been returned for this long. Alerts which have not yet fired for long enough are considered pending. Default is 0s + The notify keyspace events. """ - return pulumi.get(self, "for_") + return pulumi.get(self, "notify_keyspace_events") @_builtins.property - @pulumi.getter - def labels(self) -> Mapping[str, _builtins.str]: + @pulumi.getter(name="sgwAcl") + def sgw_acl(self) -> _builtins.str: """ - A map of key:value. Labels to add or overwrite for each alert + Comma separated list of IP networks in CIDR notation which are allowed to access this instance. """ - return pulumi.get(self, "labels") - + return pulumi.get(self, "sgw_acl") -@pulumi.output_type -class GetObservabilityScrapeconfigBasicAuthResult(dict): - def __init__(__self__, *, - password: _builtins.str, - username: _builtins.str): + @_builtins.property + @pulumi.getter + def snapshot(self) -> _builtins.str: """ - :param _builtins.str password: Specifies basic auth password. - :param _builtins.str username: Specifies basic auth username. + The snapshot configuration. """ - pulumi.set(__self__, "password", password) - pulumi.set(__self__, "username", username) + return pulumi.get(self, "snapshot") @_builtins.property @pulumi.getter - def password(self) -> _builtins.str: + def syslogs(self) -> Sequence[_builtins.str]: """ - Specifies basic auth password. + List of syslog servers to send logs to. """ - return pulumi.get(self, "password") + return pulumi.get(self, "syslogs") @_builtins.property - @pulumi.getter - def username(self) -> _builtins.str: + @pulumi.getter(name="tlsCiphers") + def tls_ciphers(self) -> Sequence[_builtins.str]: """ - Specifies basic auth username. + List of TLS ciphers to use. """ - return pulumi.get(self, "username") - + return pulumi.get(self, "tls_ciphers") -@pulumi.output_type -class GetObservabilityScrapeconfigSaml2Result(dict): - def __init__(__self__, *, - enable_url_parameters: _builtins.bool): + @_builtins.property + @pulumi.getter(name="tlsCiphersuites") + def tls_ciphersuites(self) -> _builtins.str: """ - :param _builtins.bool enable_url_parameters: Specifies if URL parameters are enabled + TLS cipher suites to use. """ - pulumi.set(__self__, "enable_url_parameters", enable_url_parameters) + return pulumi.get(self, "tls_ciphersuites") @_builtins.property - @pulumi.getter(name="enableUrlParameters") - def enable_url_parameters(self) -> _builtins.bool: + @pulumi.getter(name="tlsProtocols") + def tls_protocols(self) -> _builtins.str: """ - Specifies if URL parameters are enabled + TLS protocol to use. """ - return pulumi.get(self, "enable_url_parameters") + return pulumi.get(self, "tls_protocols") @pulumi.output_type -class GetObservabilityScrapeconfigTargetResult(dict): +class GetRoutingTableRouteDestinationResult(dict): def __init__(__self__, *, - labels: Mapping[str, _builtins.str], - urls: Sequence[_builtins.str]): + type: _builtins.str, + value: _builtins.str): """ - :param Mapping[str, _builtins.str] labels: Specifies labels. - :param Sequence[_builtins.str] urls: Specifies target URLs. + :param _builtins.str type: CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. + :param _builtins.str value: An CIDR string. """ - pulumi.set(__self__, "labels", labels) - pulumi.set(__self__, "urls", urls) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) @_builtins.property @pulumi.getter - def labels(self) -> Mapping[str, _builtins.str]: + def type(self) -> _builtins.str: """ - Specifies labels. + CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. """ - return pulumi.get(self, "labels") + return pulumi.get(self, "type") @_builtins.property @pulumi.getter - def urls(self) -> Sequence[_builtins.str]: + def value(self) -> _builtins.str: """ - Specifies target URLs. + An CIDR string. """ - return pulumi.get(self, "urls") + return pulumi.get(self, "value") @pulumi.output_type -class GetOpensearchInstanceParametersResult(dict): +class GetRoutingTableRouteNextHopResult(dict): def __init__(__self__, *, - enable_monitoring: _builtins.bool, - graphite: _builtins.str, - java_garbage_collector: _builtins.str, - java_heapspace: _builtins.int, - java_maxmetaspace: _builtins.int, - max_disk_threshold: _builtins.int, - metrics_frequency: _builtins.int, - metrics_prefix: _builtins.str, - monitoring_instance_id: _builtins.str, - plugins: Sequence[_builtins.str], - sgw_acl: _builtins.str, - syslogs: Sequence[_builtins.str], - tls_ciphers: Sequence[_builtins.str], - tls_protocols: Sequence[_builtins.str]): + type: _builtins.str, + value: _builtins.str): """ - :param _builtins.bool enable_monitoring: Enable monitoring. - :param _builtins.str graphite: If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). - :param _builtins.str java_garbage_collector: The garbage collector to use for OpenSearch. - :param _builtins.int java_heapspace: The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. - :param _builtins.int java_maxmetaspace: The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. - :param _builtins.int max_disk_threshold: The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - :param _builtins.int metrics_frequency: The frequency in seconds at which metrics are emitted (in seconds). - :param _builtins.str metrics_prefix: The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. - :param _builtins.str monitoring_instance_id: The ID of the STACKIT monitoring instance. - :param Sequence[_builtins.str] plugins: List of plugins to install. Must be a supported plugin name. The plugins `repository-s3` and `repository-azure` are enabled by default and cannot be disabled. - :param _builtins.str sgw_acl: Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - :param Sequence[_builtins.str] syslogs: List of syslog servers to send logs to. - :param Sequence[_builtins.str] tls_ciphers: List of TLS ciphers to use. - :param Sequence[_builtins.str] tls_protocols: List of TLS protocols to use. + :param _builtins.str type: Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + :param _builtins.str value: Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. """ - pulumi.set(__self__, "enable_monitoring", enable_monitoring) - pulumi.set(__self__, "graphite", graphite) - pulumi.set(__self__, "java_garbage_collector", java_garbage_collector) - pulumi.set(__self__, "java_heapspace", java_heapspace) - pulumi.set(__self__, "java_maxmetaspace", java_maxmetaspace) - pulumi.set(__self__, "max_disk_threshold", max_disk_threshold) - pulumi.set(__self__, "metrics_frequency", metrics_frequency) - pulumi.set(__self__, "metrics_prefix", metrics_prefix) - pulumi.set(__self__, "monitoring_instance_id", monitoring_instance_id) - pulumi.set(__self__, "plugins", plugins) - pulumi.set(__self__, "sgw_acl", sgw_acl) - pulumi.set(__self__, "syslogs", syslogs) - pulumi.set(__self__, "tls_ciphers", tls_ciphers) - pulumi.set(__self__, "tls_protocols", tls_protocols) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) @_builtins.property - @pulumi.getter(name="enableMonitoring") - def enable_monitoring(self) -> _builtins.bool: + @pulumi.getter + def type(self) -> _builtins.str: """ - Enable monitoring. + Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. """ - return pulumi.get(self, "enable_monitoring") + return pulumi.get(self, "type") @_builtins.property @pulumi.getter - def graphite(self) -> _builtins.str: + def value(self) -> _builtins.str: """ - If set, monitoring with Graphite will be enabled. Expects the host and port where the Graphite metrics should be sent to (host:port). + Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. """ - return pulumi.get(self, "graphite") + return pulumi.get(self, "value") - @_builtins.property - @pulumi.getter(name="javaGarbageCollector") - def java_garbage_collector(self) -> _builtins.str: - """ - The garbage collector to use for OpenSearch. - """ - return pulumi.get(self, "java_garbage_collector") - @_builtins.property - @pulumi.getter(name="javaHeapspace") - def java_heapspace(self) -> _builtins.int: +@pulumi.output_type +class GetRoutingTableRoutesRouteResult(dict): + def __init__(__self__, *, + created_at: _builtins.str, + destination: 'outputs.GetRoutingTableRoutesRouteDestinationResult', + labels: Mapping[str, _builtins.str], + next_hop: 'outputs.GetRoutingTableRoutesRouteNextHopResult', + route_id: _builtins.str, + updated_at: _builtins.str): """ - The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. + :param _builtins.str created_at: Date-time when the route was created + :param 'GetRoutingTableRoutesRouteDestinationArgs' destination: Destination of the route. + :param Mapping[str, _builtins.str] labels: Labels are key-value string pairs which can be attached to a resource container + :param 'GetRoutingTableRoutesRouteNextHopArgs' next_hop: Next hop destination. + :param _builtins.str route_id: Route ID. + :param _builtins.str updated_at: Date-time when the route was updated """ - return pulumi.get(self, "java_heapspace") + pulumi.set(__self__, "created_at", created_at) + pulumi.set(__self__, "destination", destination) + pulumi.set(__self__, "labels", labels) + pulumi.set(__self__, "next_hop", next_hop) + pulumi.set(__self__, "route_id", route_id) + pulumi.set(__self__, "updated_at", updated_at) @_builtins.property - @pulumi.getter(name="javaMaxmetaspace") - def java_maxmetaspace(self) -> _builtins.int: + @pulumi.getter(name="createdAt") + def created_at(self) -> _builtins.str: """ - The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. + Date-time when the route was created """ - return pulumi.get(self, "java_maxmetaspace") + return pulumi.get(self, "created_at") @_builtins.property - @pulumi.getter(name="maxDiskThreshold") - def max_disk_threshold(self) -> _builtins.int: + @pulumi.getter + def destination(self) -> 'outputs.GetRoutingTableRoutesRouteDestinationResult': """ - The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + Destination of the route. """ - return pulumi.get(self, "max_disk_threshold") + return pulumi.get(self, "destination") @_builtins.property - @pulumi.getter(name="metricsFrequency") - def metrics_frequency(self) -> _builtins.int: + @pulumi.getter + def labels(self) -> Mapping[str, _builtins.str]: """ - The frequency in seconds at which metrics are emitted (in seconds). + Labels are key-value string pairs which can be attached to a resource container """ - return pulumi.get(self, "metrics_frequency") + return pulumi.get(self, "labels") @_builtins.property - @pulumi.getter(name="metricsPrefix") - def metrics_prefix(self) -> _builtins.str: + @pulumi.getter(name="nextHop") + def next_hop(self) -> 'outputs.GetRoutingTableRoutesRouteNextHopResult': """ - The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key. + Next hop destination. """ - return pulumi.get(self, "metrics_prefix") + return pulumi.get(self, "next_hop") @_builtins.property - @pulumi.getter(name="monitoringInstanceId") - def monitoring_instance_id(self) -> _builtins.str: + @pulumi.getter(name="routeId") + def route_id(self) -> _builtins.str: """ - The ID of the STACKIT monitoring instance. + Route ID. """ - return pulumi.get(self, "monitoring_instance_id") + return pulumi.get(self, "route_id") @_builtins.property - @pulumi.getter - def plugins(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="updatedAt") + def updated_at(self) -> _builtins.str: """ - List of plugins to install. Must be a supported plugin name. The plugins `repository-s3` and `repository-azure` are enabled by default and cannot be disabled. + Date-time when the route was updated """ - return pulumi.get(self, "plugins") + return pulumi.get(self, "updated_at") - @_builtins.property - @pulumi.getter(name="sgwAcl") - def sgw_acl(self) -> _builtins.str: - """ - Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - """ - return pulumi.get(self, "sgw_acl") - @_builtins.property - @pulumi.getter - def syslogs(self) -> Sequence[_builtins.str]: +@pulumi.output_type +class GetRoutingTableRoutesRouteDestinationResult(dict): + def __init__(__self__, *, + type: _builtins.str, + value: _builtins.str): """ - List of syslog servers to send logs to. + :param _builtins.str type: CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. + :param _builtins.str value: An CIDR string. """ - return pulumi.get(self, "syslogs") + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) @_builtins.property - @pulumi.getter(name="tlsCiphers") - def tls_ciphers(self) -> Sequence[_builtins.str]: + @pulumi.getter + def type(self) -> _builtins.str: """ - List of TLS ciphers to use. + CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. """ - return pulumi.get(self, "tls_ciphers") + return pulumi.get(self, "type") @_builtins.property - @pulumi.getter(name="tlsProtocols") - def tls_protocols(self) -> Sequence[_builtins.str]: + @pulumi.getter + def value(self) -> _builtins.str: """ - List of TLS protocols to use. + An CIDR string. """ - return pulumi.get(self, "tls_protocols") + return pulumi.get(self, "value") @pulumi.output_type -class GetPostgresflexInstanceFlavorResult(dict): +class GetRoutingTableRoutesRouteNextHopResult(dict): def __init__(__self__, *, - cpu: _builtins.int, - description: _builtins.str, - id: _builtins.str, - ram: _builtins.int): - pulumi.set(__self__, "cpu", cpu) - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "ram", ram) - - @_builtins.property - @pulumi.getter - def cpu(self) -> _builtins.int: - return pulumi.get(self, "cpu") - - @_builtins.property - @pulumi.getter - def description(self) -> _builtins.str: - return pulumi.get(self, "description") + type: _builtins.str, + value: _builtins.str): + """ + :param _builtins.str type: Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + :param _builtins.str value: Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. + """ + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) @_builtins.property @pulumi.getter - def id(self) -> _builtins.str: - return pulumi.get(self, "id") + def type(self) -> _builtins.str: + """ + Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + """ + return pulumi.get(self, "type") @_builtins.property @pulumi.getter - def ram(self) -> _builtins.int: - return pulumi.get(self, "ram") + def value(self) -> _builtins.str: + """ + Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. + """ + return pulumi.get(self, "value") @pulumi.output_type -class GetPostgresflexInstanceStorageResult(dict): +class GetRoutingTablesItemResult(dict): def __init__(__self__, *, - class_: _builtins.str, - size: _builtins.int): - pulumi.set(__self__, "class_", class_) - pulumi.set(__self__, "size", size) + created_at: _builtins.str, + default: _builtins.bool, + description: _builtins.str, + dynamic_routes: _builtins.bool, + labels: Mapping[str, _builtins.str], + name: _builtins.str, + routing_table_id: _builtins.str, + system_routes: _builtins.bool, + updated_at: _builtins.str): + """ + :param _builtins.str created_at: Date-time when the routing table was created + :param _builtins.bool default: When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise. + :param _builtins.str description: Description of the routing table. + :param _builtins.bool dynamic_routes: This controls whether dynamic routes are propagated to this routing table + :param Mapping[str, _builtins.str] labels: Labels are key-value string pairs which can be attached to a resource container + :param _builtins.str name: The name of the routing table. + :param _builtins.str routing_table_id: The routing tables ID. + :param _builtins.bool system_routes: This controls whether the routes for project-to-project communication are created automatically or not. + :param _builtins.str updated_at: Date-time when the routing table was updated + """ + pulumi.set(__self__, "created_at", created_at) + pulumi.set(__self__, "default", default) + pulumi.set(__self__, "description", description) + pulumi.set(__self__, "dynamic_routes", dynamic_routes) + pulumi.set(__self__, "labels", labels) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "routing_table_id", routing_table_id) + pulumi.set(__self__, "system_routes", system_routes) + pulumi.set(__self__, "updated_at", updated_at) @_builtins.property - @pulumi.getter(name="class") - def class_(self) -> _builtins.str: - return pulumi.get(self, "class_") + @pulumi.getter(name="createdAt") + def created_at(self) -> _builtins.str: + """ + Date-time when the routing table was created + """ + return pulumi.get(self, "created_at") @_builtins.property @pulumi.getter - def size(self) -> _builtins.int: - return pulumi.get(self, "size") - - -@pulumi.output_type -class GetPublicIpRangesPublicIpRangeResult(dict): - def __init__(__self__, *, - cidr: _builtins.str): + def default(self) -> _builtins.bool: """ - :param _builtins.str cidr: Classless Inter-Domain Routing (CIDR) + When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise. """ - pulumi.set(__self__, "cidr", cidr) + return pulumi.get(self, "default") @_builtins.property @pulumi.getter - def cidr(self) -> _builtins.str: + def description(self) -> _builtins.str: """ - Classless Inter-Domain Routing (CIDR) + Description of the routing table. """ - return pulumi.get(self, "cidr") - + return pulumi.get(self, "description") -@pulumi.output_type -class GetRabbitmqInstanceParametersResult(dict): - def __init__(__self__, *, - consumer_timeout: _builtins.int, - enable_monitoring: _builtins.bool, - graphite: _builtins.str, - max_disk_threshold: _builtins.int, - metrics_frequency: _builtins.int, - metrics_prefix: _builtins.str, - monitoring_instance_id: _builtins.str, - plugins: Sequence[_builtins.str], - roles: Sequence[_builtins.str], - sgw_acl: _builtins.str, - syslogs: Sequence[_builtins.str], - tls_ciphers: Sequence[_builtins.str], - tls_protocols: Sequence[_builtins.str]): + @_builtins.property + @pulumi.getter(name="dynamicRoutes") + def dynamic_routes(self) -> _builtins.bool: """ - :param _builtins.int consumer_timeout: The timeout in milliseconds for the consumer. - :param _builtins.bool enable_monitoring: Enable monitoring. - :param _builtins.str graphite: Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. - :param _builtins.int max_disk_threshold: The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - :param _builtins.int metrics_frequency: The frequency in seconds at which metrics are emitted. - :param _builtins.str metrics_prefix: The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key - :param _builtins.str monitoring_instance_id: The ID of the STACKIT monitoring instance. - :param Sequence[_builtins.str] plugins: List of plugins to install. Must be a supported plugin name. - :param Sequence[_builtins.str] roles: List of roles to assign to the instance. - :param _builtins.str sgw_acl: Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - :param Sequence[_builtins.str] syslogs: List of syslog servers to send logs to. - :param Sequence[_builtins.str] tls_ciphers: List of TLS ciphers to use. - :param Sequence[_builtins.str] tls_protocols: TLS protocol versions to use. + This controls whether dynamic routes are propagated to this routing table """ - pulumi.set(__self__, "consumer_timeout", consumer_timeout) - pulumi.set(__self__, "enable_monitoring", enable_monitoring) - pulumi.set(__self__, "graphite", graphite) - pulumi.set(__self__, "max_disk_threshold", max_disk_threshold) - pulumi.set(__self__, "metrics_frequency", metrics_frequency) - pulumi.set(__self__, "metrics_prefix", metrics_prefix) - pulumi.set(__self__, "monitoring_instance_id", monitoring_instance_id) - pulumi.set(__self__, "plugins", plugins) - pulumi.set(__self__, "roles", roles) - pulumi.set(__self__, "sgw_acl", sgw_acl) - pulumi.set(__self__, "syslogs", syslogs) - pulumi.set(__self__, "tls_ciphers", tls_ciphers) - pulumi.set(__self__, "tls_protocols", tls_protocols) + return pulumi.get(self, "dynamic_routes") @_builtins.property - @pulumi.getter(name="consumerTimeout") - def consumer_timeout(self) -> _builtins.int: + @pulumi.getter + def labels(self) -> Mapping[str, _builtins.str]: """ - The timeout in milliseconds for the consumer. + Labels are key-value string pairs which can be attached to a resource container """ - return pulumi.get(self, "consumer_timeout") + return pulumi.get(self, "labels") @_builtins.property - @pulumi.getter(name="enableMonitoring") - def enable_monitoring(self) -> _builtins.bool: + @pulumi.getter + def name(self) -> _builtins.str: """ - Enable monitoring. + The name of the routing table. """ - return pulumi.get(self, "enable_monitoring") + return pulumi.get(self, "name") @_builtins.property - @pulumi.getter - def graphite(self) -> _builtins.str: + @pulumi.getter(name="routingTableId") + def routing_table_id(self) -> _builtins.str: """ - Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. + The routing tables ID. """ - return pulumi.get(self, "graphite") + return pulumi.get(self, "routing_table_id") @_builtins.property - @pulumi.getter(name="maxDiskThreshold") - def max_disk_threshold(self) -> _builtins.int: + @pulumi.getter(name="systemRoutes") + def system_routes(self) -> _builtins.bool: """ - The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + This controls whether the routes for project-to-project communication are created automatically or not. """ - return pulumi.get(self, "max_disk_threshold") + return pulumi.get(self, "system_routes") @_builtins.property - @pulumi.getter(name="metricsFrequency") - def metrics_frequency(self) -> _builtins.int: + @pulumi.getter(name="updatedAt") + def updated_at(self) -> _builtins.str: """ - The frequency in seconds at which metrics are emitted. + Date-time when the routing table was updated """ - return pulumi.get(self, "metrics_frequency") + return pulumi.get(self, "updated_at") - @_builtins.property - @pulumi.getter(name="metricsPrefix") - def metrics_prefix(self) -> _builtins.str: + +@pulumi.output_type +class GetSecretsmanagerInstanceKmsKeyResult(dict): + def __init__(__self__, *, + key_id: _builtins.str, + key_ring_id: _builtins.str, + key_version: _builtins.int, + service_account_email: _builtins.str): """ - The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key + :param _builtins.str key_id: UUID of the key within the STACKIT-KMS to use for the encryption. + :param _builtins.str key_ring_id: UUID of the keyring where the key is located within the STACKTI-KMS. + :param _builtins.int key_version: Version of the key within the STACKIT-KMS to use for the encryption. + :param _builtins.str service_account_email: Service-Account linked to the Key within the STACKIT-KMS. """ - return pulumi.get(self, "metrics_prefix") + pulumi.set(__self__, "key_id", key_id) + pulumi.set(__self__, "key_ring_id", key_ring_id) + pulumi.set(__self__, "key_version", key_version) + pulumi.set(__self__, "service_account_email", service_account_email) @_builtins.property - @pulumi.getter(name="monitoringInstanceId") - def monitoring_instance_id(self) -> _builtins.str: + @pulumi.getter(name="keyId") + def key_id(self) -> _builtins.str: """ - The ID of the STACKIT monitoring instance. + UUID of the key within the STACKIT-KMS to use for the encryption. """ - return pulumi.get(self, "monitoring_instance_id") + return pulumi.get(self, "key_id") @_builtins.property - @pulumi.getter - def plugins(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="keyRingId") + def key_ring_id(self) -> _builtins.str: """ - List of plugins to install. Must be a supported plugin name. + UUID of the keyring where the key is located within the STACKTI-KMS. """ - return pulumi.get(self, "plugins") + return pulumi.get(self, "key_ring_id") @_builtins.property - @pulumi.getter - def roles(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="keyVersion") + def key_version(self) -> _builtins.int: """ - List of roles to assign to the instance. + Version of the key within the STACKIT-KMS to use for the encryption. """ - return pulumi.get(self, "roles") + return pulumi.get(self, "key_version") @_builtins.property - @pulumi.getter(name="sgwAcl") - def sgw_acl(self) -> _builtins.str: + @pulumi.getter(name="serviceAccountEmail") + def service_account_email(self) -> _builtins.str: """ - Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + Service-Account linked to the Key within the STACKIT-KMS. """ - return pulumi.get(self, "sgw_acl") + return pulumi.get(self, "service_account_email") - @_builtins.property - @pulumi.getter - def syslogs(self) -> Sequence[_builtins.str]: + +@pulumi.output_type +class GetSecretsmanagerInstanceRoleBindingsV1RoleBindingResult(dict): + def __init__(__self__, *, + role: _builtins.str, + subject: _builtins.str): """ - List of syslog servers to send logs to. + :param _builtins.str role: A valid role defined for the resource. + :param _builtins.str subject: Identifier of user, service account or client. Usually email address or name in case of clients. """ - return pulumi.get(self, "syslogs") + pulumi.set(__self__, "role", role) + pulumi.set(__self__, "subject", subject) @_builtins.property - @pulumi.getter(name="tlsCiphers") - def tls_ciphers(self) -> Sequence[_builtins.str]: + @pulumi.getter + def role(self) -> _builtins.str: """ - List of TLS ciphers to use. + A valid role defined for the resource. """ - return pulumi.get(self, "tls_ciphers") + return pulumi.get(self, "role") @_builtins.property - @pulumi.getter(name="tlsProtocols") - def tls_protocols(self) -> Sequence[_builtins.str]: + @pulumi.getter + def subject(self) -> _builtins.str: """ - TLS protocol versions to use. + Identifier of user, service account or client. Usually email address or name in case of clients. """ - return pulumi.get(self, "tls_protocols") + return pulumi.get(self, "subject") @pulumi.output_type -class GetRedisInstanceParametersResult(dict): +class GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingResult(dict): def __init__(__self__, *, - down_after_milliseconds: _builtins.int, - enable_monitoring: _builtins.bool, - failover_timeout: _builtins.int, - graphite: _builtins.str, - lazyfree_lazy_eviction: _builtins.str, - lazyfree_lazy_expire: _builtins.str, - lua_time_limit: _builtins.int, - max_disk_threshold: _builtins.int, - maxclients: _builtins.int, - maxmemory_policy: _builtins.str, - maxmemory_samples: _builtins.int, - metrics_frequency: _builtins.int, - metrics_prefix: _builtins.str, - min_replicas_max_lag: _builtins.int, - monitoring_instance_id: _builtins.str, - notify_keyspace_events: _builtins.str, - sgw_acl: _builtins.str, - snapshot: _builtins.str, - syslogs: Sequence[_builtins.str], - tls_ciphers: Sequence[_builtins.str], - tls_ciphersuites: _builtins.str, - tls_protocols: _builtins.str): + role: _builtins.str, + subject: _builtins.str): """ - :param _builtins.int down_after_milliseconds: The number of milliseconds after which the instance is considered down. - :param _builtins.bool enable_monitoring: Enable monitoring. - :param _builtins.int failover_timeout: The failover timeout in milliseconds. - :param _builtins.str graphite: Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. - :param _builtins.str lazyfree_lazy_eviction: The lazy eviction enablement (yes or no). - :param _builtins.str lazyfree_lazy_expire: The lazy expire enablement (yes or no). - :param _builtins.int lua_time_limit: The Lua time limit. - :param _builtins.int max_disk_threshold: The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - :param _builtins.int maxclients: The maximum number of clients. - :param _builtins.str maxmemory_policy: The policy to handle the maximum memory (volatile-lru, noeviction, etc). - :param _builtins.int maxmemory_samples: The maximum memory samples. - :param _builtins.int metrics_frequency: The frequency in seconds at which metrics are emitted. - :param _builtins.str metrics_prefix: The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key - :param _builtins.int min_replicas_max_lag: The minimum replicas maximum lag. - :param _builtins.str monitoring_instance_id: The ID of the STACKIT monitoring instance. - :param _builtins.str notify_keyspace_events: The notify keyspace events. - :param _builtins.str sgw_acl: Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - :param _builtins.str snapshot: The snapshot configuration. - :param Sequence[_builtins.str] syslogs: List of syslog servers to send logs to. - :param Sequence[_builtins.str] tls_ciphers: List of TLS ciphers to use. - :param _builtins.str tls_ciphersuites: TLS cipher suites to use. - :param _builtins.str tls_protocols: TLS protocol to use. + :param _builtins.str role: A valid role defined for the resource. + :param _builtins.str subject: Identifier of user, service account or client. Usually email address or name in case of clients. """ - pulumi.set(__self__, "down_after_milliseconds", down_after_milliseconds) - pulumi.set(__self__, "enable_monitoring", enable_monitoring) - pulumi.set(__self__, "failover_timeout", failover_timeout) - pulumi.set(__self__, "graphite", graphite) - pulumi.set(__self__, "lazyfree_lazy_eviction", lazyfree_lazy_eviction) - pulumi.set(__self__, "lazyfree_lazy_expire", lazyfree_lazy_expire) - pulumi.set(__self__, "lua_time_limit", lua_time_limit) - pulumi.set(__self__, "max_disk_threshold", max_disk_threshold) - pulumi.set(__self__, "maxclients", maxclients) - pulumi.set(__self__, "maxmemory_policy", maxmemory_policy) - pulumi.set(__self__, "maxmemory_samples", maxmemory_samples) - pulumi.set(__self__, "metrics_frequency", metrics_frequency) - pulumi.set(__self__, "metrics_prefix", metrics_prefix) - pulumi.set(__self__, "min_replicas_max_lag", min_replicas_max_lag) - pulumi.set(__self__, "monitoring_instance_id", monitoring_instance_id) - pulumi.set(__self__, "notify_keyspace_events", notify_keyspace_events) - pulumi.set(__self__, "sgw_acl", sgw_acl) - pulumi.set(__self__, "snapshot", snapshot) - pulumi.set(__self__, "syslogs", syslogs) - pulumi.set(__self__, "tls_ciphers", tls_ciphers) - pulumi.set(__self__, "tls_ciphersuites", tls_ciphersuites) - pulumi.set(__self__, "tls_protocols", tls_protocols) + pulumi.set(__self__, "role", role) + pulumi.set(__self__, "subject", subject) @_builtins.property - @pulumi.getter(name="downAfterMilliseconds") - def down_after_milliseconds(self) -> _builtins.int: + @pulumi.getter + def role(self) -> _builtins.str: """ - The number of milliseconds after which the instance is considered down. + A valid role defined for the resource. """ - return pulumi.get(self, "down_after_milliseconds") + return pulumi.get(self, "role") @_builtins.property - @pulumi.getter(name="enableMonitoring") - def enable_monitoring(self) -> _builtins.bool: + @pulumi.getter + def subject(self) -> _builtins.str: """ - Enable monitoring. + Identifier of user, service account or client. Usually email address or name in case of clients. """ - return pulumi.get(self, "enable_monitoring") + return pulumi.get(self, "subject") - @_builtins.property - @pulumi.getter(name="failoverTimeout") - def failover_timeout(self) -> _builtins.int: + +@pulumi.output_type +class GetSecurityGroupRuleIcmpParametersResult(dict): + def __init__(__self__, *, + code: _builtins.int, + type: _builtins.int): """ - The failover timeout in milliseconds. + :param _builtins.int code: ICMP code. Can be set if the protocol is ICMP. + :param _builtins.int type: ICMP type. Can be set if the protocol is ICMP. """ - return pulumi.get(self, "failover_timeout") + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "type", type) @_builtins.property @pulumi.getter - def graphite(self) -> _builtins.str: + def code(self) -> _builtins.int: """ - Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. + ICMP code. Can be set if the protocol is ICMP. """ - return pulumi.get(self, "graphite") + return pulumi.get(self, "code") @_builtins.property - @pulumi.getter(name="lazyfreeLazyEviction") - def lazyfree_lazy_eviction(self) -> _builtins.str: + @pulumi.getter + def type(self) -> _builtins.int: """ - The lazy eviction enablement (yes or no). + ICMP type. Can be set if the protocol is ICMP. """ - return pulumi.get(self, "lazyfree_lazy_eviction") + return pulumi.get(self, "type") - @_builtins.property - @pulumi.getter(name="lazyfreeLazyExpire") - def lazyfree_lazy_expire(self) -> _builtins.str: - """ - The lazy expire enablement (yes or no). - """ - return pulumi.get(self, "lazyfree_lazy_expire") - @_builtins.property - @pulumi.getter(name="luaTimeLimit") - def lua_time_limit(self) -> _builtins.int: +@pulumi.output_type +class GetSecurityGroupRulePortRangeResult(dict): + def __init__(__self__, *, + max: _builtins.int, + min: _builtins.int): """ - The Lua time limit. + :param _builtins.int max: The maximum port number. Should be greater or equal to the minimum. + :param _builtins.int min: The minimum port number. Should be less or equal to the minimum. """ - return pulumi.get(self, "lua_time_limit") + pulumi.set(__self__, "max", max) + pulumi.set(__self__, "min", min) @_builtins.property - @pulumi.getter(name="maxDiskThreshold") - def max_disk_threshold(self) -> _builtins.int: + @pulumi.getter + def max(self) -> _builtins.int: """ - The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + The maximum port number. Should be greater or equal to the minimum. """ - return pulumi.get(self, "max_disk_threshold") + return pulumi.get(self, "max") @_builtins.property @pulumi.getter - def maxclients(self) -> _builtins.int: + def min(self) -> _builtins.int: """ - The maximum number of clients. + The minimum port number. Should be less or equal to the minimum. """ - return pulumi.get(self, "maxclients") + return pulumi.get(self, "min") - @_builtins.property - @pulumi.getter(name="maxmemoryPolicy") - def maxmemory_policy(self) -> _builtins.str: + +@pulumi.output_type +class GetSecurityGroupRuleProtocolResult(dict): + def __init__(__self__, *, + name: _builtins.str, + number: _builtins.int): """ - The policy to handle the maximum memory (volatile-lru, noeviction, etc). + :param _builtins.str name: The protocol name which the rule should match. + :param _builtins.int number: The protocol number which the rule should match. """ - return pulumi.get(self, "maxmemory_policy") + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "number", number) @_builtins.property - @pulumi.getter(name="maxmemorySamples") - def maxmemory_samples(self) -> _builtins.int: + @pulumi.getter + def name(self) -> _builtins.str: """ - The maximum memory samples. + The protocol name which the rule should match. """ - return pulumi.get(self, "maxmemory_samples") + return pulumi.get(self, "name") @_builtins.property - @pulumi.getter(name="metricsFrequency") - def metrics_frequency(self) -> _builtins.int: + @pulumi.getter + def number(self) -> _builtins.int: """ - The frequency in seconds at which metrics are emitted. + The protocol number which the rule should match. """ - return pulumi.get(self, "metrics_frequency") + return pulumi.get(self, "number") - @_builtins.property - @pulumi.getter(name="metricsPrefix") - def metrics_prefix(self) -> _builtins.str: + +@pulumi.output_type +class GetServerAgentResult(dict): + def __init__(__self__, *, + provisioned: _builtins.bool): """ - The prefix for the metrics. Could be useful when using Graphite monitoring to prefix the metrics with a certain value, like an API key + :param _builtins.bool provisioned: Whether a STACKIT Server Agent is provisioned at the server """ - return pulumi.get(self, "metrics_prefix") + pulumi.set(__self__, "provisioned", provisioned) @_builtins.property - @pulumi.getter(name="minReplicasMaxLag") - def min_replicas_max_lag(self) -> _builtins.int: + @pulumi.getter + def provisioned(self) -> _builtins.bool: """ - The minimum replicas maximum lag. + Whether a STACKIT Server Agent is provisioned at the server """ - return pulumi.get(self, "min_replicas_max_lag") + return pulumi.get(self, "provisioned") + + +@pulumi.output_type +class GetServerBackupScheduleBackupPropertiesResult(dict): + def __init__(__self__, *, + name: _builtins.str, + retention_period: _builtins.int, + volume_ids: Sequence[_builtins.str]): + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "retention_period", retention_period) + pulumi.set(__self__, "volume_ids", volume_ids) @_builtins.property - @pulumi.getter(name="monitoringInstanceId") - def monitoring_instance_id(self) -> _builtins.str: - """ - The ID of the STACKIT monitoring instance. - """ - return pulumi.get(self, "monitoring_instance_id") + @pulumi.getter + def name(self) -> _builtins.str: + return pulumi.get(self, "name") @_builtins.property - @pulumi.getter(name="notifyKeyspaceEvents") - def notify_keyspace_events(self) -> _builtins.str: - """ - The notify keyspace events. - """ - return pulumi.get(self, "notify_keyspace_events") + @pulumi.getter(name="retentionPeriod") + def retention_period(self) -> _builtins.int: + return pulumi.get(self, "retention_period") @_builtins.property - @pulumi.getter(name="sgwAcl") - def sgw_acl(self) -> _builtins.str: + @pulumi.getter(name="volumeIds") + def volume_ids(self) -> Sequence[_builtins.str]: + return pulumi.get(self, "volume_ids") + + +@pulumi.output_type +class GetServerBackupSchedulesItemResult(dict): + def __init__(__self__, *, + backup_properties: 'outputs.GetServerBackupSchedulesItemBackupPropertiesResult', + backup_schedule_id: _builtins.int, + enabled: _builtins.bool, + name: _builtins.str, + rrule: _builtins.str): """ - Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + :param 'GetServerBackupSchedulesItemBackupPropertiesArgs' backup_properties: Backup schedule details for the backups. + :param _builtins.bool enabled: Is the backup schedule enabled or disabled. + :param _builtins.str name: The backup schedule name. + :param _builtins.str rrule: An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. """ - return pulumi.get(self, "sgw_acl") + pulumi.set(__self__, "backup_properties", backup_properties) + pulumi.set(__self__, "backup_schedule_id", backup_schedule_id) + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "rrule", rrule) @_builtins.property - @pulumi.getter - def snapshot(self) -> _builtins.str: + @pulumi.getter(name="backupProperties") + def backup_properties(self) -> 'outputs.GetServerBackupSchedulesItemBackupPropertiesResult': """ - The snapshot configuration. + Backup schedule details for the backups. """ - return pulumi.get(self, "snapshot") + return pulumi.get(self, "backup_properties") @_builtins.property - @pulumi.getter - def syslogs(self) -> Sequence[_builtins.str]: - """ - List of syslog servers to send logs to. - """ - return pulumi.get(self, "syslogs") + @pulumi.getter(name="backupScheduleId") + def backup_schedule_id(self) -> _builtins.int: + return pulumi.get(self, "backup_schedule_id") @_builtins.property - @pulumi.getter(name="tlsCiphers") - def tls_ciphers(self) -> Sequence[_builtins.str]: + @pulumi.getter + def enabled(self) -> _builtins.bool: """ - List of TLS ciphers to use. + Is the backup schedule enabled or disabled. """ - return pulumi.get(self, "tls_ciphers") + return pulumi.get(self, "enabled") @_builtins.property - @pulumi.getter(name="tlsCiphersuites") - def tls_ciphersuites(self) -> _builtins.str: + @pulumi.getter + def name(self) -> _builtins.str: """ - TLS cipher suites to use. + The backup schedule name. """ - return pulumi.get(self, "tls_ciphersuites") + return pulumi.get(self, "name") @_builtins.property - @pulumi.getter(name="tlsProtocols") - def tls_protocols(self) -> _builtins.str: + @pulumi.getter + def rrule(self) -> _builtins.str: """ - TLS protocol to use. + An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. """ - return pulumi.get(self, "tls_protocols") + return pulumi.get(self, "rrule") @pulumi.output_type -class GetRoutingTableRouteDestinationResult(dict): +class GetServerBackupSchedulesItemBackupPropertiesResult(dict): def __init__(__self__, *, - type: _builtins.str, - value: _builtins.str): - """ - :param _builtins.str type: CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. - :param _builtins.str value: An CIDR string. - """ - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "value", value) + name: _builtins.str, + retention_period: _builtins.int, + volume_ids: Sequence[_builtins.str]): + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "retention_period", retention_period) + pulumi.set(__self__, "volume_ids", volume_ids) @_builtins.property @pulumi.getter - def type(self) -> _builtins.str: - """ - CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. - """ - return pulumi.get(self, "type") + def name(self) -> _builtins.str: + return pulumi.get(self, "name") @_builtins.property - @pulumi.getter - def value(self) -> _builtins.str: - """ - An CIDR string. - """ - return pulumi.get(self, "value") + @pulumi.getter(name="retentionPeriod") + def retention_period(self) -> _builtins.int: + return pulumi.get(self, "retention_period") + + @_builtins.property + @pulumi.getter(name="volumeIds") + def volume_ids(self) -> Sequence[_builtins.str]: + return pulumi.get(self, "volume_ids") @pulumi.output_type -class GetRoutingTableRouteNextHopResult(dict): +class GetServerBootVolumeResult(dict): def __init__(__self__, *, - type: _builtins.str, - value: _builtins.str): + delete_on_termination: _builtins.bool, + id: _builtins.str): """ - :param _builtins.str type: Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. - :param _builtins.str value: Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. + :param _builtins.bool delete_on_termination: Delete the volume during the termination of the server. + :param _builtins.str id: The ID of the boot volume """ - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "value", value) + pulumi.set(__self__, "delete_on_termination", delete_on_termination) + pulumi.set(__self__, "id", id) @_builtins.property - @pulumi.getter - def type(self) -> _builtins.str: + @pulumi.getter(name="deleteOnTermination") + def delete_on_termination(self) -> _builtins.bool: """ - Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + Delete the volume during the termination of the server. """ - return pulumi.get(self, "type") + return pulumi.get(self, "delete_on_termination") @_builtins.property @pulumi.getter - def value(self) -> _builtins.str: + def id(self) -> _builtins.str: """ - Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. + The ID of the boot volume """ - return pulumi.get(self, "value") + return pulumi.get(self, "id") @pulumi.output_type -class GetRoutingTableRoutesRouteResult(dict): +class GetServerUpdateSchedulesItemResult(dict): def __init__(__self__, *, - created_at: _builtins.str, - destination: 'outputs.GetRoutingTableRoutesRouteDestinationResult', - labels: Mapping[str, _builtins.str], - next_hop: 'outputs.GetRoutingTableRoutesRouteNextHopResult', - route_id: _builtins.str, - updated_at: _builtins.str): - """ - :param _builtins.str created_at: Date-time when the route was created - :param 'GetRoutingTableRoutesRouteDestinationArgs' destination: Destination of the route. - :param Mapping[str, _builtins.str] labels: Labels are key-value string pairs which can be attached to a resource container - :param 'GetRoutingTableRoutesRouteNextHopArgs' next_hop: Next hop destination. - :param _builtins.str route_id: Route ID. - :param _builtins.str updated_at: Date-time when the route was updated - """ - pulumi.set(__self__, "created_at", created_at) - pulumi.set(__self__, "destination", destination) - pulumi.set(__self__, "labels", labels) - pulumi.set(__self__, "next_hop", next_hop) - pulumi.set(__self__, "route_id", route_id) - pulumi.set(__self__, "updated_at", updated_at) - - @_builtins.property - @pulumi.getter(name="createdAt") - def created_at(self) -> _builtins.str: + enabled: _builtins.bool, + maintenance_window: _builtins.int, + name: _builtins.str, + rrule: _builtins.str, + update_schedule_id: _builtins.int): """ - Date-time when the route was created + :param _builtins.bool enabled: Is the update schedule enabled or disabled. + :param _builtins.int maintenance_window: Maintenance window [1..24]. Updates start within the defined hourly window. Depending on the updates, the process may exceed this timeframe and require an automatic restart. + :param _builtins.str name: The update schedule name. + :param _builtins.str rrule: An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. """ - return pulumi.get(self, "created_at") + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "maintenance_window", maintenance_window) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "rrule", rrule) + pulumi.set(__self__, "update_schedule_id", update_schedule_id) @_builtins.property @pulumi.getter - def destination(self) -> 'outputs.GetRoutingTableRoutesRouteDestinationResult': + def enabled(self) -> _builtins.bool: """ - Destination of the route. + Is the update schedule enabled or disabled. """ - return pulumi.get(self, "destination") + return pulumi.get(self, "enabled") @_builtins.property - @pulumi.getter - def labels(self) -> Mapping[str, _builtins.str]: + @pulumi.getter(name="maintenanceWindow") + def maintenance_window(self) -> _builtins.int: """ - Labels are key-value string pairs which can be attached to a resource container + Maintenance window [1..24]. Updates start within the defined hourly window. Depending on the updates, the process may exceed this timeframe and require an automatic restart. """ - return pulumi.get(self, "labels") + return pulumi.get(self, "maintenance_window") @_builtins.property - @pulumi.getter(name="nextHop") - def next_hop(self) -> 'outputs.GetRoutingTableRoutesRouteNextHopResult': + @pulumi.getter + def name(self) -> _builtins.str: """ - Next hop destination. + The update schedule name. """ - return pulumi.get(self, "next_hop") + return pulumi.get(self, "name") @_builtins.property - @pulumi.getter(name="routeId") - def route_id(self) -> _builtins.str: + @pulumi.getter + def rrule(self) -> _builtins.str: """ - Route ID. + An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. """ - return pulumi.get(self, "route_id") + return pulumi.get(self, "rrule") @_builtins.property - @pulumi.getter(name="updatedAt") - def updated_at(self) -> _builtins.str: - """ - Date-time when the route was updated - """ - return pulumi.get(self, "updated_at") + @pulumi.getter(name="updateScheduleId") + def update_schedule_id(self) -> _builtins.int: + return pulumi.get(self, "update_schedule_id") @pulumi.output_type -class GetRoutingTableRoutesRouteDestinationResult(dict): +class GetServiceAccountFederatedIdentityProviderAssertionResult(dict): def __init__(__self__, *, - type: _builtins.str, + item: _builtins.str, + operator: _builtins.str, value: _builtins.str): """ - :param _builtins.str type: CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. - :param _builtins.str value: An CIDR string. + :param _builtins.str item: The assertion claim. At least one assertion with the claim "aud" is required for security reasons. + :param _builtins.str operator: The assertion operator. Currently, the only supported operator is "equals". + :param _builtins.str value: The assertion value. """ - pulumi.set(__self__, "type", type) + pulumi.set(__self__, "item", item) + pulumi.set(__self__, "operator", operator) pulumi.set(__self__, "value", value) @_builtins.property @pulumi.getter - def type(self) -> _builtins.str: + def item(self) -> _builtins.str: """ - CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. + The assertion claim. At least one assertion with the claim "aud" is required for security reasons. + """ + return pulumi.get(self, "item") + + @_builtins.property + @pulumi.getter + def operator(self) -> _builtins.str: + """ + The assertion operator. Currently, the only supported operator is "equals". """ - return pulumi.get(self, "type") + return pulumi.get(self, "operator") @_builtins.property @pulumi.getter def value(self) -> _builtins.str: """ - An CIDR string. + The assertion value. """ return pulumi.get(self, "value") @pulumi.output_type -class GetRoutingTableRoutesRouteNextHopResult(dict): +class GetServiceAccountsItemResult(dict): def __init__(__self__, *, - type: _builtins.str, - value: _builtins.str): + email: _builtins.str, + name: _builtins.str, + service_account_id: _builtins.str): """ - :param _builtins.str type: Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. - :param _builtins.str value: Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. + :param _builtins.str email: Email of the service account. + :param _builtins.str name: Name of the service account. + :param _builtins.str service_account_id: The internal UUID of the service account. """ - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "value", value) + pulumi.set(__self__, "email", email) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "service_account_id", service_account_id) @_builtins.property @pulumi.getter - def type(self) -> _builtins.str: + def email(self) -> _builtins.str: """ - Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + Email of the service account. """ - return pulumi.get(self, "type") + return pulumi.get(self, "email") @_builtins.property @pulumi.getter - def value(self) -> _builtins.str: + def name(self) -> _builtins.str: """ - Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. + Name of the service account. """ - return pulumi.get(self, "value") + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="serviceAccountId") + def service_account_id(self) -> _builtins.str: + """ + The internal UUID of the service account. + """ + return pulumi.get(self, "service_account_id") @pulumi.output_type -class GetRoutingTablesItemResult(dict): +class GetSfsExportPolicyRuleResult(dict): def __init__(__self__, *, - created_at: _builtins.str, - default: _builtins.bool, - description: _builtins.str, - dynamic_routes: _builtins.bool, - labels: Mapping[str, _builtins.str], - name: _builtins.str, - routing_table_id: _builtins.str, - system_routes: _builtins.bool, - updated_at: _builtins.str): + ip_acls: Sequence[_builtins.str], + order: _builtins.int, + read_only: _builtins.bool, + set_uuid: _builtins.bool, + super_user: _builtins.bool, + description: Optional[_builtins.str] = None): """ - :param _builtins.str created_at: Date-time when the routing table was created - :param _builtins.bool default: When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise. - :param _builtins.str description: Description of the routing table. - :param _builtins.bool dynamic_routes: This controls whether dynamic routes are propagated to this routing table - :param Mapping[str, _builtins.str] labels: Labels are key-value string pairs which can be attached to a resource container - :param _builtins.str name: The name of the routing table. - :param _builtins.str routing_table_id: The routing tables ID. - :param _builtins.bool system_routes: This controls whether the routes for project-to-project communication are created automatically or not. - :param _builtins.str updated_at: Date-time when the routing table was updated + :param Sequence[_builtins.str] ip_acls: IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + :param _builtins.int order: Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + :param _builtins.bool read_only: Flag to indicate if client IPs matching this rule can only mount the share in read only mode + :param _builtins.bool set_uuid: Flag to honor set UUID + :param _builtins.bool super_user: Flag to indicate if client IPs matching this rule have root access on the Share + :param _builtins.str description: Description of the Rule """ - pulumi.set(__self__, "created_at", created_at) - pulumi.set(__self__, "default", default) - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "dynamic_routes", dynamic_routes) - pulumi.set(__self__, "labels", labels) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "routing_table_id", routing_table_id) - pulumi.set(__self__, "system_routes", system_routes) - pulumi.set(__self__, "updated_at", updated_at) + pulumi.set(__self__, "ip_acls", ip_acls) + pulumi.set(__self__, "order", order) + pulumi.set(__self__, "read_only", read_only) + pulumi.set(__self__, "set_uuid", set_uuid) + pulumi.set(__self__, "super_user", super_user) + if description is not None: + pulumi.set(__self__, "description", description) @_builtins.property - @pulumi.getter(name="createdAt") - def created_at(self) -> _builtins.str: + @pulumi.getter(name="ipAcls") + def ip_acls(self) -> Sequence[_builtins.str]: """ - Date-time when the routing table was created + IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). """ - return pulumi.get(self, "created_at") + return pulumi.get(self, "ip_acls") @_builtins.property @pulumi.getter - def default(self) -> _builtins.bool: + def order(self) -> _builtins.int: """ - When true this is the default routing table for this network area. It can't be deleted and is used if the user does not specify it otherwise. + Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied """ - return pulumi.get(self, "default") + return pulumi.get(self, "order") @_builtins.property - @pulumi.getter - def description(self) -> _builtins.str: + @pulumi.getter(name="readOnly") + def read_only(self) -> _builtins.bool: """ - Description of the routing table. + Flag to indicate if client IPs matching this rule can only mount the share in read only mode """ - return pulumi.get(self, "description") + return pulumi.get(self, "read_only") @_builtins.property - @pulumi.getter(name="dynamicRoutes") - def dynamic_routes(self) -> _builtins.bool: + @pulumi.getter(name="setUuid") + def set_uuid(self) -> _builtins.bool: """ - This controls whether dynamic routes are propagated to this routing table + Flag to honor set UUID """ - return pulumi.get(self, "dynamic_routes") + return pulumi.get(self, "set_uuid") @_builtins.property - @pulumi.getter - def labels(self) -> Mapping[str, _builtins.str]: + @pulumi.getter(name="superUser") + def super_user(self) -> _builtins.bool: """ - Labels are key-value string pairs which can be attached to a resource container + Flag to indicate if client IPs matching this rule have root access on the Share """ - return pulumi.get(self, "labels") + return pulumi.get(self, "super_user") @_builtins.property @pulumi.getter - def name(self) -> _builtins.str: + def description(self) -> Optional[_builtins.str]: """ - The name of the routing table. + Description of the Rule """ - return pulumi.get(self, "name") + return pulumi.get(self, "description") - @_builtins.property - @pulumi.getter(name="routingTableId") - def routing_table_id(self) -> _builtins.str: + +@pulumi.output_type +class GetSfsResourcePoolSnapshotPolicyResult(dict): + def __init__(__self__, *, + id: _builtins.str, + name: _builtins.str): """ - The routing tables ID. + :param _builtins.str id: ID of the snapshot policy. + :param _builtins.str name: Name of the snapshot policy. """ - return pulumi.get(self, "routing_table_id") + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "name", name) @_builtins.property - @pulumi.getter(name="systemRoutes") - def system_routes(self) -> _builtins.bool: + @pulumi.getter + def id(self) -> _builtins.str: """ - This controls whether the routes for project-to-project communication are created automatically or not. + ID of the snapshot policy. """ - return pulumi.get(self, "system_routes") + return pulumi.get(self, "id") @_builtins.property - @pulumi.getter(name="updatedAt") - def updated_at(self) -> _builtins.str: + @pulumi.getter + def name(self) -> _builtins.str: """ - Date-time when the routing table was updated + Name of the snapshot policy. """ - return pulumi.get(self, "updated_at") + return pulumi.get(self, "name") @pulumi.output_type -class GetSecretsmanagerInstanceKmsKeyResult(dict): +class GetSfsResourcePoolSnapshotSnapshotResult(dict): def __init__(__self__, *, - key_id: _builtins.str, - key_ring_id: _builtins.str, - key_version: _builtins.int, - service_account_email: _builtins.str): + comment: _builtins.str, + created_at: _builtins.str, + logical_size_gigabytes: _builtins.int, + resource_pool_id: _builtins.str, + size_gigabytes: _builtins.int, + snapshot_name: _builtins.str): """ - :param _builtins.str key_id: UUID of the key within the STACKIT-KMS to use for the encryption. - :param _builtins.str key_ring_id: UUID of the keyring where the key is located within the STACKTI-KMS. - :param _builtins.int key_version: Version of the key within the STACKIT-KMS to use for the encryption. - :param _builtins.str service_account_email: Service-Account linked to the Key within the STACKIT-KMS. + :param _builtins.str comment: (optional) A comment to add more information about a snapshot + :param _builtins.str created_at: creation date of the snapshot + :param _builtins.int logical_size_gigabytes: Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) + :param _builtins.str resource_pool_id: ID of the Resource Pool of the Snapshot + :param _builtins.int size_gigabytes: Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) + :param _builtins.str snapshot_name: Name of the Resource Pool Snapshot """ - pulumi.set(__self__, "key_id", key_id) - pulumi.set(__self__, "key_ring_id", key_ring_id) - pulumi.set(__self__, "key_version", key_version) - pulumi.set(__self__, "service_account_email", service_account_email) + pulumi.set(__self__, "comment", comment) + pulumi.set(__self__, "created_at", created_at) + pulumi.set(__self__, "logical_size_gigabytes", logical_size_gigabytes) + pulumi.set(__self__, "resource_pool_id", resource_pool_id) + pulumi.set(__self__, "size_gigabytes", size_gigabytes) + pulumi.set(__self__, "snapshot_name", snapshot_name) @_builtins.property - @pulumi.getter(name="keyId") - def key_id(self) -> _builtins.str: + @pulumi.getter + def comment(self) -> _builtins.str: """ - UUID of the key within the STACKIT-KMS to use for the encryption. + (optional) A comment to add more information about a snapshot """ - return pulumi.get(self, "key_id") + return pulumi.get(self, "comment") @_builtins.property - @pulumi.getter(name="keyRingId") - def key_ring_id(self) -> _builtins.str: + @pulumi.getter(name="createdAt") + def created_at(self) -> _builtins.str: """ - UUID of the keyring where the key is located within the STACKTI-KMS. + creation date of the snapshot """ - return pulumi.get(self, "key_ring_id") + return pulumi.get(self, "created_at") @_builtins.property - @pulumi.getter(name="keyVersion") - def key_version(self) -> _builtins.int: + @pulumi.getter(name="logicalSizeGigabytes") + def logical_size_gigabytes(self) -> _builtins.int: """ - Version of the key within the STACKIT-KMS to use for the encryption. + Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) """ - return pulumi.get(self, "key_version") + return pulumi.get(self, "logical_size_gigabytes") @_builtins.property - @pulumi.getter(name="serviceAccountEmail") - def service_account_email(self) -> _builtins.str: - """ - Service-Account linked to the Key within the STACKIT-KMS. - """ - return pulumi.get(self, "service_account_email") - - -@pulumi.output_type -class GetSecretsmanagerInstanceRoleBindingsV1RoleBindingResult(dict): - def __init__(__self__, *, - role: _builtins.str, - subject: _builtins.str): + @pulumi.getter(name="resourcePoolId") + def resource_pool_id(self) -> _builtins.str: """ - :param _builtins.str role: A valid role defined for the resource. - :param _builtins.str subject: Identifier of user, service account or client. Usually email address or name in case of clients. + ID of the Resource Pool of the Snapshot """ - pulumi.set(__self__, "role", role) - pulumi.set(__self__, "subject", subject) + return pulumi.get(self, "resource_pool_id") @_builtins.property - @pulumi.getter - def role(self) -> _builtins.str: + @pulumi.getter(name="sizeGigabytes") + def size_gigabytes(self) -> _builtins.int: """ - A valid role defined for the resource. + Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) """ - return pulumi.get(self, "role") + return pulumi.get(self, "size_gigabytes") @_builtins.property - @pulumi.getter - def subject(self) -> _builtins.str: + @pulumi.getter(name="snapshotName") + def snapshot_name(self) -> _builtins.str: """ - Identifier of user, service account or client. Usually email address or name in case of clients. + Name of the Resource Pool Snapshot """ - return pulumi.get(self, "subject") + return pulumi.get(self, "snapshot_name") @pulumi.output_type -class GetSecretsmanagerSecretGroupRoleBindingsV1RoleBindingResult(dict): +class GetSfsSnapshotPoliciesItemResult(dict): def __init__(__self__, *, - role: _builtins.str, - subject: _builtins.str): + comment: _builtins.str, + created_at: _builtins.str, + enabled: _builtins.bool, + id: _builtins.str, + name: _builtins.str, + snapshot_schedules: Sequence['outputs.GetSfsSnapshotPoliciesItemSnapshotScheduleResult']): """ - :param _builtins.str role: A valid role defined for the resource. - :param _builtins.str subject: Identifier of user, service account or client. Usually email address or name in case of clients. + :param _builtins.str comment: Comment of the Snapshot Policy. + :param _builtins.str created_at: Created At timestamp. + :param _builtins.bool enabled: Wether the Snapshot Policy is enabled. + :param _builtins.str id: ID of the Snapshot Policy. + :param _builtins.str name: Name of the Snapshot Policy. """ - pulumi.set(__self__, "role", role) - pulumi.set(__self__, "subject", subject) + pulumi.set(__self__, "comment", comment) + pulumi.set(__self__, "created_at", created_at) + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "snapshot_schedules", snapshot_schedules) @_builtins.property @pulumi.getter - def role(self) -> _builtins.str: + def comment(self) -> _builtins.str: """ - A valid role defined for the resource. + Comment of the Snapshot Policy. """ - return pulumi.get(self, "role") + return pulumi.get(self, "comment") @_builtins.property - @pulumi.getter - def subject(self) -> _builtins.str: + @pulumi.getter(name="createdAt") + def created_at(self) -> _builtins.str: """ - Identifier of user, service account or client. Usually email address or name in case of clients. + Created At timestamp. """ - return pulumi.get(self, "subject") - + return pulumi.get(self, "created_at") -@pulumi.output_type -class GetSecurityGroupRuleIcmpParametersResult(dict): - def __init__(__self__, *, - code: _builtins.int, - type: _builtins.int): + @_builtins.property + @pulumi.getter + def enabled(self) -> _builtins.bool: """ - :param _builtins.int code: ICMP code. Can be set if the protocol is ICMP. - :param _builtins.int type: ICMP type. Can be set if the protocol is ICMP. + Wether the Snapshot Policy is enabled. """ - pulumi.set(__self__, "code", code) - pulumi.set(__self__, "type", type) + return pulumi.get(self, "enabled") @_builtins.property @pulumi.getter - def code(self) -> _builtins.int: + def id(self) -> _builtins.str: """ - ICMP code. Can be set if the protocol is ICMP. + ID of the Snapshot Policy. """ - return pulumi.get(self, "code") + return pulumi.get(self, "id") @_builtins.property @pulumi.getter - def type(self) -> _builtins.int: + def name(self) -> _builtins.str: """ - ICMP type. Can be set if the protocol is ICMP. + Name of the Snapshot Policy. """ - return pulumi.get(self, "type") + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="snapshotSchedules") + def snapshot_schedules(self) -> Sequence['outputs.GetSfsSnapshotPoliciesItemSnapshotScheduleResult']: + return pulumi.get(self, "snapshot_schedules") @pulumi.output_type -class GetSecurityGroupRulePortRangeResult(dict): +class GetSfsSnapshotPoliciesItemSnapshotScheduleResult(dict): def __init__(__self__, *, - max: _builtins.int, - min: _builtins.int): + created_at: _builtins.str, + id: _builtins.str, + interval: _builtins.str, + name: _builtins.str, + prefix: _builtins.str, + retention_count: _builtins.int, + retention_period: _builtins.str): """ - :param _builtins.int max: The maximum port number. Should be greater or equal to the minimum. - :param _builtins.int min: The minimum port number. Should be less or equal to the minimum. + :param _builtins.str created_at: Created At timestamp. + :param _builtins.str id: ID of the Snapshot Schedule. + :param _builtins.str interval: Interval of the Snapshot Schedule (follows the cron schedule xpression in Unix-like systems). + :param _builtins.str name: Name of the Snapshot Schedule. + :param _builtins.str prefix: Prefix used for snapshots created by this policy. + :param _builtins.int retention_count: Retention Count. + :param _builtins.str retention_period: Retention Period (ISO 8601 format or 'infinite'). """ - pulumi.set(__self__, "max", max) - pulumi.set(__self__, "min", min) + pulumi.set(__self__, "created_at", created_at) + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "interval", interval) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "prefix", prefix) + pulumi.set(__self__, "retention_count", retention_count) + pulumi.set(__self__, "retention_period", retention_period) @_builtins.property - @pulumi.getter - def max(self) -> _builtins.int: + @pulumi.getter(name="createdAt") + def created_at(self) -> _builtins.str: """ - The maximum port number. Should be greater or equal to the minimum. + Created At timestamp. """ - return pulumi.get(self, "max") + return pulumi.get(self, "created_at") @_builtins.property @pulumi.getter - def min(self) -> _builtins.int: + def id(self) -> _builtins.str: """ - The minimum port number. Should be less or equal to the minimum. + ID of the Snapshot Schedule. """ - return pulumi.get(self, "min") - + return pulumi.get(self, "id") -@pulumi.output_type -class GetSecurityGroupRuleProtocolResult(dict): - def __init__(__self__, *, - name: _builtins.str, - number: _builtins.int): + @_builtins.property + @pulumi.getter + def interval(self) -> _builtins.str: """ - :param _builtins.str name: The protocol name which the rule should match. - :param _builtins.int number: The protocol number which the rule should match. + Interval of the Snapshot Schedule (follows the cron schedule xpression in Unix-like systems). """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "number", number) + return pulumi.get(self, "interval") @_builtins.property @pulumi.getter def name(self) -> _builtins.str: """ - The protocol name which the rule should match. + Name of the Snapshot Schedule. """ return pulumi.get(self, "name") @_builtins.property @pulumi.getter - def number(self) -> _builtins.int: + def prefix(self) -> _builtins.str: """ - The protocol number which the rule should match. + Prefix used for snapshots created by this policy. """ - return pulumi.get(self, "number") - + return pulumi.get(self, "prefix") -@pulumi.output_type -class GetServerAgentResult(dict): - def __init__(__self__, *, - provisioned: _builtins.bool): + @_builtins.property + @pulumi.getter(name="retentionCount") + def retention_count(self) -> _builtins.int: """ - :param _builtins.bool provisioned: Whether a STACKIT Server Agent is provisioned at the server + Retention Count. """ - pulumi.set(__self__, "provisioned", provisioned) + return pulumi.get(self, "retention_count") @_builtins.property - @pulumi.getter - def provisioned(self) -> _builtins.bool: + @pulumi.getter(name="retentionPeriod") + def retention_period(self) -> _builtins.str: """ - Whether a STACKIT Server Agent is provisioned at the server + Retention Period (ISO 8601 format or 'infinite'). """ - return pulumi.get(self, "provisioned") + return pulumi.get(self, "retention_period") @pulumi.output_type -class GetServerBackupScheduleBackupPropertiesResult(dict): +class GetSkeClusterAccessResult(dict): def __init__(__self__, *, - name: _builtins.str, - retention_period: _builtins.int, - volume_ids: Sequence[_builtins.str]): - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "retention_period", retention_period) - pulumi.set(__self__, "volume_ids", volume_ids) + idp: 'outputs.GetSkeClusterAccessIdpResult'): + """ + :param 'GetSkeClusterAccessIdpArgs' idp: Configure IDP + """ + pulumi.set(__self__, "idp", idp) @_builtins.property @pulumi.getter - def name(self) -> _builtins.str: - return pulumi.get(self, "name") - - @_builtins.property - @pulumi.getter(name="retentionPeriod") - def retention_period(self) -> _builtins.int: - return pulumi.get(self, "retention_period") - - @_builtins.property - @pulumi.getter(name="volumeIds") - def volume_ids(self) -> Sequence[_builtins.str]: - return pulumi.get(self, "volume_ids") + def idp(self) -> 'outputs.GetSkeClusterAccessIdpResult': + """ + Configure IDP + """ + return pulumi.get(self, "idp") @pulumi.output_type -class GetServerBackupSchedulesItemResult(dict): +class GetSkeClusterAccessIdpResult(dict): def __init__(__self__, *, - backup_properties: 'outputs.GetServerBackupSchedulesItemBackupPropertiesResult', - backup_schedule_id: _builtins.int, enabled: _builtins.bool, - name: _builtins.str, - rrule: _builtins.str): + type: _builtins.str): """ - :param 'GetServerBackupSchedulesItemBackupPropertiesArgs' backup_properties: Backup schedule details for the backups. - :param _builtins.bool enabled: Is the backup schedule enabled or disabled. - :param _builtins.str name: The backup schedule name. - :param _builtins.str rrule: An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. + :param _builtins.bool enabled: Enable IDP integration for the cluster. + :param _builtins.str type: The IDP type. Possible values: 'stackit'. """ - pulumi.set(__self__, "backup_properties", backup_properties) - pulumi.set(__self__, "backup_schedule_id", backup_schedule_id) pulumi.set(__self__, "enabled", enabled) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "rrule", rrule) - - @_builtins.property - @pulumi.getter(name="backupProperties") - def backup_properties(self) -> 'outputs.GetServerBackupSchedulesItemBackupPropertiesResult': - """ - Backup schedule details for the backups. - """ - return pulumi.get(self, "backup_properties") - - @_builtins.property - @pulumi.getter(name="backupScheduleId") - def backup_schedule_id(self) -> _builtins.int: - return pulumi.get(self, "backup_schedule_id") + pulumi.set(__self__, "type", type) @_builtins.property @pulumi.getter def enabled(self) -> _builtins.bool: """ - Is the backup schedule enabled or disabled. + Enable IDP integration for the cluster. """ return pulumi.get(self, "enabled") @_builtins.property @pulumi.getter - def name(self) -> _builtins.str: - """ - The backup schedule name. - """ - return pulumi.get(self, "name") - - @_builtins.property - @pulumi.getter - def rrule(self) -> _builtins.str: + def type(self) -> _builtins.str: """ - An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. + The IDP type. Possible values: 'stackit'. """ - return pulumi.get(self, "rrule") + return pulumi.get(self, "type") @pulumi.output_type -class GetServerBackupSchedulesItemBackupPropertiesResult(dict): +class GetSkeClusterExtensionsResult(dict): def __init__(__self__, *, - name: _builtins.str, - retention_period: _builtins.int, - volume_ids: Sequence[_builtins.str]): - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "retention_period", retention_period) - pulumi.set(__self__, "volume_ids", volume_ids) + acl: 'outputs.GetSkeClusterExtensionsAclResult', + argus: 'outputs.GetSkeClusterExtensionsArgusResult', + dns: 'outputs.GetSkeClusterExtensionsDnsResult', + observability: 'outputs.GetSkeClusterExtensionsObservabilityResult'): + """ + :param 'GetSkeClusterExtensionsAclArgs' acl: Cluster access control configuration + :param 'GetSkeClusterExtensionsArgusArgs' argus: A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. + :param 'GetSkeClusterExtensionsDnsArgs' dns: DNS extension configuration + :param 'GetSkeClusterExtensionsObservabilityArgs' observability: A single observability block as defined below. + """ + pulumi.set(__self__, "acl", acl) + pulumi.set(__self__, "argus", argus) + pulumi.set(__self__, "dns", dns) + pulumi.set(__self__, "observability", observability) @_builtins.property @pulumi.getter - def name(self) -> _builtins.str: - return pulumi.get(self, "name") - - @_builtins.property - @pulumi.getter(name="retentionPeriod") - def retention_period(self) -> _builtins.int: - return pulumi.get(self, "retention_period") + def acl(self) -> 'outputs.GetSkeClusterExtensionsAclResult': + """ + Cluster access control configuration + """ + return pulumi.get(self, "acl") @_builtins.property - @pulumi.getter(name="volumeIds") - def volume_ids(self) -> Sequence[_builtins.str]: - return pulumi.get(self, "volume_ids") - - -@pulumi.output_type -class GetServerBootVolumeResult(dict): - def __init__(__self__, *, - delete_on_termination: _builtins.bool, - id: _builtins.str): + @pulumi.getter + @_utilities.deprecated("""Use observability instead.""") + def argus(self) -> 'outputs.GetSkeClusterExtensionsArgusResult': """ - :param _builtins.bool delete_on_termination: Delete the volume during the termination of the server. - :param _builtins.str id: The ID of the boot volume + A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. """ - pulumi.set(__self__, "delete_on_termination", delete_on_termination) - pulumi.set(__self__, "id", id) + return pulumi.get(self, "argus") @_builtins.property - @pulumi.getter(name="deleteOnTermination") - def delete_on_termination(self) -> _builtins.bool: + @pulumi.getter + def dns(self) -> 'outputs.GetSkeClusterExtensionsDnsResult': """ - Delete the volume during the termination of the server. + DNS extension configuration """ - return pulumi.get(self, "delete_on_termination") + return pulumi.get(self, "dns") @_builtins.property @pulumi.getter - def id(self) -> _builtins.str: + def observability(self) -> 'outputs.GetSkeClusterExtensionsObservabilityResult': """ - The ID of the boot volume + A single observability block as defined below. """ - return pulumi.get(self, "id") + return pulumi.get(self, "observability") @pulumi.output_type -class GetServerUpdateSchedulesItemResult(dict): +class GetSkeClusterExtensionsAclResult(dict): def __init__(__self__, *, - enabled: _builtins.bool, - maintenance_window: _builtins.int, - name: _builtins.str, - rrule: _builtins.str, - update_schedule_id: _builtins.int): + allowed_cidrs: Sequence[_builtins.str], + enabled: _builtins.bool): """ - :param _builtins.bool enabled: Is the update schedule enabled or disabled. - :param _builtins.int maintenance_window: Maintenance window [1..24]. Updates start within the defined hourly window. Depending on the updates, the process may exceed this timeframe and require an automatic restart. - :param _builtins.str name: The update schedule name. - :param _builtins.str rrule: An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. + :param Sequence[_builtins.str] allowed_cidrs: Specify a list of CIDRs to whitelist + :param _builtins.bool enabled: Is ACL enabled? """ + pulumi.set(__self__, "allowed_cidrs", allowed_cidrs) pulumi.set(__self__, "enabled", enabled) - pulumi.set(__self__, "maintenance_window", maintenance_window) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "rrule", rrule) - pulumi.set(__self__, "update_schedule_id", update_schedule_id) + + @_builtins.property + @pulumi.getter(name="allowedCidrs") + def allowed_cidrs(self) -> Sequence[_builtins.str]: + """ + Specify a list of CIDRs to whitelist + """ + return pulumi.get(self, "allowed_cidrs") @_builtins.property @pulumi.getter def enabled(self) -> _builtins.bool: """ - Is the update schedule enabled or disabled. + Is ACL enabled? """ return pulumi.get(self, "enabled") - @_builtins.property - @pulumi.getter(name="maintenanceWindow") - def maintenance_window(self) -> _builtins.int: + +@pulumi.output_type +class GetSkeClusterExtensionsArgusResult(dict): + def __init__(__self__, *, + argus_instance_id: _builtins.str, + enabled: _builtins.bool): """ - Maintenance window [1..24]. Updates start within the defined hourly window. Depending on the updates, the process may exceed this timeframe and require an automatic restart. + :param _builtins.str argus_instance_id: Instance ID of argus + :param _builtins.bool enabled: Flag to enable/disable argus extensions. """ - return pulumi.get(self, "maintenance_window") + pulumi.set(__self__, "argus_instance_id", argus_instance_id) + pulumi.set(__self__, "enabled", enabled) @_builtins.property - @pulumi.getter - def name(self) -> _builtins.str: + @pulumi.getter(name="argusInstanceId") + def argus_instance_id(self) -> _builtins.str: """ - The update schedule name. + Instance ID of argus """ - return pulumi.get(self, "name") + return pulumi.get(self, "argus_instance_id") @_builtins.property @pulumi.getter - def rrule(self) -> _builtins.str: + def enabled(self) -> _builtins.bool: """ - An `rrule` (Recurrence Rule) is a standardized string format used in iCalendar (RFC 5545) to define repeating events, and you can generate one by using a dedicated library or by using online generator tools to specify parameters like frequency, interval, and end dates. + Flag to enable/disable argus extensions. """ - return pulumi.get(self, "rrule") - - @_builtins.property - @pulumi.getter(name="updateScheduleId") - def update_schedule_id(self) -> _builtins.int: - return pulumi.get(self, "update_schedule_id") + return pulumi.get(self, "enabled") @pulumi.output_type -class GetServiceAccountFederatedIdentityProviderAssertionResult(dict): +class GetSkeClusterExtensionsDnsResult(dict): def __init__(__self__, *, - item: _builtins.str, - operator: _builtins.str, - value: _builtins.str): - """ - :param _builtins.str item: The assertion claim. At least one assertion with the claim "aud" is required for security reasons. - :param _builtins.str operator: The assertion operator. Currently, the only supported operator is "equals". - :param _builtins.str value: The assertion value. - """ - pulumi.set(__self__, "item", item) - pulumi.set(__self__, "operator", operator) - pulumi.set(__self__, "value", value) - - @_builtins.property - @pulumi.getter - def item(self) -> _builtins.str: + enabled: _builtins.bool, + zones: Sequence[_builtins.str]): """ - The assertion claim. At least one assertion with the claim "aud" is required for security reasons. + :param _builtins.bool enabled: Flag to enable/disable DNS extensions + :param Sequence[_builtins.str] zones: Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) """ - return pulumi.get(self, "item") + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "zones", zones) @_builtins.property @pulumi.getter - def operator(self) -> _builtins.str: + def enabled(self) -> _builtins.bool: """ - The assertion operator. Currently, the only supported operator is "equals". + Flag to enable/disable DNS extensions """ - return pulumi.get(self, "operator") + return pulumi.get(self, "enabled") @_builtins.property @pulumi.getter - def value(self) -> _builtins.str: + def zones(self) -> Sequence[_builtins.str]: """ - The assertion value. + Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) """ - return pulumi.get(self, "value") + return pulumi.get(self, "zones") @pulumi.output_type -class GetServiceAccountsItemResult(dict): +class GetSkeClusterExtensionsObservabilityResult(dict): def __init__(__self__, *, - email: _builtins.str, - name: _builtins.str, - service_account_id: _builtins.str): - """ - :param _builtins.str email: Email of the service account. - :param _builtins.str name: Name of the service account. - :param _builtins.str service_account_id: The internal UUID of the service account. - """ - pulumi.set(__self__, "email", email) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "service_account_id", service_account_id) - - @_builtins.property - @pulumi.getter - def email(self) -> _builtins.str: + enabled: _builtins.bool, + instance_id: _builtins.str): """ - Email of the service account. + :param _builtins.bool enabled: Flag to enable/disable Observability extensions. + :param _builtins.str instance_id: Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`. """ - return pulumi.get(self, "email") + pulumi.set(__self__, "enabled", enabled) + pulumi.set(__self__, "instance_id", instance_id) @_builtins.property @pulumi.getter - def name(self) -> _builtins.str: + def enabled(self) -> _builtins.bool: """ - Name of the service account. + Flag to enable/disable Observability extensions. """ - return pulumi.get(self, "name") + return pulumi.get(self, "enabled") @_builtins.property - @pulumi.getter(name="serviceAccountId") - def service_account_id(self) -> _builtins.str: + @pulumi.getter(name="instanceId") + def instance_id(self) -> _builtins.str: """ - The internal UUID of the service account. + Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`. """ - return pulumi.get(self, "service_account_id") + return pulumi.get(self, "instance_id") @pulumi.output_type -class GetSfsExportPolicyRuleResult(dict): +class GetSkeClusterHibernationResult(dict): def __init__(__self__, *, - ip_acls: Sequence[_builtins.str], - order: _builtins.int, - read_only: _builtins.bool, - set_uuid: _builtins.bool, - super_user: _builtins.bool, - description: Optional[_builtins.str] = None): + end: _builtins.str, + start: _builtins.str, + timezone: _builtins.str): """ - :param Sequence[_builtins.str] ip_acls: IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). - :param _builtins.int order: Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied - :param _builtins.bool read_only: Flag to indicate if client IPs matching this rule can only mount the share in read only mode - :param _builtins.bool set_uuid: Flag to honor set UUID - :param _builtins.bool super_user: Flag to indicate if client IPs matching this rule have root access on the Share - :param _builtins.str description: Description of the Rule + :param _builtins.str end: End time of hibernation, in crontab syntax. + :param _builtins.str start: Start time of cluster hibernation in crontab syntax. + :param _builtins.str timezone: Timezone name corresponding to a file in the IANA Time Zone database. """ - pulumi.set(__self__, "ip_acls", ip_acls) - pulumi.set(__self__, "order", order) - pulumi.set(__self__, "read_only", read_only) - pulumi.set(__self__, "set_uuid", set_uuid) - pulumi.set(__self__, "super_user", super_user) - if description is not None: - pulumi.set(__self__, "description", description) + pulumi.set(__self__, "end", end) + pulumi.set(__self__, "start", start) + pulumi.set(__self__, "timezone", timezone) @_builtins.property - @pulumi.getter(name="ipAcls") - def ip_acls(self) -> Sequence[_builtins.str]: + @pulumi.getter + def end(self) -> _builtins.str: """ - IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + End time of hibernation, in crontab syntax. """ - return pulumi.get(self, "ip_acls") + return pulumi.get(self, "end") @_builtins.property @pulumi.getter - def order(self) -> _builtins.int: + def start(self) -> _builtins.str: """ - Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + Start time of cluster hibernation in crontab syntax. """ - return pulumi.get(self, "order") + return pulumi.get(self, "start") @_builtins.property - @pulumi.getter(name="readOnly") - def read_only(self) -> _builtins.bool: + @pulumi.getter + def timezone(self) -> _builtins.str: """ - Flag to indicate if client IPs matching this rule can only mount the share in read only mode + Timezone name corresponding to a file in the IANA Time Zone database. """ - return pulumi.get(self, "read_only") + return pulumi.get(self, "timezone") - @_builtins.property - @pulumi.getter(name="setUuid") - def set_uuid(self) -> _builtins.bool: - """ - Flag to honor set UUID - """ - return pulumi.get(self, "set_uuid") - @_builtins.property - @pulumi.getter(name="superUser") - def super_user(self) -> _builtins.bool: +@pulumi.output_type +class GetSkeClusterMaintenanceResult(dict): + def __init__(__self__, *, + enable_kubernetes_version_updates: _builtins.bool, + enable_machine_image_version_updates: _builtins.bool, + end: _builtins.str, + start: _builtins.str): """ - Flag to indicate if client IPs matching this rule have root access on the Share + :param _builtins.bool enable_kubernetes_version_updates: Flag to enable/disable auto-updates of the Kubernetes version. + :param _builtins.bool enable_machine_image_version_updates: Flag to enable/disable auto-updates of the OS image version. + :param _builtins.str end: Date time for maintenance window end. + :param _builtins.str start: Date time for maintenance window start. """ - return pulumi.get(self, "super_user") + pulumi.set(__self__, "enable_kubernetes_version_updates", enable_kubernetes_version_updates) + pulumi.set(__self__, "enable_machine_image_version_updates", enable_machine_image_version_updates) + pulumi.set(__self__, "end", end) + pulumi.set(__self__, "start", start) @_builtins.property - @pulumi.getter - def description(self) -> Optional[_builtins.str]: + @pulumi.getter(name="enableKubernetesVersionUpdates") + def enable_kubernetes_version_updates(self) -> _builtins.bool: """ - Description of the Rule + Flag to enable/disable auto-updates of the Kubernetes version. """ - return pulumi.get(self, "description") - + return pulumi.get(self, "enable_kubernetes_version_updates") -@pulumi.output_type -class GetSfsResourcePoolSnapshotPolicyResult(dict): - def __init__(__self__, *, - id: _builtins.str, - name: _builtins.str): + @_builtins.property + @pulumi.getter(name="enableMachineImageVersionUpdates") + def enable_machine_image_version_updates(self) -> _builtins.bool: """ - :param _builtins.str id: ID of the snapshot policy. - :param _builtins.str name: Name of the snapshot policy. + Flag to enable/disable auto-updates of the OS image version. """ - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "name", name) + return pulumi.get(self, "enable_machine_image_version_updates") @_builtins.property @pulumi.getter - def id(self) -> _builtins.str: + def end(self) -> _builtins.str: """ - ID of the snapshot policy. + Date time for maintenance window end. """ - return pulumi.get(self, "id") + return pulumi.get(self, "end") @_builtins.property @pulumi.getter - def name(self) -> _builtins.str: + def start(self) -> _builtins.str: """ - Name of the snapshot policy. + Date time for maintenance window start. """ - return pulumi.get(self, "name") + return pulumi.get(self, "start") @pulumi.output_type -class GetSfsResourcePoolSnapshotSnapshotResult(dict): +class GetSkeClusterNetworkResult(dict): def __init__(__self__, *, - comment: _builtins.str, - created_at: _builtins.str, - logical_size_gigabytes: _builtins.int, - resource_pool_id: _builtins.str, - size_gigabytes: _builtins.int, - snapshot_name: _builtins.str): - """ - :param _builtins.str comment: (optional) A comment to add more information about a snapshot - :param _builtins.str created_at: creation date of the snapshot - :param _builtins.int logical_size_gigabytes: Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) - :param _builtins.str resource_pool_id: ID of the Resource Pool of the Snapshot - :param _builtins.int size_gigabytes: Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) - :param _builtins.str snapshot_name: Name of the Resource Pool Snapshot - """ - pulumi.set(__self__, "comment", comment) - pulumi.set(__self__, "created_at", created_at) - pulumi.set(__self__, "logical_size_gigabytes", logical_size_gigabytes) - pulumi.set(__self__, "resource_pool_id", resource_pool_id) - pulumi.set(__self__, "size_gigabytes", size_gigabytes) - pulumi.set(__self__, "snapshot_name", snapshot_name) - - @_builtins.property - @pulumi.getter - def comment(self) -> _builtins.str: + control_plane: 'outputs.GetSkeClusterNetworkControlPlaneResult', + id: _builtins.str): """ - (optional) A comment to add more information about a snapshot + :param 'GetSkeClusterNetworkControlPlaneArgs' control_plane: Control plane for the cluster. + :param _builtins.str id: ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. """ - return pulumi.get(self, "comment") + pulumi.set(__self__, "control_plane", control_plane) + pulumi.set(__self__, "id", id) @_builtins.property - @pulumi.getter(name="createdAt") - def created_at(self) -> _builtins.str: + @pulumi.getter(name="controlPlane") + def control_plane(self) -> 'outputs.GetSkeClusterNetworkControlPlaneResult': """ - creation date of the snapshot + Control plane for the cluster. """ - return pulumi.get(self, "created_at") + return pulumi.get(self, "control_plane") @_builtins.property - @pulumi.getter(name="logicalSizeGigabytes") - def logical_size_gigabytes(self) -> _builtins.int: + @pulumi.getter + def id(self) -> _builtins.str: """ - Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) + ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. """ - return pulumi.get(self, "logical_size_gigabytes") + return pulumi.get(self, "id") - @_builtins.property - @pulumi.getter(name="resourcePoolId") - def resource_pool_id(self) -> _builtins.str: - """ - ID of the Resource Pool of the Snapshot - """ - return pulumi.get(self, "resource_pool_id") - @_builtins.property - @pulumi.getter(name="sizeGigabytes") - def size_gigabytes(self) -> _builtins.int: +@pulumi.output_type +class GetSkeClusterNetworkControlPlaneResult(dict): + def __init__(__self__, *, + access_scope: _builtins.str): """ - Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) + :param _builtins.str access_scope: Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! """ - return pulumi.get(self, "size_gigabytes") + pulumi.set(__self__, "access_scope", access_scope) @_builtins.property - @pulumi.getter(name="snapshotName") - def snapshot_name(self) -> _builtins.str: + @pulumi.getter(name="accessScope") + def access_scope(self) -> _builtins.str: """ - Name of the Resource Pool Snapshot + Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! """ - return pulumi.get(self, "snapshot_name") + return pulumi.get(self, "access_scope") @pulumi.output_type -class GetSfsSnapshotPoliciesItemResult(dict): +class GetSkeClusterNodePoolResult(dict): def __init__(__self__, *, - comment: _builtins.str, - created_at: _builtins.str, - enabled: _builtins.bool, - id: _builtins.str, + allow_system_components: _builtins.bool, + availability_zones: Sequence[_builtins.str], + cri: _builtins.str, + labels: Mapping[str, _builtins.str], + machine_type: _builtins.str, + max_surge: _builtins.int, + max_unavailable: _builtins.int, + maximum: _builtins.int, + minimum: _builtins.int, name: _builtins.str, - snapshot_schedules: Sequence['outputs.GetSfsSnapshotPoliciesItemSnapshotScheduleResult']): + os_name: _builtins.str, + os_version: _builtins.str, + os_version_min: _builtins.str, + os_version_used: _builtins.str, + taints: Sequence['outputs.GetSkeClusterNodePoolTaintResult'], + volume_size: _builtins.int, + volume_type: _builtins.str): """ - :param _builtins.str comment: Comment of the Snapshot Policy. - :param _builtins.str created_at: Created At timestamp. - :param _builtins.bool enabled: Wether the Snapshot Policy is enabled. - :param _builtins.str id: ID of the Snapshot Policy. - :param _builtins.str name: Name of the Snapshot Policy. + :param _builtins.bool allow_system_components: Allow system components to run on this node pool. + :param Sequence[_builtins.str] availability_zones: Specify a list of availability zones. + :param _builtins.str cri: Specifies the container runtime. + :param Mapping[str, _builtins.str] labels: Labels to add to each node. + :param _builtins.str machine_type: The machine type. + :param _builtins.int max_surge: The maximum number of nodes upgraded simultaneously. + :param _builtins.int max_unavailable: The maximum number of nodes unavailable during upgraded. + :param _builtins.int maximum: Maximum number of nodes in the pool. + :param _builtins.int minimum: Minimum number of nodes in the pool. + :param _builtins.str name: Specifies the name of the node pool. + :param _builtins.str os_name: The name of the OS image. + :param _builtins.str os_version: The OS image version. + :param _builtins.str os_version_min: The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. + :param _builtins.str os_version_used: Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + :param Sequence['GetSkeClusterNodePoolTaintArgs'] taints: Specifies a taint list as defined below. + :param _builtins.int volume_size: The volume size in GB. + :param _builtins.str volume_type: Specifies the volume type. """ - pulumi.set(__self__, "comment", comment) - pulumi.set(__self__, "created_at", created_at) - pulumi.set(__self__, "enabled", enabled) - pulumi.set(__self__, "id", id) + pulumi.set(__self__, "allow_system_components", allow_system_components) + pulumi.set(__self__, "availability_zones", availability_zones) + pulumi.set(__self__, "cri", cri) + pulumi.set(__self__, "labels", labels) + pulumi.set(__self__, "machine_type", machine_type) + pulumi.set(__self__, "max_surge", max_surge) + pulumi.set(__self__, "max_unavailable", max_unavailable) + pulumi.set(__self__, "maximum", maximum) + pulumi.set(__self__, "minimum", minimum) pulumi.set(__self__, "name", name) - pulumi.set(__self__, "snapshot_schedules", snapshot_schedules) + pulumi.set(__self__, "os_name", os_name) + pulumi.set(__self__, "os_version", os_version) + pulumi.set(__self__, "os_version_min", os_version_min) + pulumi.set(__self__, "os_version_used", os_version_used) + pulumi.set(__self__, "taints", taints) + pulumi.set(__self__, "volume_size", volume_size) + pulumi.set(__self__, "volume_type", volume_type) @_builtins.property - @pulumi.getter - def comment(self) -> _builtins.str: + @pulumi.getter(name="allowSystemComponents") + def allow_system_components(self) -> _builtins.bool: """ - Comment of the Snapshot Policy. + Allow system components to run on this node pool. """ - return pulumi.get(self, "comment") + return pulumi.get(self, "allow_system_components") @_builtins.property - @pulumi.getter(name="createdAt") - def created_at(self) -> _builtins.str: + @pulumi.getter(name="availabilityZones") + def availability_zones(self) -> Sequence[_builtins.str]: """ - Created At timestamp. + Specify a list of availability zones. """ - return pulumi.get(self, "created_at") + return pulumi.get(self, "availability_zones") @_builtins.property @pulumi.getter - def enabled(self) -> _builtins.bool: + def cri(self) -> _builtins.str: """ - Wether the Snapshot Policy is enabled. + Specifies the container runtime. """ - return pulumi.get(self, "enabled") + return pulumi.get(self, "cri") @_builtins.property @pulumi.getter - def id(self) -> _builtins.str: + def labels(self) -> Mapping[str, _builtins.str]: """ - ID of the Snapshot Policy. + Labels to add to each node. """ - return pulumi.get(self, "id") + return pulumi.get(self, "labels") @_builtins.property - @pulumi.getter - def name(self) -> _builtins.str: + @pulumi.getter(name="machineType") + def machine_type(self) -> _builtins.str: """ - Name of the Snapshot Policy. + The machine type. """ - return pulumi.get(self, "name") + return pulumi.get(self, "machine_type") @_builtins.property - @pulumi.getter(name="snapshotSchedules") - def snapshot_schedules(self) -> Sequence['outputs.GetSfsSnapshotPoliciesItemSnapshotScheduleResult']: - return pulumi.get(self, "snapshot_schedules") - - -@pulumi.output_type -class GetSfsSnapshotPoliciesItemSnapshotScheduleResult(dict): - def __init__(__self__, *, - created_at: _builtins.str, - id: _builtins.str, - interval: _builtins.str, - name: _builtins.str, - prefix: _builtins.str, - retention_count: _builtins.int, - retention_period: _builtins.str): + @pulumi.getter(name="maxSurge") + def max_surge(self) -> _builtins.int: """ - :param _builtins.str created_at: Created At timestamp. - :param _builtins.str id: ID of the Snapshot Schedule. - :param _builtins.str interval: Interval of the Snapshot Schedule (follows the cron schedule xpression in Unix-like systems). - :param _builtins.str name: Name of the Snapshot Schedule. - :param _builtins.str prefix: Prefix used for snapshots created by this policy. - :param _builtins.int retention_count: Retention Count. - :param _builtins.str retention_period: Retention Period (ISO 8601 format or 'infinite'). + The maximum number of nodes upgraded simultaneously. """ - pulumi.set(__self__, "created_at", created_at) - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "interval", interval) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "prefix", prefix) - pulumi.set(__self__, "retention_count", retention_count) - pulumi.set(__self__, "retention_period", retention_period) + return pulumi.get(self, "max_surge") @_builtins.property - @pulumi.getter(name="createdAt") - def created_at(self) -> _builtins.str: + @pulumi.getter(name="maxUnavailable") + def max_unavailable(self) -> _builtins.int: """ - Created At timestamp. + The maximum number of nodes unavailable during upgraded. """ - return pulumi.get(self, "created_at") + return pulumi.get(self, "max_unavailable") @_builtins.property @pulumi.getter - def id(self) -> _builtins.str: + def maximum(self) -> _builtins.int: """ - ID of the Snapshot Schedule. + Maximum number of nodes in the pool. """ - return pulumi.get(self, "id") + return pulumi.get(self, "maximum") @_builtins.property @pulumi.getter - def interval(self) -> _builtins.str: + def minimum(self) -> _builtins.int: """ - Interval of the Snapshot Schedule (follows the cron schedule xpression in Unix-like systems). + Minimum number of nodes in the pool. """ - return pulumi.get(self, "interval") + return pulumi.get(self, "minimum") @_builtins.property @pulumi.getter def name(self) -> _builtins.str: """ - Name of the Snapshot Schedule. + Specifies the name of the node pool. """ return pulumi.get(self, "name") @_builtins.property - @pulumi.getter - def prefix(self) -> _builtins.str: + @pulumi.getter(name="osName") + def os_name(self) -> _builtins.str: """ - Prefix used for snapshots created by this policy. + The name of the OS image. """ - return pulumi.get(self, "prefix") + return pulumi.get(self, "os_name") @_builtins.property - @pulumi.getter(name="retentionCount") - def retention_count(self) -> _builtins.int: + @pulumi.getter(name="osVersion") + def os_version(self) -> _builtins.str: """ - Retention Count. + The OS image version. """ - return pulumi.get(self, "retention_count") + return pulumi.get(self, "os_version") @_builtins.property - @pulumi.getter(name="retentionPeriod") - def retention_period(self) -> _builtins.str: - """ - Retention Period (ISO 8601 format or 'infinite'). - """ - return pulumi.get(self, "retention_period") - - -@pulumi.output_type -class GetSkeClusterExtensionsResult(dict): - def __init__(__self__, *, - acl: 'outputs.GetSkeClusterExtensionsAclResult', - argus: 'outputs.GetSkeClusterExtensionsArgusResult', - dns: 'outputs.GetSkeClusterExtensionsDnsResult', - observability: 'outputs.GetSkeClusterExtensionsObservabilityResult'): + @pulumi.getter(name="osVersionMin") + def os_version_min(self) -> _builtins.str: """ - :param 'GetSkeClusterExtensionsAclArgs' acl: Cluster access control configuration - :param 'GetSkeClusterExtensionsArgusArgs' argus: A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. - :param 'GetSkeClusterExtensionsDnsArgs' dns: DNS extension configuration - :param 'GetSkeClusterExtensionsObservabilityArgs' observability: A single observability block as defined below. + The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. """ - pulumi.set(__self__, "acl", acl) - pulumi.set(__self__, "argus", argus) - pulumi.set(__self__, "dns", dns) - pulumi.set(__self__, "observability", observability) + return pulumi.get(self, "os_version_min") @_builtins.property - @pulumi.getter - def acl(self) -> 'outputs.GetSkeClusterExtensionsAclResult': + @pulumi.getter(name="osVersionUsed") + def os_version_used(self) -> _builtins.str: """ - Cluster access control configuration + Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). """ - return pulumi.get(self, "acl") + return pulumi.get(self, "os_version_used") @_builtins.property @pulumi.getter - @_utilities.deprecated("""Use observability instead.""") - def argus(self) -> 'outputs.GetSkeClusterExtensionsArgusResult': + def taints(self) -> Sequence['outputs.GetSkeClusterNodePoolTaintResult']: """ - A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. + Specifies a taint list as defined below. """ - return pulumi.get(self, "argus") + return pulumi.get(self, "taints") @_builtins.property - @pulumi.getter - def dns(self) -> 'outputs.GetSkeClusterExtensionsDnsResult': + @pulumi.getter(name="volumeSize") + def volume_size(self) -> _builtins.int: """ - DNS extension configuration + The volume size in GB. """ - return pulumi.get(self, "dns") + return pulumi.get(self, "volume_size") @_builtins.property - @pulumi.getter - def observability(self) -> 'outputs.GetSkeClusterExtensionsObservabilityResult': + @pulumi.getter(name="volumeType") + def volume_type(self) -> _builtins.str: """ - A single observability block as defined below. + Specifies the volume type. """ - return pulumi.get(self, "observability") + return pulumi.get(self, "volume_type") @pulumi.output_type -class GetSkeClusterExtensionsAclResult(dict): +class GetSkeClusterNodePoolTaintResult(dict): def __init__(__self__, *, - allowed_cidrs: Sequence[_builtins.str], - enabled: _builtins.bool): - """ - :param Sequence[_builtins.str] allowed_cidrs: Specify a list of CIDRs to whitelist - :param _builtins.bool enabled: Is ACL enabled? - """ - pulumi.set(__self__, "allowed_cidrs", allowed_cidrs) - pulumi.set(__self__, "enabled", enabled) - - @_builtins.property - @pulumi.getter(name="allowedCidrs") - def allowed_cidrs(self) -> Sequence[_builtins.str]: + effect: _builtins.str, + key: _builtins.str, + value: _builtins.str): """ - Specify a list of CIDRs to whitelist + :param _builtins.str effect: The taint effect. + :param _builtins.str key: Taint key to be applied to a node. + :param _builtins.str value: Taint value corresponding to the taint key. """ - return pulumi.get(self, "allowed_cidrs") + pulumi.set(__self__, "effect", effect) + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "value", value) @_builtins.property @pulumi.getter - def enabled(self) -> _builtins.bool: - """ - Is ACL enabled? - """ - return pulumi.get(self, "enabled") - - -@pulumi.output_type -class GetSkeClusterExtensionsArgusResult(dict): - def __init__(__self__, *, - argus_instance_id: _builtins.str, - enabled: _builtins.bool): + def effect(self) -> _builtins.str: """ - :param _builtins.str argus_instance_id: Instance ID of argus - :param _builtins.bool enabled: Flag to enable/disable argus extensions. + The taint effect. """ - pulumi.set(__self__, "argus_instance_id", argus_instance_id) - pulumi.set(__self__, "enabled", enabled) + return pulumi.get(self, "effect") @_builtins.property - @pulumi.getter(name="argusInstanceId") - def argus_instance_id(self) -> _builtins.str: + @pulumi.getter + def key(self) -> _builtins.str: """ - Instance ID of argus + Taint key to be applied to a node. """ - return pulumi.get(self, "argus_instance_id") + return pulumi.get(self, "key") @_builtins.property @pulumi.getter - def enabled(self) -> _builtins.bool: + def value(self) -> _builtins.str: """ - Flag to enable/disable argus extensions. + Taint value corresponding to the taint key. """ - return pulumi.get(self, "enabled") + return pulumi.get(self, "value") @pulumi.output_type -class GetSkeClusterExtensionsDnsResult(dict): +class GetSkeKubernetesVersionsKubernetesVersionResult(dict): def __init__(__self__, *, - enabled: _builtins.bool, - zones: Sequence[_builtins.str]): + expiration_date: _builtins.str, + feature_gates: Mapping[str, _builtins.str], + state: _builtins.str, + version: _builtins.str): """ - :param _builtins.bool enabled: Flag to enable/disable DNS extensions - :param Sequence[_builtins.str] zones: Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) + :param _builtins.str expiration_date: Expiration date of the version in RFC3339 format. + :param Mapping[str, _builtins.str] feature_gates: Map of available feature gates for this version. + :param _builtins.str state: State of the kubernetes version. + :param _builtins.str version: Kubernetes version string (e.g., `1.33.6`). """ - pulumi.set(__self__, "enabled", enabled) - pulumi.set(__self__, "zones", zones) + pulumi.set(__self__, "expiration_date", expiration_date) + pulumi.set(__self__, "feature_gates", feature_gates) + pulumi.set(__self__, "state", state) + pulumi.set(__self__, "version", version) @_builtins.property - @pulumi.getter - def enabled(self) -> _builtins.bool: + @pulumi.getter(name="expirationDate") + def expiration_date(self) -> _builtins.str: """ - Flag to enable/disable DNS extensions + Expiration date of the version in RFC3339 format. """ - return pulumi.get(self, "enabled") + return pulumi.get(self, "expiration_date") @_builtins.property - @pulumi.getter - def zones(self) -> Sequence[_builtins.str]: - """ - Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) - """ - return pulumi.get(self, "zones") - - -@pulumi.output_type -class GetSkeClusterExtensionsObservabilityResult(dict): - def __init__(__self__, *, - enabled: _builtins.bool, - instance_id: _builtins.str): + @pulumi.getter(name="featureGates") + def feature_gates(self) -> Mapping[str, _builtins.str]: """ - :param _builtins.bool enabled: Flag to enable/disable Observability extensions. - :param _builtins.str instance_id: Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`. + Map of available feature gates for this version. """ - pulumi.set(__self__, "enabled", enabled) - pulumi.set(__self__, "instance_id", instance_id) + return pulumi.get(self, "feature_gates") @_builtins.property @pulumi.getter - def enabled(self) -> _builtins.bool: + def state(self) -> _builtins.str: """ - Flag to enable/disable Observability extensions. + State of the kubernetes version. """ - return pulumi.get(self, "enabled") + return pulumi.get(self, "state") @_builtins.property - @pulumi.getter(name="instanceId") - def instance_id(self) -> _builtins.str: + @pulumi.getter + def version(self) -> _builtins.str: """ - Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`. + Kubernetes version string (e.g., `1.33.6`). """ - return pulumi.get(self, "instance_id") + return pulumi.get(self, "version") @pulumi.output_type -class GetSkeClusterHibernationResult(dict): +class GetSkeMachineImageVersionsMachineImageResult(dict): def __init__(__self__, *, - end: _builtins.str, - start: _builtins.str, - timezone: _builtins.str): - """ - :param _builtins.str end: End time of hibernation, in crontab syntax. - :param _builtins.str start: Start time of cluster hibernation in crontab syntax. - :param _builtins.str timezone: Timezone name corresponding to a file in the IANA Time Zone database. - """ - pulumi.set(__self__, "end", end) - pulumi.set(__self__, "start", start) - pulumi.set(__self__, "timezone", timezone) - - @_builtins.property - @pulumi.getter - def end(self) -> _builtins.str: + name: _builtins.str, + versions: Sequence['outputs.GetSkeMachineImageVersionsMachineImageVersionResult']): """ - End time of hibernation, in crontab syntax. + :param _builtins.str name: Name of the OS image (e.g., `ubuntu` or `flatcar`). + :param Sequence['GetSkeMachineImageVersionsMachineImageVersionArgs'] versions: Supported versions of the image. """ - return pulumi.get(self, "end") + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "versions", versions) @_builtins.property @pulumi.getter - def start(self) -> _builtins.str: + def name(self) -> _builtins.str: """ - Start time of cluster hibernation in crontab syntax. + Name of the OS image (e.g., `ubuntu` or `flatcar`). """ - return pulumi.get(self, "start") + return pulumi.get(self, "name") @_builtins.property @pulumi.getter - def timezone(self) -> _builtins.str: + def versions(self) -> Sequence['outputs.GetSkeMachineImageVersionsMachineImageVersionResult']: """ - Timezone name corresponding to a file in the IANA Time Zone database. + Supported versions of the image. """ - return pulumi.get(self, "timezone") + return pulumi.get(self, "versions") @pulumi.output_type -class GetSkeClusterMaintenanceResult(dict): +class GetSkeMachineImageVersionsMachineImageVersionResult(dict): def __init__(__self__, *, - enable_kubernetes_version_updates: _builtins.bool, - enable_machine_image_version_updates: _builtins.bool, - end: _builtins.str, - start: _builtins.str): - """ - :param _builtins.bool enable_kubernetes_version_updates: Flag to enable/disable auto-updates of the Kubernetes version. - :param _builtins.bool enable_machine_image_version_updates: Flag to enable/disable auto-updates of the OS image version. - :param _builtins.str end: Date time for maintenance window end. - :param _builtins.str start: Date time for maintenance window start. + cris: Sequence[_builtins.str], + expiration_date: _builtins.str, + state: _builtins.str, + version: _builtins.str): """ - pulumi.set(__self__, "enable_kubernetes_version_updates", enable_kubernetes_version_updates) - pulumi.set(__self__, "enable_machine_image_version_updates", enable_machine_image_version_updates) - pulumi.set(__self__, "end", end) - pulumi.set(__self__, "start", start) + :param Sequence[_builtins.str] cris: Container runtimes supported (e.g., `containerd`). + :param _builtins.str expiration_date: Expiration date of the version in RFC3339 format. + :param _builtins.str state: State of the image version. + :param _builtins.str version: Machine image version string. + """ + pulumi.set(__self__, "cris", cris) + pulumi.set(__self__, "expiration_date", expiration_date) + pulumi.set(__self__, "state", state) + pulumi.set(__self__, "version", version) @_builtins.property - @pulumi.getter(name="enableKubernetesVersionUpdates") - def enable_kubernetes_version_updates(self) -> _builtins.bool: + @pulumi.getter + def cris(self) -> Sequence[_builtins.str]: """ - Flag to enable/disable auto-updates of the Kubernetes version. + Container runtimes supported (e.g., `containerd`). """ - return pulumi.get(self, "enable_kubernetes_version_updates") + return pulumi.get(self, "cris") @_builtins.property - @pulumi.getter(name="enableMachineImageVersionUpdates") - def enable_machine_image_version_updates(self) -> _builtins.bool: + @pulumi.getter(name="expirationDate") + def expiration_date(self) -> _builtins.str: """ - Flag to enable/disable auto-updates of the OS image version. + Expiration date of the version in RFC3339 format. """ - return pulumi.get(self, "enable_machine_image_version_updates") + return pulumi.get(self, "expiration_date") @_builtins.property @pulumi.getter - def end(self) -> _builtins.str: + def state(self) -> _builtins.str: """ - Date time for maintenance window end. + State of the image version. """ - return pulumi.get(self, "end") + return pulumi.get(self, "state") @_builtins.property @pulumi.getter - def start(self) -> _builtins.str: + def version(self) -> _builtins.str: """ - Date time for maintenance window start. + Machine image version string. """ - return pulumi.get(self, "start") + return pulumi.get(self, "version") @pulumi.output_type -class GetSkeClusterNetworkResult(dict): +class GetSqlserverflexInstanceFlavorResult(dict): def __init__(__self__, *, - control_plane: 'outputs.GetSkeClusterNetworkControlPlaneResult', - id: _builtins.str): - """ - :param 'GetSkeClusterNetworkControlPlaneArgs' control_plane: Control plane for the cluster. - :param _builtins.str id: ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. - """ - pulumi.set(__self__, "control_plane", control_plane) + cpu: _builtins.int, + description: _builtins.str, + id: _builtins.str, + ram: _builtins.int): + pulumi.set(__self__, "cpu", cpu) + pulumi.set(__self__, "description", description) pulumi.set(__self__, "id", id) + pulumi.set(__self__, "ram", ram) @_builtins.property - @pulumi.getter(name="controlPlane") - def control_plane(self) -> 'outputs.GetSkeClusterNetworkControlPlaneResult': - """ - Control plane for the cluster. - """ - return pulumi.get(self, "control_plane") + @pulumi.getter + def cpu(self) -> _builtins.int: + return pulumi.get(self, "cpu") + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + return pulumi.get(self, "description") @_builtins.property @pulumi.getter def id(self) -> _builtins.str: - """ - ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. - """ return pulumi.get(self, "id") + @_builtins.property + @pulumi.getter + def ram(self) -> _builtins.int: + return pulumi.get(self, "ram") + @pulumi.output_type -class GetSkeClusterNetworkControlPlaneResult(dict): +class GetSqlserverflexInstanceOptionsResult(dict): def __init__(__self__, *, - access_scope: _builtins.str): - """ - :param _builtins.str access_scope: Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! - """ - pulumi.set(__self__, "access_scope", access_scope) + edition: _builtins.str, + retention_days: _builtins.int): + pulumi.set(__self__, "edition", edition) + pulumi.set(__self__, "retention_days", retention_days) @_builtins.property - @pulumi.getter(name="accessScope") - def access_scope(self) -> _builtins.str: - """ - Access scope of the control plane. It defines if the Kubernetes control plane is public or only available inside a STACKIT Network Area.Possible values are: `PUBLIC`, `SNA`. The field is immutable! - """ - return pulumi.get(self, "access_scope") + @pulumi.getter + def edition(self) -> _builtins.str: + return pulumi.get(self, "edition") + + @_builtins.property + @pulumi.getter(name="retentionDays") + def retention_days(self) -> _builtins.int: + return pulumi.get(self, "retention_days") @pulumi.output_type -class GetSkeClusterNodePoolResult(dict): +class GetSqlserverflexInstanceStorageResult(dict): def __init__(__self__, *, - allow_system_components: _builtins.bool, - availability_zones: Sequence[_builtins.str], - cri: _builtins.str, - labels: Mapping[str, _builtins.str], - machine_type: _builtins.str, - max_surge: _builtins.int, - max_unavailable: _builtins.int, - maximum: _builtins.int, - minimum: _builtins.int, - name: _builtins.str, - os_name: _builtins.str, - os_version: _builtins.str, - os_version_min: _builtins.str, - os_version_used: _builtins.str, - taints: Sequence['outputs.GetSkeClusterNodePoolTaintResult'], - volume_size: _builtins.int, - volume_type: _builtins.str): - """ - :param _builtins.bool allow_system_components: Allow system components to run on this node pool. - :param Sequence[_builtins.str] availability_zones: Specify a list of availability zones. - :param _builtins.str cri: Specifies the container runtime. - :param Mapping[str, _builtins.str] labels: Labels to add to each node. - :param _builtins.str machine_type: The machine type. - :param _builtins.int max_surge: The maximum number of nodes upgraded simultaneously. - :param _builtins.int max_unavailable: The maximum number of nodes unavailable during upgraded. - :param _builtins.int maximum: Maximum number of nodes in the pool. - :param _builtins.int minimum: Minimum number of nodes in the pool. - :param _builtins.str name: Specifies the name of the node pool. - :param _builtins.str os_name: The name of the OS image. - :param _builtins.str os_version: The OS image version. - :param _builtins.str os_version_min: The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. - :param _builtins.str os_version_used: Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). - :param Sequence['GetSkeClusterNodePoolTaintArgs'] taints: Specifies a taint list as defined below. - :param _builtins.int volume_size: The volume size in GB. - :param _builtins.str volume_type: Specifies the volume type. - """ - pulumi.set(__self__, "allow_system_components", allow_system_components) - pulumi.set(__self__, "availability_zones", availability_zones) - pulumi.set(__self__, "cri", cri) - pulumi.set(__self__, "labels", labels) - pulumi.set(__self__, "machine_type", machine_type) - pulumi.set(__self__, "max_surge", max_surge) - pulumi.set(__self__, "max_unavailable", max_unavailable) - pulumi.set(__self__, "maximum", maximum) - pulumi.set(__self__, "minimum", minimum) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "os_name", os_name) - pulumi.set(__self__, "os_version", os_version) - pulumi.set(__self__, "os_version_min", os_version_min) - pulumi.set(__self__, "os_version_used", os_version_used) - pulumi.set(__self__, "taints", taints) - pulumi.set(__self__, "volume_size", volume_size) - pulumi.set(__self__, "volume_type", volume_type) - - @_builtins.property - @pulumi.getter(name="allowSystemComponents") - def allow_system_components(self) -> _builtins.bool: - """ - Allow system components to run on this node pool. - """ - return pulumi.get(self, "allow_system_components") + class_: _builtins.str, + size: _builtins.int): + pulumi.set(__self__, "class_", class_) + pulumi.set(__self__, "size", size) @_builtins.property - @pulumi.getter(name="availabilityZones") - def availability_zones(self) -> Sequence[_builtins.str]: - """ - Specify a list of availability zones. - """ - return pulumi.get(self, "availability_zones") + @pulumi.getter(name="class") + def class_(self) -> _builtins.str: + return pulumi.get(self, "class_") @_builtins.property @pulumi.getter - def cri(self) -> _builtins.str: - """ - Specifies the container runtime. - """ - return pulumi.get(self, "cri") + def size(self) -> _builtins.int: + return pulumi.get(self, "size") - @_builtins.property - @pulumi.getter - def labels(self) -> Mapping[str, _builtins.str]: + +@pulumi.output_type +class GetTelemetryrouterDestinationConfigResult(dict): + def __init__(__self__, *, + config_type: _builtins.str, + filter: 'outputs.GetTelemetryrouterDestinationConfigFilterResult', + opentelemetry: 'outputs.GetTelemetryrouterDestinationConfigOpentelemetryResult', + s3: 'outputs.GetTelemetryrouterDestinationConfigS3Result'): """ - Labels to add to each node. + :param _builtins.str config_type: The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. + :param 'GetTelemetryrouterDestinationConfigFilterArgs' filter: The TelemetryRouter destination's filter settings + :param 'GetTelemetryrouterDestinationConfigOpentelemetryArgs' opentelemetry: OpenTelemetry configuration + :param 'GetTelemetryrouterDestinationConfigS3Args' s3: S3 configuration """ - return pulumi.get(self, "labels") + pulumi.set(__self__, "config_type", config_type) + pulumi.set(__self__, "filter", filter) + pulumi.set(__self__, "opentelemetry", opentelemetry) + pulumi.set(__self__, "s3", s3) @_builtins.property - @pulumi.getter(name="machineType") - def machine_type(self) -> _builtins.str: + @pulumi.getter(name="configType") + def config_type(self) -> _builtins.str: """ - The machine type. + The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. """ - return pulumi.get(self, "machine_type") + return pulumi.get(self, "config_type") @_builtins.property - @pulumi.getter(name="maxSurge") - def max_surge(self) -> _builtins.int: + @pulumi.getter + def filter(self) -> 'outputs.GetTelemetryrouterDestinationConfigFilterResult': """ - The maximum number of nodes upgraded simultaneously. + The TelemetryRouter destination's filter settings """ - return pulumi.get(self, "max_surge") + return pulumi.get(self, "filter") @_builtins.property - @pulumi.getter(name="maxUnavailable") - def max_unavailable(self) -> _builtins.int: + @pulumi.getter + def opentelemetry(self) -> 'outputs.GetTelemetryrouterDestinationConfigOpentelemetryResult': """ - The maximum number of nodes unavailable during upgraded. + OpenTelemetry configuration """ - return pulumi.get(self, "max_unavailable") + return pulumi.get(self, "opentelemetry") @_builtins.property @pulumi.getter - def maximum(self) -> _builtins.int: + def s3(self) -> 'outputs.GetTelemetryrouterDestinationConfigS3Result': """ - Maximum number of nodes in the pool. + S3 configuration """ - return pulumi.get(self, "maximum") + return pulumi.get(self, "s3") - @_builtins.property - @pulumi.getter - def minimum(self) -> _builtins.int: + +@pulumi.output_type +class GetTelemetryrouterDestinationConfigFilterResult(dict): + def __init__(__self__, *, + attributes: Sequence['outputs.GetTelemetryrouterDestinationConfigFilterAttributeResult']): """ - Minimum number of nodes in the pool. + :param Sequence['GetTelemetryrouterDestinationConfigFilterAttributeArgs'] attributes: The TelemetryRouter destination's filter attributes """ - return pulumi.get(self, "minimum") + pulumi.set(__self__, "attributes", attributes) @_builtins.property @pulumi.getter - def name(self) -> _builtins.str: + def attributes(self) -> Sequence['outputs.GetTelemetryrouterDestinationConfigFilterAttributeResult']: """ - Specifies the name of the node pool. + The TelemetryRouter destination's filter attributes """ - return pulumi.get(self, "name") + return pulumi.get(self, "attributes") - @_builtins.property - @pulumi.getter(name="osName") - def os_name(self) -> _builtins.str: + +@pulumi.output_type +class GetTelemetryrouterDestinationConfigFilterAttributeResult(dict): + def __init__(__self__, *, + key: _builtins.str, + level: _builtins.str, + matcher: _builtins.str, + values: Sequence[_builtins.str]): """ - The name of the OS image. + :param _builtins.str key: The TelemetryRouter destination's filter attribute key + :param _builtins.str level: The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + :param _builtins.str matcher: The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. + :param Sequence[_builtins.str] values: The TelemetryRouter destination's filter attribute values """ - return pulumi.get(self, "os_name") + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "level", level) + pulumi.set(__self__, "matcher", matcher) + pulumi.set(__self__, "values", values) @_builtins.property - @pulumi.getter(name="osVersion") - def os_version(self) -> _builtins.str: + @pulumi.getter + def key(self) -> _builtins.str: """ - The OS image version. + The TelemetryRouter destination's filter attribute key """ - return pulumi.get(self, "os_version") + return pulumi.get(self, "key") @_builtins.property - @pulumi.getter(name="osVersionMin") - def os_version_min(self) -> _builtins.str: + @pulumi.getter + def level(self) -> _builtins.str: """ - The minimum OS image version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. + The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. """ - return pulumi.get(self, "os_version_min") + return pulumi.get(self, "level") @_builtins.property - @pulumi.getter(name="osVersionUsed") - def os_version_used(self) -> _builtins.str: + @pulumi.getter + def matcher(self) -> _builtins.str: """ - Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. """ - return pulumi.get(self, "os_version_used") + return pulumi.get(self, "matcher") @_builtins.property @pulumi.getter - def taints(self) -> Sequence['outputs.GetSkeClusterNodePoolTaintResult']: + def values(self) -> Sequence[_builtins.str]: """ - Specifies a taint list as defined below. + The TelemetryRouter destination's filter attribute values """ - return pulumi.get(self, "taints") + return pulumi.get(self, "values") - @_builtins.property - @pulumi.getter(name="volumeSize") - def volume_size(self) -> _builtins.int: + +@pulumi.output_type +class GetTelemetryrouterDestinationConfigOpentelemetryResult(dict): + def __init__(__self__, *, + uri: _builtins.str): """ - The volume size in GB. + :param _builtins.str uri: OpenTelemetry destination URI """ - return pulumi.get(self, "volume_size") + pulumi.set(__self__, "uri", uri) @_builtins.property - @pulumi.getter(name="volumeType") - def volume_type(self) -> _builtins.str: + @pulumi.getter + def uri(self) -> _builtins.str: """ - Specifies the volume type. + OpenTelemetry destination URI """ - return pulumi.get(self, "volume_type") + return pulumi.get(self, "uri") @pulumi.output_type -class GetSkeClusterNodePoolTaintResult(dict): +class GetTelemetryrouterDestinationConfigS3Result(dict): def __init__(__self__, *, - effect: _builtins.str, - key: _builtins.str, - value: _builtins.str): + bucket: _builtins.str, + endpoint: _builtins.str): """ - :param _builtins.str effect: The taint effect. - :param _builtins.str key: Taint key to be applied to a node. - :param _builtins.str value: Taint value corresponding to the taint key. + :param _builtins.str bucket: S3 bucket name + :param _builtins.str endpoint: S3 endpoint """ - pulumi.set(__self__, "effect", effect) - pulumi.set(__self__, "key", key) - pulumi.set(__self__, "value", value) + pulumi.set(__self__, "bucket", bucket) + pulumi.set(__self__, "endpoint", endpoint) @_builtins.property @pulumi.getter - def effect(self) -> _builtins.str: + def bucket(self) -> _builtins.str: """ - The taint effect. + S3 bucket name """ - return pulumi.get(self, "effect") + return pulumi.get(self, "bucket") @_builtins.property @pulumi.getter - def key(self) -> _builtins.str: + def endpoint(self) -> _builtins.str: """ - Taint key to be applied to a node. + S3 endpoint """ - return pulumi.get(self, "key") + return pulumi.get(self, "endpoint") + + +@pulumi.output_type +class GetTelemetryrouterInstanceFilterResult(dict): + def __init__(__self__, *, + attributes: Sequence['outputs.GetTelemetryrouterInstanceFilterAttributeResult']): + """ + :param Sequence['GetTelemetryrouterInstanceFilterAttributeArgs'] attributes: The TelemetryRouter global filter attributes + """ + pulumi.set(__self__, "attributes", attributes) @_builtins.property @pulumi.getter - def value(self) -> _builtins.str: + def attributes(self) -> Sequence['outputs.GetTelemetryrouterInstanceFilterAttributeResult']: """ - Taint value corresponding to the taint key. + The TelemetryRouter global filter attributes """ - return pulumi.get(self, "value") + return pulumi.get(self, "attributes") @pulumi.output_type -class GetSkeKubernetesVersionsKubernetesVersionResult(dict): +class GetTelemetryrouterInstanceFilterAttributeResult(dict): def __init__(__self__, *, - expiration_date: _builtins.str, - feature_gates: Mapping[str, _builtins.str], - state: _builtins.str, - version: _builtins.str): + key: _builtins.str, + level: _builtins.str, + matcher: _builtins.str, + values: Sequence[_builtins.str]): """ - :param _builtins.str expiration_date: Expiration date of the version in RFC3339 format. - :param Mapping[str, _builtins.str] feature_gates: Map of available feature gates for this version. - :param _builtins.str state: State of the kubernetes version. - :param _builtins.str version: Kubernetes version string (e.g., `1.33.6`). + :param _builtins.str key: The TelemetryRouter global filter attribute key + :param _builtins.str level: The TelemetryRouter global filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + :param _builtins.str matcher: The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. + :param Sequence[_builtins.str] values: The TelemetryRouter global filter attributes """ - pulumi.set(__self__, "expiration_date", expiration_date) - pulumi.set(__self__, "feature_gates", feature_gates) - pulumi.set(__self__, "state", state) - pulumi.set(__self__, "version", version) + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "level", level) + pulumi.set(__self__, "matcher", matcher) + pulumi.set(__self__, "values", values) @_builtins.property - @pulumi.getter(name="expirationDate") - def expiration_date(self) -> _builtins.str: + @pulumi.getter + def key(self) -> _builtins.str: """ - Expiration date of the version in RFC3339 format. + The TelemetryRouter global filter attribute key """ - return pulumi.get(self, "expiration_date") + return pulumi.get(self, "key") @_builtins.property - @pulumi.getter(name="featureGates") - def feature_gates(self) -> Mapping[str, _builtins.str]: + @pulumi.getter + def level(self) -> _builtins.str: """ - Map of available feature gates for this version. + The TelemetryRouter global filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. """ - return pulumi.get(self, "feature_gates") + return pulumi.get(self, "level") @_builtins.property @pulumi.getter - def state(self) -> _builtins.str: + def matcher(self) -> _builtins.str: """ - State of the kubernetes version. + The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. """ - return pulumi.get(self, "state") + return pulumi.get(self, "matcher") @_builtins.property @pulumi.getter - def version(self) -> _builtins.str: + def values(self) -> Sequence[_builtins.str]: """ - Kubernetes version string (e.g., `1.33.6`). + The TelemetryRouter global filter attributes """ - return pulumi.get(self, "version") + return pulumi.get(self, "values") @pulumi.output_type -class GetSkeMachineImageVersionsMachineImageResult(dict): +class GetVolumeSourceResult(dict): def __init__(__self__, *, - name: _builtins.str, - versions: Sequence['outputs.GetSkeMachineImageVersionsMachineImageVersionResult']): + id: _builtins.str, + type: _builtins.str): """ - :param _builtins.str name: Name of the OS image (e.g., `ubuntu` or `flatcar`). - :param Sequence['GetSkeMachineImageVersionsMachineImageVersionArgs'] versions: Supported versions of the image. + :param _builtins.str id: The ID of the source, e.g. image ID + :param _builtins.str type: The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`. """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "versions", versions) + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "type", type) @_builtins.property @pulumi.getter - def name(self) -> _builtins.str: + def id(self) -> _builtins.str: """ - Name of the OS image (e.g., `ubuntu` or `flatcar`). + The ID of the source, e.g. image ID """ - return pulumi.get(self, "name") + return pulumi.get(self, "id") @_builtins.property @pulumi.getter - def versions(self) -> Sequence['outputs.GetSkeMachineImageVersionsMachineImageVersionResult']: + def type(self) -> _builtins.str: """ - Supported versions of the image. + The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`. """ - return pulumi.get(self, "versions") + return pulumi.get(self, "type") @pulumi.output_type -class GetSkeMachineImageVersionsMachineImageVersionResult(dict): +class GetVpnConnectionTunnel1Result(dict): def __init__(__self__, *, - cris: Sequence[_builtins.str], - expiration_date: _builtins.str, - state: _builtins.str, - version: _builtins.str): + bgp: 'outputs.GetVpnConnectionTunnel1BgpResult', + peering: 'outputs.GetVpnConnectionTunnel1PeeringResult', + phase1: 'outputs.GetVpnConnectionTunnel1Phase1Result', + phase2: 'outputs.GetVpnConnectionTunnel1Phase2Result', + remote_address: _builtins.str): """ - :param Sequence[_builtins.str] cris: Container runtimes supported (e.g., `containerd`). - :param _builtins.str expiration_date: Expiration date of the version in RFC3339 format. - :param _builtins.str state: State of the image version. - :param _builtins.str version: Machine image version string. + :param 'GetVpnConnectionTunnel1BgpArgs' bgp: BGP configuration for this tunnel. + :param 'GetVpnConnectionTunnel1PeeringArgs' peering: Tunnel interface peering configuration. + :param 'GetVpnConnectionTunnel1Phase1Args' phase1: IKE Phase 1 configuration. + :param 'GetVpnConnectionTunnel1Phase2Args' phase2: IKE Phase 2 configuration. + :param _builtins.str remote_address: Remote peer IPv4 address for this tunnel. """ - pulumi.set(__self__, "cris", cris) - pulumi.set(__self__, "expiration_date", expiration_date) - pulumi.set(__self__, "state", state) - pulumi.set(__self__, "version", version) + pulumi.set(__self__, "bgp", bgp) + pulumi.set(__self__, "peering", peering) + pulumi.set(__self__, "phase1", phase1) + pulumi.set(__self__, "phase2", phase2) + pulumi.set(__self__, "remote_address", remote_address) @_builtins.property @pulumi.getter - def cris(self) -> Sequence[_builtins.str]: + def bgp(self) -> 'outputs.GetVpnConnectionTunnel1BgpResult': """ - Container runtimes supported (e.g., `containerd`). + BGP configuration for this tunnel. """ - return pulumi.get(self, "cris") + return pulumi.get(self, "bgp") @_builtins.property - @pulumi.getter(name="expirationDate") - def expiration_date(self) -> _builtins.str: + @pulumi.getter + def peering(self) -> 'outputs.GetVpnConnectionTunnel1PeeringResult': """ - Expiration date of the version in RFC3339 format. + Tunnel interface peering configuration. """ - return pulumi.get(self, "expiration_date") + return pulumi.get(self, "peering") @_builtins.property @pulumi.getter - def state(self) -> _builtins.str: + def phase1(self) -> 'outputs.GetVpnConnectionTunnel1Phase1Result': """ - State of the image version. + IKE Phase 1 configuration. """ - return pulumi.get(self, "state") + return pulumi.get(self, "phase1") @_builtins.property @pulumi.getter - def version(self) -> _builtins.str: + def phase2(self) -> 'outputs.GetVpnConnectionTunnel1Phase2Result': """ - Machine image version string. + IKE Phase 2 configuration. """ - return pulumi.get(self, "version") - - -@pulumi.output_type -class GetSqlserverflexInstanceFlavorResult(dict): - def __init__(__self__, *, - cpu: _builtins.int, - description: _builtins.str, - id: _builtins.str, - ram: _builtins.int): - pulumi.set(__self__, "cpu", cpu) - pulumi.set(__self__, "description", description) - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "ram", ram) + return pulumi.get(self, "phase2") @_builtins.property - @pulumi.getter - def cpu(self) -> _builtins.int: - return pulumi.get(self, "cpu") + @pulumi.getter(name="remoteAddress") + def remote_address(self) -> _builtins.str: + """ + Remote peer IPv4 address for this tunnel. + """ + return pulumi.get(self, "remote_address") - @_builtins.property - @pulumi.getter - def description(self) -> _builtins.str: - return pulumi.get(self, "description") - @_builtins.property - @pulumi.getter - def id(self) -> _builtins.str: - return pulumi.get(self, "id") +@pulumi.output_type +class GetVpnConnectionTunnel1BgpResult(dict): + def __init__(__self__, *, + remote_asn: _builtins.int): + """ + :param _builtins.int remote_asn: Remote AS number. + """ + pulumi.set(__self__, "remote_asn", remote_asn) @_builtins.property - @pulumi.getter - def ram(self) -> _builtins.int: - return pulumi.get(self, "ram") + @pulumi.getter(name="remoteAsn") + def remote_asn(self) -> _builtins.int: + """ + Remote AS number. + """ + return pulumi.get(self, "remote_asn") @pulumi.output_type -class GetSqlserverflexInstanceOptionsResult(dict): +class GetVpnConnectionTunnel1PeeringResult(dict): def __init__(__self__, *, - edition: _builtins.str, - retention_days: _builtins.int): - pulumi.set(__self__, "edition", edition) - pulumi.set(__self__, "retention_days", retention_days) + local_address: _builtins.str, + remote_address: _builtins.str): + """ + :param _builtins.str local_address: Local tunnel interface IPv4 address. + :param _builtins.str remote_address: Remote tunnel interface IPv4 address. + """ + pulumi.set(__self__, "local_address", local_address) + pulumi.set(__self__, "remote_address", remote_address) @_builtins.property - @pulumi.getter - def edition(self) -> _builtins.str: - return pulumi.get(self, "edition") + @pulumi.getter(name="localAddress") + def local_address(self) -> _builtins.str: + """ + Local tunnel interface IPv4 address. + """ + return pulumi.get(self, "local_address") @_builtins.property - @pulumi.getter(name="retentionDays") - def retention_days(self) -> _builtins.int: - return pulumi.get(self, "retention_days") + @pulumi.getter(name="remoteAddress") + def remote_address(self) -> _builtins.str: + """ + Remote tunnel interface IPv4 address. + """ + return pulumi.get(self, "remote_address") @pulumi.output_type -class GetSqlserverflexInstanceStorageResult(dict): +class GetVpnConnectionTunnel1Phase1Result(dict): def __init__(__self__, *, - class_: _builtins.str, - size: _builtins.int): - pulumi.set(__self__, "class_", class_) - pulumi.set(__self__, "size", size) + dh_groups: Sequence[_builtins.str], + encryption_algorithms: Sequence[_builtins.str], + integrity_algorithms: Sequence[_builtins.str], + rekey_time: _builtins.int): + """ + :param Sequence[_builtins.str] dh_groups: Diffie-Hellman groups. + :param Sequence[_builtins.str] encryption_algorithms: Encryption algorithms. + :param Sequence[_builtins.str] integrity_algorithms: Integrity/hash algorithms. + :param _builtins.int rekey_time: IKE re-keying time in seconds. + """ + pulumi.set(__self__, "dh_groups", dh_groups) + pulumi.set(__self__, "encryption_algorithms", encryption_algorithms) + pulumi.set(__self__, "integrity_algorithms", integrity_algorithms) + pulumi.set(__self__, "rekey_time", rekey_time) @_builtins.property - @pulumi.getter(name="class") - def class_(self) -> _builtins.str: - return pulumi.get(self, "class_") + @pulumi.getter(name="dhGroups") + def dh_groups(self) -> Sequence[_builtins.str]: + """ + Diffie-Hellman groups. + """ + return pulumi.get(self, "dh_groups") @_builtins.property - @pulumi.getter - def size(self) -> _builtins.int: - return pulumi.get(self, "size") + @pulumi.getter(name="encryptionAlgorithms") + def encryption_algorithms(self) -> Sequence[_builtins.str]: + """ + Encryption algorithms. + """ + return pulumi.get(self, "encryption_algorithms") + + @_builtins.property + @pulumi.getter(name="integrityAlgorithms") + def integrity_algorithms(self) -> Sequence[_builtins.str]: + """ + Integrity/hash algorithms. + """ + return pulumi.get(self, "integrity_algorithms") + + @_builtins.property + @pulumi.getter(name="rekeyTime") + def rekey_time(self) -> _builtins.int: + """ + IKE re-keying time in seconds. + """ + return pulumi.get(self, "rekey_time") @pulumi.output_type -class GetTelemetryrouterDestinationConfigResult(dict): +class GetVpnConnectionTunnel1Phase2Result(dict): def __init__(__self__, *, - config_type: _builtins.str, - filter: 'outputs.GetTelemetryrouterDestinationConfigFilterResult', - opentelemetry: 'outputs.GetTelemetryrouterDestinationConfigOpentelemetryResult', - s3: 'outputs.GetTelemetryrouterDestinationConfigS3Result'): + dh_groups: Sequence[_builtins.str], + dpd_action: _builtins.str, + encryption_algorithms: Sequence[_builtins.str], + integrity_algorithms: Sequence[_builtins.str], + rekey_time: _builtins.int, + start_action: _builtins.str): """ - :param _builtins.str config_type: The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. - :param 'GetTelemetryrouterDestinationConfigFilterArgs' filter: The TelemetryRouter destination's filter settings - :param 'GetTelemetryrouterDestinationConfigOpentelemetryArgs' opentelemetry: OpenTelemetry configuration - :param 'GetTelemetryrouterDestinationConfigS3Args' s3: S3 configuration + :param Sequence[_builtins.str] dh_groups: Diffie-Hellman groups for PFS. + :param _builtins.str dpd_action: DPD timeout action (clear or restart). + :param Sequence[_builtins.str] encryption_algorithms: Encryption algorithms. + :param Sequence[_builtins.str] integrity_algorithms: Integrity/hash algorithms. + :param _builtins.int rekey_time: Child SA re-keying time in seconds. + :param _builtins.str start_action: Start action (none or start). """ - pulumi.set(__self__, "config_type", config_type) - pulumi.set(__self__, "filter", filter) - pulumi.set(__self__, "opentelemetry", opentelemetry) - pulumi.set(__self__, "s3", s3) + pulumi.set(__self__, "dh_groups", dh_groups) + pulumi.set(__self__, "dpd_action", dpd_action) + pulumi.set(__self__, "encryption_algorithms", encryption_algorithms) + pulumi.set(__self__, "integrity_algorithms", integrity_algorithms) + pulumi.set(__self__, "rekey_time", rekey_time) + pulumi.set(__self__, "start_action", start_action) @_builtins.property - @pulumi.getter(name="configType") - def config_type(self) -> _builtins.str: + @pulumi.getter(name="dhGroups") + def dh_groups(self) -> Sequence[_builtins.str]: """ - The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. + Diffie-Hellman groups for PFS. """ - return pulumi.get(self, "config_type") + return pulumi.get(self, "dh_groups") @_builtins.property - @pulumi.getter - def filter(self) -> 'outputs.GetTelemetryrouterDestinationConfigFilterResult': + @pulumi.getter(name="dpdAction") + def dpd_action(self) -> _builtins.str: """ - The TelemetryRouter destination's filter settings + DPD timeout action (clear or restart). """ - return pulumi.get(self, "filter") + return pulumi.get(self, "dpd_action") @_builtins.property - @pulumi.getter - def opentelemetry(self) -> 'outputs.GetTelemetryrouterDestinationConfigOpentelemetryResult': + @pulumi.getter(name="encryptionAlgorithms") + def encryption_algorithms(self) -> Sequence[_builtins.str]: """ - OpenTelemetry configuration + Encryption algorithms. """ - return pulumi.get(self, "opentelemetry") + return pulumi.get(self, "encryption_algorithms") @_builtins.property - @pulumi.getter - def s3(self) -> 'outputs.GetTelemetryrouterDestinationConfigS3Result': + @pulumi.getter(name="integrityAlgorithms") + def integrity_algorithms(self) -> Sequence[_builtins.str]: """ - S3 configuration + Integrity/hash algorithms. """ - return pulumi.get(self, "s3") - + return pulumi.get(self, "integrity_algorithms") -@pulumi.output_type -class GetTelemetryrouterDestinationConfigFilterResult(dict): - def __init__(__self__, *, - attributes: Sequence['outputs.GetTelemetryrouterDestinationConfigFilterAttributeResult']): + @_builtins.property + @pulumi.getter(name="rekeyTime") + def rekey_time(self) -> _builtins.int: """ - :param Sequence['GetTelemetryrouterDestinationConfigFilterAttributeArgs'] attributes: The TelemetryRouter destination's filter attributes + Child SA re-keying time in seconds. """ - pulumi.set(__self__, "attributes", attributes) + return pulumi.get(self, "rekey_time") @_builtins.property - @pulumi.getter - def attributes(self) -> Sequence['outputs.GetTelemetryrouterDestinationConfigFilterAttributeResult']: + @pulumi.getter(name="startAction") + def start_action(self) -> _builtins.str: """ - The TelemetryRouter destination's filter attributes + Start action (none or start). """ - return pulumi.get(self, "attributes") + return pulumi.get(self, "start_action") @pulumi.output_type -class GetTelemetryrouterDestinationConfigFilterAttributeResult(dict): +class GetVpnConnectionTunnel2Result(dict): def __init__(__self__, *, - key: _builtins.str, - level: _builtins.str, - matcher: _builtins.str, - values: Sequence[_builtins.str]): + bgp: 'outputs.GetVpnConnectionTunnel2BgpResult', + peering: 'outputs.GetVpnConnectionTunnel2PeeringResult', + phase1: 'outputs.GetVpnConnectionTunnel2Phase1Result', + phase2: 'outputs.GetVpnConnectionTunnel2Phase2Result', + remote_address: _builtins.str): """ - :param _builtins.str key: The TelemetryRouter destination's filter attribute key - :param _builtins.str level: The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. - :param _builtins.str matcher: The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. - :param Sequence[_builtins.str] values: The TelemetryRouter destination's filter attribute values + :param 'GetVpnConnectionTunnel2BgpArgs' bgp: BGP configuration for this tunnel. + :param 'GetVpnConnectionTunnel2PeeringArgs' peering: Tunnel interface peering configuration. + :param 'GetVpnConnectionTunnel2Phase1Args' phase1: IKE Phase 1 configuration. + :param 'GetVpnConnectionTunnel2Phase2Args' phase2: IKE Phase 2 configuration. + :param _builtins.str remote_address: Remote peer IPv4 address for this tunnel. """ - pulumi.set(__self__, "key", key) - pulumi.set(__self__, "level", level) - pulumi.set(__self__, "matcher", matcher) - pulumi.set(__self__, "values", values) + pulumi.set(__self__, "bgp", bgp) + pulumi.set(__self__, "peering", peering) + pulumi.set(__self__, "phase1", phase1) + pulumi.set(__self__, "phase2", phase2) + pulumi.set(__self__, "remote_address", remote_address) @_builtins.property @pulumi.getter - def key(self) -> _builtins.str: + def bgp(self) -> 'outputs.GetVpnConnectionTunnel2BgpResult': """ - The TelemetryRouter destination's filter attribute key + BGP configuration for this tunnel. """ - return pulumi.get(self, "key") + return pulumi.get(self, "bgp") @_builtins.property @pulumi.getter - def level(self) -> _builtins.str: + def peering(self) -> 'outputs.GetVpnConnectionTunnel2PeeringResult': """ - The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + Tunnel interface peering configuration. """ - return pulumi.get(self, "level") + return pulumi.get(self, "peering") @_builtins.property @pulumi.getter - def matcher(self) -> _builtins.str: + def phase1(self) -> 'outputs.GetVpnConnectionTunnel2Phase1Result': """ - The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. + IKE Phase 1 configuration. """ - return pulumi.get(self, "matcher") + return pulumi.get(self, "phase1") @_builtins.property @pulumi.getter - def values(self) -> Sequence[_builtins.str]: + def phase2(self) -> 'outputs.GetVpnConnectionTunnel2Phase2Result': """ - The TelemetryRouter destination's filter attribute values + IKE Phase 2 configuration. """ - return pulumi.get(self, "values") + return pulumi.get(self, "phase2") + + @_builtins.property + @pulumi.getter(name="remoteAddress") + def remote_address(self) -> _builtins.str: + """ + Remote peer IPv4 address for this tunnel. + """ + return pulumi.get(self, "remote_address") @pulumi.output_type -class GetTelemetryrouterDestinationConfigOpentelemetryResult(dict): +class GetVpnConnectionTunnel2BgpResult(dict): def __init__(__self__, *, - uri: _builtins.str): + remote_asn: _builtins.int): """ - :param _builtins.str uri: OpenTelemetry destination URI + :param _builtins.int remote_asn: Remote AS number. """ - pulumi.set(__self__, "uri", uri) + pulumi.set(__self__, "remote_asn", remote_asn) @_builtins.property - @pulumi.getter - def uri(self) -> _builtins.str: + @pulumi.getter(name="remoteAsn") + def remote_asn(self) -> _builtins.int: """ - OpenTelemetry destination URI + Remote AS number. """ - return pulumi.get(self, "uri") + return pulumi.get(self, "remote_asn") @pulumi.output_type -class GetTelemetryrouterDestinationConfigS3Result(dict): +class GetVpnConnectionTunnel2PeeringResult(dict): def __init__(__self__, *, - bucket: _builtins.str, - endpoint: _builtins.str): + local_address: _builtins.str, + remote_address: _builtins.str): """ - :param _builtins.str bucket: S3 bucket name - :param _builtins.str endpoint: S3 endpoint + :param _builtins.str local_address: Local tunnel interface IPv4 address. + :param _builtins.str remote_address: Remote tunnel interface IPv4 address. """ - pulumi.set(__self__, "bucket", bucket) - pulumi.set(__self__, "endpoint", endpoint) + pulumi.set(__self__, "local_address", local_address) + pulumi.set(__self__, "remote_address", remote_address) @_builtins.property - @pulumi.getter - def bucket(self) -> _builtins.str: + @pulumi.getter(name="localAddress") + def local_address(self) -> _builtins.str: """ - S3 bucket name + Local tunnel interface IPv4 address. """ - return pulumi.get(self, "bucket") + return pulumi.get(self, "local_address") @_builtins.property - @pulumi.getter - def endpoint(self) -> _builtins.str: + @pulumi.getter(name="remoteAddress") + def remote_address(self) -> _builtins.str: """ - S3 endpoint + Remote tunnel interface IPv4 address. """ - return pulumi.get(self, "endpoint") + return pulumi.get(self, "remote_address") @pulumi.output_type -class GetTelemetryrouterInstanceFilterResult(dict): +class GetVpnConnectionTunnel2Phase1Result(dict): def __init__(__self__, *, - attributes: Sequence['outputs.GetTelemetryrouterInstanceFilterAttributeResult']): + dh_groups: Sequence[_builtins.str], + encryption_algorithms: Sequence[_builtins.str], + integrity_algorithms: Sequence[_builtins.str], + rekey_time: _builtins.int): """ - :param Sequence['GetTelemetryrouterInstanceFilterAttributeArgs'] attributes: The TelemetryRouter global filter attributes + :param Sequence[_builtins.str] dh_groups: Diffie-Hellman groups. + :param Sequence[_builtins.str] encryption_algorithms: Encryption algorithms. + :param Sequence[_builtins.str] integrity_algorithms: Integrity/hash algorithms. + :param _builtins.int rekey_time: IKE re-keying time in seconds. """ - pulumi.set(__self__, "attributes", attributes) + pulumi.set(__self__, "dh_groups", dh_groups) + pulumi.set(__self__, "encryption_algorithms", encryption_algorithms) + pulumi.set(__self__, "integrity_algorithms", integrity_algorithms) + pulumi.set(__self__, "rekey_time", rekey_time) @_builtins.property - @pulumi.getter - def attributes(self) -> Sequence['outputs.GetTelemetryrouterInstanceFilterAttributeResult']: + @pulumi.getter(name="dhGroups") + def dh_groups(self) -> Sequence[_builtins.str]: """ - The TelemetryRouter global filter attributes + Diffie-Hellman groups. """ - return pulumi.get(self, "attributes") - + return pulumi.get(self, "dh_groups") -@pulumi.output_type -class GetTelemetryrouterInstanceFilterAttributeResult(dict): - def __init__(__self__, *, - key: _builtins.str, - level: _builtins.str, - matcher: _builtins.str, - values: Sequence[_builtins.str]): + @_builtins.property + @pulumi.getter(name="encryptionAlgorithms") + def encryption_algorithms(self) -> Sequence[_builtins.str]: """ - :param _builtins.str key: The TelemetryRouter global filter attribute key - :param _builtins.str level: The TelemetryRouter global filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. - :param _builtins.str matcher: The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. - :param Sequence[_builtins.str] values: The TelemetryRouter global filter attributes + Encryption algorithms. """ - pulumi.set(__self__, "key", key) - pulumi.set(__self__, "level", level) - pulumi.set(__self__, "matcher", matcher) - pulumi.set(__self__, "values", values) + return pulumi.get(self, "encryption_algorithms") @_builtins.property - @pulumi.getter - def key(self) -> _builtins.str: + @pulumi.getter(name="integrityAlgorithms") + def integrity_algorithms(self) -> Sequence[_builtins.str]: """ - The TelemetryRouter global filter attribute key + Integrity/hash algorithms. """ - return pulumi.get(self, "key") + return pulumi.get(self, "integrity_algorithms") @_builtins.property - @pulumi.getter - def level(self) -> _builtins.str: + @pulumi.getter(name="rekeyTime") + def rekey_time(self) -> _builtins.int: """ - The TelemetryRouter global filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + IKE re-keying time in seconds. """ - return pulumi.get(self, "level") + return pulumi.get(self, "rekey_time") + + +@pulumi.output_type +class GetVpnConnectionTunnel2Phase2Result(dict): + def __init__(__self__, *, + dh_groups: Sequence[_builtins.str], + dpd_action: _builtins.str, + encryption_algorithms: Sequence[_builtins.str], + integrity_algorithms: Sequence[_builtins.str], + rekey_time: _builtins.int, + start_action: _builtins.str): + """ + :param Sequence[_builtins.str] dh_groups: Diffie-Hellman groups for PFS. + :param _builtins.str dpd_action: DPD timeout action (clear or restart). + :param Sequence[_builtins.str] encryption_algorithms: Encryption algorithms. + :param Sequence[_builtins.str] integrity_algorithms: Integrity/hash algorithms. + :param _builtins.int rekey_time: Child SA re-keying time in seconds. + :param _builtins.str start_action: Start action (none or start). + """ + pulumi.set(__self__, "dh_groups", dh_groups) + pulumi.set(__self__, "dpd_action", dpd_action) + pulumi.set(__self__, "encryption_algorithms", encryption_algorithms) + pulumi.set(__self__, "integrity_algorithms", integrity_algorithms) + pulumi.set(__self__, "rekey_time", rekey_time) + pulumi.set(__self__, "start_action", start_action) @_builtins.property - @pulumi.getter - def matcher(self) -> _builtins.str: + @pulumi.getter(name="dhGroups") + def dh_groups(self) -> Sequence[_builtins.str]: """ - The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. + Diffie-Hellman groups for PFS. """ - return pulumi.get(self, "matcher") + return pulumi.get(self, "dh_groups") @_builtins.property - @pulumi.getter - def values(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="dpdAction") + def dpd_action(self) -> _builtins.str: """ - The TelemetryRouter global filter attributes + DPD timeout action (clear or restart). """ - return pulumi.get(self, "values") + return pulumi.get(self, "dpd_action") + @_builtins.property + @pulumi.getter(name="encryptionAlgorithms") + def encryption_algorithms(self) -> Sequence[_builtins.str]: + """ + Encryption algorithms. + """ + return pulumi.get(self, "encryption_algorithms") -@pulumi.output_type -class GetVolumeSourceResult(dict): - def __init__(__self__, *, - id: _builtins.str, - type: _builtins.str): + @_builtins.property + @pulumi.getter(name="integrityAlgorithms") + def integrity_algorithms(self) -> Sequence[_builtins.str]: """ - :param _builtins.str id: The ID of the source, e.g. image ID - :param _builtins.str type: The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`. + Integrity/hash algorithms. """ - pulumi.set(__self__, "id", id) - pulumi.set(__self__, "type", type) + return pulumi.get(self, "integrity_algorithms") @_builtins.property - @pulumi.getter - def id(self) -> _builtins.str: + @pulumi.getter(name="rekeyTime") + def rekey_time(self) -> _builtins.int: """ - The ID of the source, e.g. image ID + Child SA re-keying time in seconds. """ - return pulumi.get(self, "id") + return pulumi.get(self, "rekey_time") @_builtins.property - @pulumi.getter - def type(self) -> _builtins.str: + @pulumi.getter(name="startAction") + def start_action(self) -> _builtins.str: """ - The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`. + Start action (none or start). """ - return pulumi.get(self, "type") + return pulumi.get(self, "start_action") @pulumi.output_type @@ -15423,3 +16756,83 @@ def override_advertised_routes(self) -> Sequence[_builtins.str]: return pulumi.get(self, "override_advertised_routes") +@pulumi.output_type +class GetVpnGatewayStatusConnectionResult(dict): + def __init__(__self__, *, + connection_id: _builtins.str, + display_name: _builtins.str, + enabled: _builtins.bool): + """ + :param _builtins.str connection_id: ID of the VPN connection. + :param _builtins.str display_name: Display name of the VPN connection. + :param _builtins.bool enabled: Wether the VPN connection is enabled or not. + """ + pulumi.set(__self__, "connection_id", connection_id) + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "enabled", enabled) + + @_builtins.property + @pulumi.getter(name="connectionId") + def connection_id(self) -> _builtins.str: + """ + ID of the VPN connection. + """ + return pulumi.get(self, "connection_id") + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> _builtins.str: + """ + Display name of the VPN connection. + """ + return pulumi.get(self, "display_name") + + @_builtins.property + @pulumi.getter + def enabled(self) -> _builtins.bool: + """ + Wether the VPN connection is enabled or not. + """ + return pulumi.get(self, "enabled") + + +@pulumi.output_type +class GetVpnGatewayStatusTunnelResult(dict): + def __init__(__self__, *, + internal_next_hop_ip: _builtins.str, + name: _builtins.str, + public_ip: _builtins.str): + """ + :param _builtins.str internal_next_hop_ip: The IPv4 address of the endpoint in the SNA. + :param _builtins.str name: The name of the VPN tunnel. Possible values are: `tunnel1`, `tunnel2`. + :param _builtins.str public_ip: The public IPv4 address of this endpoint. + """ + pulumi.set(__self__, "internal_next_hop_ip", internal_next_hop_ip) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "public_ip", public_ip) + + @_builtins.property + @pulumi.getter(name="internalNextHopIp") + def internal_next_hop_ip(self) -> _builtins.str: + """ + The IPv4 address of the endpoint in the SNA. + """ + return pulumi.get(self, "internal_next_hop_ip") + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + The name of the VPN tunnel. Possible values are: `tunnel1`, `tunnel2`. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="publicIp") + def public_ip(self) -> _builtins.str: + """ + The public IPv4 address of this endpoint. + """ + return pulumi.get(self, "public_ip") + + diff --git a/sdk/python/pulumi_stackit/resourcemanager_project.py b/sdk/python/pulumi_stackit/resourcemanager_project.py index 177e9f3..04876d5 100644 --- a/sdk/python/pulumi_stackit/resourcemanager_project.py +++ b/sdk/python/pulumi_stackit/resourcemanager_project.py @@ -28,7 +28,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] owner_email: Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect. :param pulumi.Input[_builtins.str] parent_container_id: Parent resource identifier. Both container ID (user-friendly) and UUID are supported - :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}.\\ To create a project within a STACKIT Network Area, setting the label `networkArea=` is required. This can not be changed after project creation. :param pulumi.Input[_builtins.str] name: Project name. """ @@ -67,7 +67,7 @@ def parent_container_id(self, value: pulumi.Input[_builtins.str]): @pulumi.getter def labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: """ - Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}. + Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}.\\ To create a project within a STACKIT Network Area, setting the label `networkArea=` is required. This can not be changed after project creation. """ return pulumi.get(self, "labels") @@ -105,7 +105,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] container_id: Project container ID. Globally unique, user-friendly identifier. :param pulumi.Input[_builtins.str] creation_time: Date-time at which the project was created. - :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}.\\ To create a project within a STACKIT Network Area, setting the label `networkArea=` is required. This can not be changed after project creation. :param pulumi.Input[_builtins.str] name: Project name. :param pulumi.Input[_builtins.str] owner_email: Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect. @@ -158,7 +158,7 @@ def creation_time(self, value: pulumi.Input[Optional[_builtins.str]]): @pulumi.getter def labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: """ - Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}. + Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}.\\ To create a project within a STACKIT Network Area, setting the label `networkArea=` is required. This can not be changed after project creation. """ return pulumi.get(self, "labels") @@ -249,7 +249,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. - :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}.\\ To create a project within a STACKIT Network Area, setting the label `networkArea=` is required. This can not be changed after project creation. :param pulumi.Input[_builtins.str] name: Project name. :param pulumi.Input[_builtins.str] owner_email: Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect. @@ -336,7 +336,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] container_id: Project container ID. Globally unique, user-friendly identifier. :param pulumi.Input[_builtins.str] creation_time: Date-time at which the project was created. - :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}.\\ To create a project within a STACKIT Network Area, setting the label `networkArea=` is required. This can not be changed after project creation. :param pulumi.Input[_builtins.str] name: Project name. :param pulumi.Input[_builtins.str] owner_email: Email address of the owner of the project. This value is only considered during creation. Changing it afterwards will have no effect. @@ -378,7 +378,7 @@ def creation_time(self) -> pulumi.Output[_builtins.str]: @pulumi.getter def labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: """ - Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}. + Labels are key-value string pairs which can be attached to a resource container. A label key must match the regex [A-ZÄÜÖa-zäüöß0-9_-]{1,64}. A label value must match the regex ^$|[A-ZÄÜÖa-zäüöß0-9_-]{1,64}.\\ To create a project within a STACKIT Network Area, setting the label `networkArea=` is required. This can not be changed after project creation. """ return pulumi.get(self, "labels") diff --git a/sdk/python/pulumi_stackit/ske_cluster.py b/sdk/python/pulumi_stackit/ske_cluster.py index 6101979..4b03372 100644 --- a/sdk/python/pulumi_stackit/ske_cluster.py +++ b/sdk/python/pulumi_stackit/ske_cluster.py @@ -23,6 +23,7 @@ class SkeClusterArgs: def __init__(__self__, *, node_pools: pulumi.Input[Sequence[pulumi.Input['SkeClusterNodePoolArgs']]], project_id: pulumi.Input[_builtins.str], + access: pulumi.Input[Optional['SkeClusterAccessArgs']] = None, extensions: pulumi.Input[Optional['SkeClusterExtensionsArgs']] = None, hibernations: pulumi.Input[Optional[Sequence[pulumi.Input['SkeClusterHibernationArgs']]]] = None, kubernetes_version_min: pulumi.Input[Optional[_builtins.str]] = None, @@ -36,6 +37,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input['SkeClusterNodePoolArgs']]] node_pools: One or more `node_pool` block as defined below. To keep your Terraform plans clean and readable, always append new node pools to the end of the list. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the cluster is associated. + :param pulumi.Input['SkeClusterAccessArgs'] access: Configure access to the cluster :param pulumi.Input['SkeClusterExtensionsArgs'] extensions: A single extensions block as defined below. :param pulumi.Input[Sequence[pulumi.Input['SkeClusterHibernationArgs']]] hibernations: One or more hibernation block as defined below. :param pulumi.Input[_builtins.str] kubernetes_version_min: The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field. @@ -46,6 +48,8 @@ def __init__(__self__, *, """ pulumi.set(__self__, "node_pools", node_pools) pulumi.set(__self__, "project_id", project_id) + if access is not None: + pulumi.set(__self__, "access", access) if extensions is not None: pulumi.set(__self__, "extensions", extensions) if hibernations is not None: @@ -86,6 +90,18 @@ def project_id(self) -> pulumi.Input[_builtins.str]: def project_id(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "project_id", value) + @_builtins.property + @pulumi.getter + def access(self) -> pulumi.Input[Optional['SkeClusterAccessArgs']]: + """ + Configure access to the cluster + """ + return pulumi.get(self, "access") + + @access.setter + def access(self, value: pulumi.Input[Optional['SkeClusterAccessArgs']]): + pulumi.set(self, "access", value) + @_builtins.property @pulumi.getter def extensions(self) -> pulumi.Input[Optional['SkeClusterExtensionsArgs']]: @@ -174,6 +190,7 @@ def region(self, value: pulumi.Input[Optional[_builtins.str]]): @pulumi.input_type class _SkeClusterState: def __init__(__self__, *, + access: pulumi.Input[Optional['SkeClusterAccessArgs']] = None, egress_address_ranges: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, extensions: pulumi.Input[Optional['SkeClusterExtensionsArgs']] = None, hibernations: pulumi.Input[Optional[Sequence[pulumi.Input['SkeClusterHibernationArgs']]]] = None, @@ -189,6 +206,7 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering SkeCluster resources. + :param pulumi.Input['SkeClusterAccessArgs'] access: Configure access to the cluster :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] egress_address_ranges: The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. :param pulumi.Input['SkeClusterExtensionsArgs'] extensions: A single extensions block as defined below. :param pulumi.Input[Sequence[pulumi.Input['SkeClusterHibernationArgs']]] hibernations: One or more hibernation block as defined below. @@ -203,6 +221,8 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the cluster is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ + if access is not None: + pulumi.set(__self__, "access", access) if egress_address_ranges is not None: pulumi.set(__self__, "egress_address_ranges", egress_address_ranges) if extensions is not None: @@ -228,6 +248,18 @@ def __init__(__self__, *, if region is not None: pulumi.set(__self__, "region", region) + @_builtins.property + @pulumi.getter + def access(self) -> pulumi.Input[Optional['SkeClusterAccessArgs']]: + """ + Configure access to the cluster + """ + return pulumi.get(self, "access") + + @access.setter + def access(self, value: pulumi.Input[Optional['SkeClusterAccessArgs']]): + pulumi.set(self, "access", value) + @_builtins.property @pulumi.getter(name="egressAddressRanges") def egress_address_ranges(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: @@ -380,6 +412,7 @@ class SkeCluster(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + access: pulumi.Input[Optional[Union['SkeClusterAccessArgs', 'SkeClusterAccessArgsDict']]] = None, extensions: pulumi.Input[Optional[Union['SkeClusterExtensionsArgs', 'SkeClusterExtensionsArgsDict']]] = None, hibernations: pulumi.Input[Optional[Sequence[pulumi.Input[Union['SkeClusterHibernationArgs', 'SkeClusterHibernationArgsDict']]]]] = None, kubernetes_version_min: pulumi.Input[Optional[_builtins.str]] = None, @@ -400,6 +433,7 @@ def __init__(__self__, :param str resource_name: The name of the resource. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Union['SkeClusterAccessArgs', 'SkeClusterAccessArgsDict']] access: Configure access to the cluster :param pulumi.Input[Union['SkeClusterExtensionsArgs', 'SkeClusterExtensionsArgsDict']] extensions: A single extensions block as defined below. :param pulumi.Input[Sequence[pulumi.Input[Union['SkeClusterHibernationArgs', 'SkeClusterHibernationArgsDict']]]] hibernations: One or more hibernation block as defined below. :param pulumi.Input[_builtins.str] kubernetes_version_min: The minimum Kubernetes version. This field will be used to set the minimum kubernetes version on creation/update of the cluster. If unset, the latest supported Kubernetes version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the read-only `kubernetes_version_used` field. @@ -440,6 +474,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + access: pulumi.Input[Optional[Union['SkeClusterAccessArgs', 'SkeClusterAccessArgsDict']]] = None, extensions: pulumi.Input[Optional[Union['SkeClusterExtensionsArgs', 'SkeClusterExtensionsArgsDict']]] = None, hibernations: pulumi.Input[Optional[Sequence[pulumi.Input[Union['SkeClusterHibernationArgs', 'SkeClusterHibernationArgsDict']]]]] = None, kubernetes_version_min: pulumi.Input[Optional[_builtins.str]] = None, @@ -458,6 +493,7 @@ def _internal_init(__self__, raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') __props__ = SkeClusterArgs.__new__(SkeClusterArgs) + __props__.__dict__["access"] = access __props__.__dict__["extensions"] = extensions __props__.__dict__["hibernations"] = hibernations __props__.__dict__["kubernetes_version_min"] = kubernetes_version_min @@ -484,6 +520,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + access: pulumi.Input[Optional[Union['SkeClusterAccessArgs', 'SkeClusterAccessArgsDict']]] = None, egress_address_ranges: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, extensions: pulumi.Input[Optional[Union['SkeClusterExtensionsArgs', 'SkeClusterExtensionsArgsDict']]] = None, hibernations: pulumi.Input[Optional[Sequence[pulumi.Input[Union['SkeClusterHibernationArgs', 'SkeClusterHibernationArgsDict']]]]] = None, @@ -503,6 +540,7 @@ def get(resource_name: str, :param str resource_name: The unique name of the resulting resource. :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Union['SkeClusterAccessArgs', 'SkeClusterAccessArgsDict']] access: Configure access to the cluster :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] egress_address_ranges: The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster. :param pulumi.Input[Union['SkeClusterExtensionsArgs', 'SkeClusterExtensionsArgsDict']] extensions: A single extensions block as defined below. :param pulumi.Input[Sequence[pulumi.Input[Union['SkeClusterHibernationArgs', 'SkeClusterHibernationArgsDict']]]] hibernations: One or more hibernation block as defined below. @@ -521,6 +559,7 @@ def get(resource_name: str, __props__ = _SkeClusterState.__new__(_SkeClusterState) + __props__.__dict__["access"] = access __props__.__dict__["egress_address_ranges"] = egress_address_ranges __props__.__dict__["extensions"] = extensions __props__.__dict__["hibernations"] = hibernations @@ -535,6 +574,14 @@ def get(resource_name: str, __props__.__dict__["region"] = region return SkeCluster(resource_name, opts=opts, __props__=__props__) + @_builtins.property + @pulumi.getter + def access(self) -> pulumi.Output['outputs.SkeClusterAccess']: + """ + Configure access to the cluster + """ + return pulumi.get(self, "access") + @_builtins.property @pulumi.getter(name="egressAddressRanges") def egress_address_ranges(self) -> pulumi.Output[Sequence[_builtins.str]]: diff --git a/sdk/python/pulumi_stackit/vpn_connection.py b/sdk/python/pulumi_stackit/vpn_connection.py new file mode 100644 index 0000000..fd89a61 --- /dev/null +++ b/sdk/python/pulumi_stackit/vpn_connection.py @@ -0,0 +1,678 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities +from . import outputs +from ._inputs import * + +__all__ = ['VpnConnectionArgs', 'VpnConnection'] + +@pulumi.input_type +class VpnConnectionArgs: + def __init__(__self__, *, + display_name: pulumi.Input[_builtins.str], + gateway_id: pulumi.Input[_builtins.str], + project_id: pulumi.Input[_builtins.str], + tunnel1: pulumi.Input['VpnConnectionTunnel1Args'], + tunnel2: pulumi.Input['VpnConnectionTunnel2Args'], + enabled: pulumi.Input[Optional[_builtins.bool]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + local_subnets: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + remote_subnets: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + static_routes: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None): + """ + The set of arguments for constructing a VpnConnection resource. + + :param pulumi.Input[_builtins.str] display_name: A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long. + :param pulumi.Input[_builtins.str] gateway_id: The UUID of the parent VPN gateway. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID. + :param pulumi.Input['VpnConnectionTunnel1Args'] tunnel1: Configuration for the IPsec tunnel1 + :param pulumi.Input['VpnConnectionTunnel2Args'] tunnel2: Configuration for the IPsec tunnel2 + + > Write-Only argument `pre_shared_key_wo` is available to use in place of `pre_shared_key`. 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). + :param pulumi.Input[_builtins.bool] enabled: Whether this connection is enabled. Defaults to true. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Map of custom labels. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] local_subnets: 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. + :param pulumi.Input[_builtins.str] region: STACKIT region. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] remote_subnets: 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. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] static_routes: List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways. + """ + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "gateway_id", gateway_id) + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "tunnel1", tunnel1) + pulumi.set(__self__, "tunnel2", tunnel2) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if local_subnets is not None: + pulumi.set(__self__, "local_subnets", local_subnets) + if region is not None: + pulumi.set(__self__, "region", region) + if remote_subnets is not None: + pulumi.set(__self__, "remote_subnets", remote_subnets) + if static_routes is not None: + pulumi.set(__self__, "static_routes", static_routes) + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[_builtins.str]: + """ + A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "display_name", value) + + @_builtins.property + @pulumi.getter(name="gatewayId") + def gateway_id(self) -> pulumi.Input[_builtins.str]: + """ + The UUID of the parent VPN gateway. + """ + return pulumi.get(self, "gateway_id") + + @gateway_id.setter + def gateway_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "gateway_id", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT project ID. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter + def tunnel1(self) -> pulumi.Input['VpnConnectionTunnel1Args']: + """ + Configuration for the IPsec tunnel1 + """ + return pulumi.get(self, "tunnel1") + + @tunnel1.setter + def tunnel1(self, value: pulumi.Input['VpnConnectionTunnel1Args']): + pulumi.set(self, "tunnel1", value) + + @_builtins.property + @pulumi.getter + def tunnel2(self) -> pulumi.Input['VpnConnectionTunnel2Args']: + """ + Configuration for the IPsec tunnel2 + + > Write-Only argument `pre_shared_key_wo` is available to use in place of `pre_shared_key`. 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). + """ + return pulumi.get(self, "tunnel2") + + @tunnel2.setter + def tunnel2(self, value: pulumi.Input['VpnConnectionTunnel2Args']): + pulumi.set(self, "tunnel2", value) + + @_builtins.property + @pulumi.getter + def enabled(self) -> pulumi.Input[Optional[_builtins.bool]]: + """ + Whether this connection is enabled. Defaults to true. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "enabled", value) + + @_builtins.property + @pulumi.getter + def labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + Map of custom labels. + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "labels", value) + + @_builtins.property + @pulumi.getter(name="localSubnets") + def local_subnets(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + """ + 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. + """ + return pulumi.get(self, "local_subnets") + + @local_subnets.setter + def local_subnets(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "local_subnets", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT region. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter(name="remoteSubnets") + def remote_subnets(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + """ + 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. + """ + return pulumi.get(self, "remote_subnets") + + @remote_subnets.setter + def remote_subnets(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "remote_subnets", value) + + @_builtins.property + @pulumi.getter(name="staticRoutes") + def static_routes(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + """ + List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways. + """ + return pulumi.get(self, "static_routes") + + @static_routes.setter + def static_routes(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "static_routes", value) + + +@pulumi.input_type +class _VpnConnectionState: + def __init__(__self__, *, + connection_id: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + enabled: pulumi.Input[Optional[_builtins.bool]] = None, + gateway_id: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + local_subnets: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + remote_subnets: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + static_routes: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + tunnel1: pulumi.Input[Optional['VpnConnectionTunnel1Args']] = None, + tunnel2: pulumi.Input[Optional['VpnConnectionTunnel2Args']] = None): + """ + Input properties used for looking up and filtering VpnConnection resources. + + :param pulumi.Input[_builtins.str] connection_id: The server-generated UUID of the VPN connection. + :param pulumi.Input[_builtins.str] display_name: A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long. + :param pulumi.Input[_builtins.bool] enabled: Whether this connection is enabled. Defaults to true. + :param pulumi.Input[_builtins.str] gateway_id: The UUID of the parent VPN gateway. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Map of custom labels. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] local_subnets: 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. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID. + :param pulumi.Input[_builtins.str] region: STACKIT region. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] remote_subnets: 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. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] static_routes: List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways. + :param pulumi.Input['VpnConnectionTunnel1Args'] tunnel1: Configuration for the IPsec tunnel1 + :param pulumi.Input['VpnConnectionTunnel2Args'] tunnel2: Configuration for the IPsec tunnel2 + + > Write-Only argument `pre_shared_key_wo` is available to use in place of `pre_shared_key`. 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). + """ + if connection_id is not None: + pulumi.set(__self__, "connection_id", connection_id) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if enabled is not None: + pulumi.set(__self__, "enabled", enabled) + if gateway_id is not None: + pulumi.set(__self__, "gateway_id", gateway_id) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if local_subnets is not None: + pulumi.set(__self__, "local_subnets", local_subnets) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) + if remote_subnets is not None: + pulumi.set(__self__, "remote_subnets", remote_subnets) + if static_routes is not None: + pulumi.set(__self__, "static_routes", static_routes) + if tunnel1 is not None: + pulumi.set(__self__, "tunnel1", tunnel1) + if tunnel2 is not None: + pulumi.set(__self__, "tunnel2", tunnel2) + + @_builtins.property + @pulumi.getter(name="connectionId") + def connection_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The server-generated UUID of the VPN connection. + """ + return pulumi.get(self, "connection_id") + + @connection_id.setter + def connection_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "connection_id", value) + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "display_name", value) + + @_builtins.property + @pulumi.getter + def enabled(self) -> pulumi.Input[Optional[_builtins.bool]]: + """ + Whether this connection is enabled. Defaults to true. + """ + return pulumi.get(self, "enabled") + + @enabled.setter + def enabled(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "enabled", value) + + @_builtins.property + @pulumi.getter(name="gatewayId") + def gateway_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The UUID of the parent VPN gateway. + """ + return pulumi.get(self, "gateway_id") + + @gateway_id.setter + def gateway_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "gateway_id", value) + + @_builtins.property + @pulumi.getter + def labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + Map of custom labels. + """ + return pulumi.get(self, "labels") + + @labels.setter + def labels(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "labels", value) + + @_builtins.property + @pulumi.getter(name="localSubnets") + def local_subnets(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + """ + 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. + """ + return pulumi.get(self, "local_subnets") + + @local_subnets.setter + def local_subnets(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "local_subnets", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT project ID. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT region. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter(name="remoteSubnets") + def remote_subnets(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + """ + 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. + """ + return pulumi.get(self, "remote_subnets") + + @remote_subnets.setter + def remote_subnets(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "remote_subnets", value) + + @_builtins.property + @pulumi.getter(name="staticRoutes") + def static_routes(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + """ + List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways. + """ + return pulumi.get(self, "static_routes") + + @static_routes.setter + def static_routes(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "static_routes", value) + + @_builtins.property + @pulumi.getter + def tunnel1(self) -> pulumi.Input[Optional['VpnConnectionTunnel1Args']]: + """ + Configuration for the IPsec tunnel1 + """ + return pulumi.get(self, "tunnel1") + + @tunnel1.setter + def tunnel1(self, value: pulumi.Input[Optional['VpnConnectionTunnel1Args']]): + pulumi.set(self, "tunnel1", value) + + @_builtins.property + @pulumi.getter + def tunnel2(self) -> pulumi.Input[Optional['VpnConnectionTunnel2Args']]: + """ + Configuration for the IPsec tunnel2 + + > Write-Only argument `pre_shared_key_wo` is available to use in place of `pre_shared_key`. 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). + """ + return pulumi.get(self, "tunnel2") + + @tunnel2.setter + def tunnel2(self, value: pulumi.Input[Optional['VpnConnectionTunnel2Args']]): + pulumi.set(self, "tunnel2", value) + + +@pulumi.type_token("stackit:index/vpnConnection:VpnConnection") +class VpnConnection(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + enabled: pulumi.Input[Optional[_builtins.bool]] = None, + gateway_id: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + local_subnets: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + remote_subnets: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + static_routes: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + tunnel1: pulumi.Input[Optional[Union['VpnConnectionTunnel1Args', 'VpnConnectionTunnel1ArgsDict']]] = None, + tunnel2: pulumi.Input[Optional[Union['VpnConnectionTunnel2Args', 'VpnConnectionTunnel2ArgsDict']]] = None, + __props__=None): + """ + VPN Connection resource schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on resource level. + + ## Example Usage + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] display_name: A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long. + :param pulumi.Input[_builtins.bool] enabled: Whether this connection is enabled. Defaults to true. + :param pulumi.Input[_builtins.str] gateway_id: The UUID of the parent VPN gateway. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Map of custom labels. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] local_subnets: 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. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID. + :param pulumi.Input[_builtins.str] region: STACKIT region. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] remote_subnets: 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. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] static_routes: List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways. + :param pulumi.Input[Union['VpnConnectionTunnel1Args', 'VpnConnectionTunnel1ArgsDict']] tunnel1: Configuration for the IPsec tunnel1 + :param pulumi.Input[Union['VpnConnectionTunnel2Args', 'VpnConnectionTunnel2ArgsDict']] tunnel2: Configuration for the IPsec tunnel2 + + > Write-Only argument `pre_shared_key_wo` is available to use in place of `pre_shared_key`. 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). + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VpnConnectionArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + VPN Connection resource schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on resource level. + + ## Example Usage + + + :param str resource_name: The name of the resource. + :param VpnConnectionArgs args: The arguments to use to populate this resource's properties. + :param pulumi.ResourceOptions opts: Options for the resource. + """ + ... + def __init__(__self__, resource_name: str, *args, **kwargs): + resource_args, opts = _utilities.get_resource_args_opts(VpnConnectionArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + enabled: pulumi.Input[Optional[_builtins.bool]] = None, + gateway_id: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + local_subnets: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + remote_subnets: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + static_routes: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + tunnel1: pulumi.Input[Optional[Union['VpnConnectionTunnel1Args', 'VpnConnectionTunnel1ArgsDict']]] = None, + tunnel2: pulumi.Input[Optional[Union['VpnConnectionTunnel2Args', 'VpnConnectionTunnel2ArgsDict']]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = VpnConnectionArgs.__new__(VpnConnectionArgs) + + if display_name is None and not opts.urn: + raise TypeError("Missing required property 'display_name'") + __props__.__dict__["display_name"] = display_name + __props__.__dict__["enabled"] = enabled + if gateway_id is None and not opts.urn: + raise TypeError("Missing required property 'gateway_id'") + __props__.__dict__["gateway_id"] = gateway_id + __props__.__dict__["labels"] = labels + __props__.__dict__["local_subnets"] = local_subnets + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["remote_subnets"] = remote_subnets + __props__.__dict__["static_routes"] = static_routes + if tunnel1 is None and not opts.urn: + raise TypeError("Missing required property 'tunnel1'") + __props__.__dict__["tunnel1"] = tunnel1 + if tunnel2 is None and not opts.urn: + raise TypeError("Missing required property 'tunnel2'") + __props__.__dict__["tunnel2"] = tunnel2 + __props__.__dict__["connection_id"] = None + super(VpnConnection, __self__).__init__( + 'stackit:index/vpnConnection:VpnConnection', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + connection_id: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + enabled: pulumi.Input[Optional[_builtins.bool]] = None, + gateway_id: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + local_subnets: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + remote_subnets: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + static_routes: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + tunnel1: pulumi.Input[Optional[Union['VpnConnectionTunnel1Args', 'VpnConnectionTunnel1ArgsDict']]] = None, + tunnel2: pulumi.Input[Optional[Union['VpnConnectionTunnel2Args', 'VpnConnectionTunnel2ArgsDict']]] = None) -> 'VpnConnection': + """ + Get an existing VpnConnection resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] connection_id: The server-generated UUID of the VPN connection. + :param pulumi.Input[_builtins.str] display_name: A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long. + :param pulumi.Input[_builtins.bool] enabled: Whether this connection is enabled. Defaults to true. + :param pulumi.Input[_builtins.str] gateway_id: The UUID of the parent VPN gateway. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Map of custom labels. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] local_subnets: 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. + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID. + :param pulumi.Input[_builtins.str] region: STACKIT region. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] remote_subnets: 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. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] static_routes: List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways. + :param pulumi.Input[Union['VpnConnectionTunnel1Args', 'VpnConnectionTunnel1ArgsDict']] tunnel1: Configuration for the IPsec tunnel1 + :param pulumi.Input[Union['VpnConnectionTunnel2Args', 'VpnConnectionTunnel2ArgsDict']] tunnel2: Configuration for the IPsec tunnel2 + + > Write-Only argument `pre_shared_key_wo` is available to use in place of `pre_shared_key`. 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). + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _VpnConnectionState.__new__(_VpnConnectionState) + + __props__.__dict__["connection_id"] = connection_id + __props__.__dict__["display_name"] = display_name + __props__.__dict__["enabled"] = enabled + __props__.__dict__["gateway_id"] = gateway_id + __props__.__dict__["labels"] = labels + __props__.__dict__["local_subnets"] = local_subnets + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["remote_subnets"] = remote_subnets + __props__.__dict__["static_routes"] = static_routes + __props__.__dict__["tunnel1"] = tunnel1 + __props__.__dict__["tunnel2"] = tunnel2 + return VpnConnection(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="connectionId") + def connection_id(self) -> pulumi.Output[_builtins.str]: + """ + The server-generated UUID of the VPN connection. + """ + return pulumi.get(self, "connection_id") + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[_builtins.str]: + """ + A user-friendly name for the connection. Must start and end with an alphanumeric character, may contain hyphens, and be 1-63 characters long. + """ + return pulumi.get(self, "display_name") + + @_builtins.property + @pulumi.getter + def enabled(self) -> pulumi.Output[_builtins.bool]: + """ + Whether this connection is enabled. Defaults to true. + """ + return pulumi.get(self, "enabled") + + @_builtins.property + @pulumi.getter(name="gatewayId") + def gateway_id(self) -> pulumi.Output[_builtins.str]: + """ + The UUID of the parent VPN gateway. + """ + return pulumi.get(self, "gateway_id") + + @_builtins.property + @pulumi.getter + def labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + Map of custom labels. + """ + return pulumi.get(self, "labels") + + @_builtins.property + @pulumi.getter(name="localSubnets") + def local_subnets(self) -> pulumi.Output[Sequence[_builtins.str]]: + """ + 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. + """ + return pulumi.get(self, "local_subnets") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT project ID. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT region. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter(name="remoteSubnets") + def remote_subnets(self) -> pulumi.Output[Sequence[_builtins.str]]: + """ + 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. + """ + return pulumi.get(self, "remote_subnets") + + @_builtins.property + @pulumi.getter(name="staticRoutes") + def static_routes(self) -> pulumi.Output[Sequence[_builtins.str]]: + """ + List of static routes (IPv4 CIDRs) for route-based VPN. Mandatory for ROUTE_BASED gateways. + """ + return pulumi.get(self, "static_routes") + + @_builtins.property + @pulumi.getter + def tunnel1(self) -> pulumi.Output['outputs.VpnConnectionTunnel1']: + """ + Configuration for the IPsec tunnel1 + """ + return pulumi.get(self, "tunnel1") + + @_builtins.property + @pulumi.getter + def tunnel2(self) -> pulumi.Output['outputs.VpnConnectionTunnel2']: + """ + Configuration for the IPsec tunnel2 + + > Write-Only argument `pre_shared_key_wo` is available to use in place of `pre_shared_key`. 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). + """ + return pulumi.get(self, "tunnel2") +