From 41f4d53b5dbb9bd8e70d4bf5c2f819efb1b5f402 Mon Sep 17 00:00:00 2001 From: Pulumi Generator Bot Date: Thu, 18 Jun 2026 07:02:01 +0000 Subject: [PATCH 1/2] make tfgen --- .../bridge-metadata.json | 158 + .../cmd/pulumi-resource-stackit/schema.json | 4502 +++++++++++++---- provider/go.mod | 38 +- provider/go.sum | 76 +- provider/shim/go.mod | 39 +- provider/shim/go.sum | 76 +- 6 files changed, 3909 insertions(+), 980 deletions(-) diff --git a/provider/cmd/pulumi-resource-stackit/bridge-metadata.json b/provider/cmd/pulumi-resource-stackit/bridge-metadata.json index 23bf73b..a4bd2d0 100644 --- a/provider/cmd/pulumi-resource-stackit/bridge-metadata.json +++ b/provider/cmd/pulumi-resource-stackit/bridge-metadata.json @@ -255,6 +255,25 @@ } } }, + "stackit_dremio_instance": { + "current": "stackit:index/dremioInstance:DremioInstance", + "fields": { + "authentication": { + "fields": { + "oauth": { + "fields": { + "parameters": { + "maxItemsOne": false + } + } + } + } + } + } + }, + "stackit_dremio_user": { + "current": "stackit:index/dremioUser:DremioUser" + }, "stackit_edgecloud_instance": { "current": "stackit:index/edgecloudInstance:EdgecloudInstance" }, @@ -856,8 +875,68 @@ } } }, + "stackit_telemetrylink": { + "current": "stackit:index/telemetrylink:Telemetrylink" + }, + "stackit_telemetryrouter_access_token": { + "current": "stackit:index/telemetryrouterAccessToken:TelemetryrouterAccessToken" + }, + "stackit_telemetryrouter_destination": { + "current": "stackit:index/telemetryrouterDestination:TelemetryrouterDestination", + "fields": { + "config": { + "fields": { + "filter": { + "fields": { + "attributes": { + "maxItemsOne": false, + "elem": { + "fields": { + "values": { + "maxItemsOne": false + } + } + } + } + } + } + } + } + } + }, + "stackit_telemetryrouter_instance": { + "current": "stackit:index/telemetryrouterInstance:TelemetryrouterInstance", + "fields": { + "filter": { + "fields": { + "attributes": { + "maxItemsOne": false, + "elem": { + "fields": { + "values": { + "maxItemsOne": false + } + } + } + } + } + } + } + }, "stackit_volume": { "current": "stackit:index/volume:Volume" + }, + "stackit_vpn_gateway": { + "current": "stackit:index/vpnGateway:VpnGateway", + "fields": { + "bgp": { + "fields": { + "override_advertised_routes": { + "maxItemsOne": false + } + } + } + } } }, "datasources": { @@ -1103,6 +1182,25 @@ } } }, + "stackit_dremio_instance": { + "current": "stackit:index/getDremioInstance:getDremioInstance", + "fields": { + "authentication": { + "fields": { + "oauth": { + "fields": { + "parameters": { + "maxItemsOne": false + } + } + } + } + } + } + }, + "stackit_dremio_user": { + "current": "stackit:index/getDremioUser:getDremioUser" + }, "stackit_edgecloud_instances": { "current": "stackit:index/getEdgecloudInstances:getEdgecloudInstances", "fields": { @@ -1821,8 +1919,68 @@ } } }, + "stackit_telemetrylink": { + "current": "stackit:index/getTelemetrylink:getTelemetrylink" + }, + "stackit_telemetryrouter_access_token": { + "current": "stackit:index/getTelemetryrouterAccessToken:getTelemetryrouterAccessToken" + }, + "stackit_telemetryrouter_destination": { + "current": "stackit:index/getTelemetryrouterDestination:getTelemetryrouterDestination", + "fields": { + "config": { + "fields": { + "filter": { + "fields": { + "attributes": { + "maxItemsOne": false, + "elem": { + "fields": { + "values": { + "maxItemsOne": false + } + } + } + } + } + } + } + } + } + }, + "stackit_telemetryrouter_instance": { + "current": "stackit:index/getTelemetryrouterInstance:getTelemetryrouterInstance", + "fields": { + "filter": { + "fields": { + "attributes": { + "maxItemsOne": false, + "elem": { + "fields": { + "values": { + "maxItemsOne": false + } + } + } + } + } + } + } + }, "stackit_volume": { "current": "stackit:index/getVolume:getVolume" + }, + "stackit_vpn_gateway": { + "current": "stackit:index/getVpnGateway:getVpnGateway", + "fields": { + "bgp": { + "fields": { + "override_advertised_routes": { + "maxItemsOne": false + } + } + } + } } } }, diff --git a/provider/cmd/pulumi-resource-stackit/schema.json b/provider/cmd/pulumi-resource-stackit/schema.json index 39bc8fe..8828857 100644 --- a/provider/cmd/pulumi-resource-stackit/schema.json +++ b/provider/cmd/pulumi-resource-stackit/schema.json @@ -83,6 +83,10 @@ "type": "string", "description": "Custom endpoint for the DNS service" }, + "dremioCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Dremio service" + }, "edgecloudCustomEndpoint": { "type": "string", "description": "Custom endpoint for the Edge Cloud service" @@ -96,7 +100,7 @@ "items": { "type": "string" }, - "description": "Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network" + "description": "Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: dremio, iam, routing-tables, network" }, "gitCustomEndpoint": { "type": "string", @@ -248,6 +252,14 @@ "type": "string", "description": "Custom endpoint for the SQL Server Flex service" }, + "telemetrylinkCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Telemetry Link service" + }, + "telemetryrouterCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Telemetry Router service" + }, "tokenCustomEndpoint": { "type": "string", "description": "Custom endpoint for the token API, which is used to request access tokens when using the key flow" @@ -255,6 +267,10 @@ "useOidc": { "type": "boolean", "description": "Enables OIDC for Authentication. This can also be sourced from the `STACKIT_USE_OIDC` Environment Variable. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e." + }, + "vpnCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the VPN service" } } }, @@ -1208,6 +1224,215 @@ }, "type": "object" }, + "stackit:index/DremioInstanceAuthentication:DremioInstanceAuthentication": { + "properties": { + "azuread": { + "$ref": "#/types/stackit:index/DremioInstanceAuthenticationAzuread:DremioInstanceAuthenticationAzuread", + "description": "Azure Active Directory authentication configuration.\n" + }, + "oauth": { + "$ref": "#/types/stackit:index/DremioInstanceAuthenticationOauth:DremioInstanceAuthenticationOauth", + "description": "OIDC authentication configuration.\n" + }, + "type": { + "type": "string", + "description": "Type of authentication (local-only, azuread, oauth).\n" + } + }, + "type": "object", + "required": [ + "type" + ] + }, + "stackit:index/DremioInstanceAuthenticationAzuread:DremioInstanceAuthenticationAzuread": { + "properties": { + "authorityUrl": { + "type": "string", + "description": "The Azure AD authority URL.\n" + }, + "clientId": { + "type": "string", + "description": "The Azure AD client ID.\n" + }, + "clientSecret": { + "type": "string", + "description": "The Azure AD client secret.\n", + "secret": true + }, + "redirectUrl": { + "type": "string", + "description": "The Azure AD redirect URL.\n" + } + }, + "type": "object", + "required": [ + "authorityUrl", + "clientId", + "clientSecret" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "authorityUrl", + "clientId", + "clientSecret", + "redirectUrl" + ] + } + } + }, + "stackit:index/DremioInstanceAuthenticationOauth:DremioInstanceAuthenticationOauth": { + "properties": { + "authorityUrl": { + "type": "string", + "description": "The Issuer location URI, where the OIDC provider configuration can be found.\n" + }, + "clientId": { + "type": "string", + "description": "The client ID assigned by the Identity Provider.\n" + }, + "clientSecret": { + "type": "string", + "description": "The client secret generated by the Identity Provider.\n", + "secret": true + }, + "jwtClaims": { + "$ref": "#/types/stackit:index/DremioInstanceAuthenticationOauthJwtClaims:DremioInstanceAuthenticationOauthJwtClaims", + "description": "Maps fields from the JWT token to fields Dremio requires.\n" + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/DremioInstanceAuthenticationOauthParameter:DremioInstanceAuthenticationOauthParameter" + }, + "description": "Any additional parameters the Identity Provider requires.\n" + }, + "redirectUrl": { + "type": "string", + "description": "The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider.\n" + }, + "scope": { + "type": "string", + "description": "A list of space-separated scopes. The \u003cspan pulumi-lang-nodejs=\"`openid`\" pulumi-lang-dotnet=\"`Openid`\" pulumi-lang-go=\"`openid`\" pulumi-lang-python=\"`openid`\" pulumi-lang-yaml=\"`openid`\" pulumi-lang-java=\"`openid`\"\u003e`openid`\u003c/span\u003e scope is always required; other scopes can vary by provider.\n" + } + }, + "type": "object", + "required": [ + "authorityUrl", + "clientId", + "clientSecret", + "jwtClaims" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "authorityUrl", + "clientId", + "clientSecret", + "jwtClaims", + "redirectUrl", + "scope" + ] + } + } + }, + "stackit:index/DremioInstanceAuthenticationOauthJwtClaims:DremioInstanceAuthenticationOauthJwtClaims": { + "properties": { + "userName": { + "type": "string", + "description": "Mapped user name claim (e.g. email).\n" + } + }, + "type": "object", + "required": [ + "userName" + ] + }, + "stackit:index/DremioInstanceAuthenticationOauthParameter:DremioInstanceAuthenticationOauthParameter": { + "properties": { + "name": { + "type": "string", + "description": "Parameter name.\n" + }, + "value": { + "type": "string", + "description": "Parameter value.\n" + } + }, + "type": "object", + "required": [ + "name", + "value" + ] + }, + "stackit:index/DremioInstanceEndpoints:DremioInstanceEndpoints": { + "properties": { + "arrowFlight": { + "type": "string", + "description": "The arrow flight endpoint of the Dremio instance.\n" + }, + "catalog": { + "type": "string", + "description": "The Apache Iceberg endpoint of the Dremio instance.\n" + }, + "ui": { + "type": "string", + "description": "The UI endpoint of the Dremio instance.\n" + } + }, + "type": "object", + "language": { + "nodejs": { + "requiredOutputs": [ + "arrowFlight", + "catalog", + "ui" + ] + } + } + }, + "stackit:index/DremioInstanceTimeouts:DremioInstanceTimeouts": { + "properties": { + "create": { + "type": "string", + "description": "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).\n" + }, + "delete": { + "type": "string", + "description": "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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n" + }, + "read": { + "type": "string", + "description": "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 operations occur during any refresh or planning operation when refresh is enabled.\n" + }, + "update": { + "type": "string", + "description": "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).\n" + } + }, + "type": "object" + }, + "stackit:index/DremioUserTimeouts:DremioUserTimeouts": { + "properties": { + "create": { + "type": "string", + "description": "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).\n" + }, + "delete": { + "type": "string", + "description": "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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n" + }, + "read": { + "type": "string", + "description": "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 operations occur during any refresh or planning operation when refresh is enabled.\n" + }, + "update": { + "type": "string", + "description": "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).\n" + } + }, + "type": "object" + }, "stackit:index/ImageChecksum:ImageChecksum": { "properties": { "algorithm": { @@ -1857,7 +2082,8 @@ "stackit:index/MongodbflexInstanceStorage:MongodbflexInstanceStorage": { "properties": { "class": { - "type": "string" + "type": "string", + "description": "The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli):\n`bash\nstackit mongodbflex options --storages --flavor-id FLAVOR_ID\n`\n- \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 (Number)\n" }, "size": { "type": "integer" @@ -2601,7 +2827,8 @@ "stackit:index/PostgresflexInstanceStorage:PostgresflexInstanceStorage": { "properties": { "class": { - "type": "string" + "type": "string", + "description": "The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli):\n`bash\nstackit postgresflex options --storages --flavor-id FLAVOR_ID\n`\n- \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 (Number)\n" }, "size": { "type": "integer" @@ -3516,7 +3743,8 @@ "stackit:index/SqlserverflexInstanceStorage:SqlserverflexInstanceStorage": { "properties": { "class": { - "type": "string" + "type": "string", + "description": "The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli):\n`bash\nstackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID\n`\n- \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 (Number)\n" }, "size": { "type": "integer" @@ -3532,109 +3760,345 @@ } } }, - "stackit:index/VolumeEncryptionParameters:VolumeEncryptionParameters": { + "stackit:index/TelemetryrouterDestinationConfig:TelemetryrouterDestinationConfig": { "properties": { - "kekKeyId": { + "configType": { "type": "string", - "description": "UUID of the key within the STACKIT-KMS to use for the encryption.\n" + "description": "The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`.\n" }, - "kekKeyVersion": { - "type": "integer", - "description": "Version of the key within the STACKIT-KMS to use for the encryption.\n" + "filter": { + "$ref": "#/types/stackit:index/TelemetryrouterDestinationConfigFilter:TelemetryrouterDestinationConfigFilter", + "description": "The TelemetryRouter destination's filter settings\n" }, - "kekKeyringId": { - "type": "string", - "description": "UUID of the keyring where the key is located within the STACKTI-KMS.\n" + "opentelemetry": { + "$ref": "#/types/stackit:index/TelemetryrouterDestinationConfigOpentelemetry:TelemetryrouterDestinationConfigOpentelemetry", + "description": "OpenTelemetry configuration\n" }, - "keyPayloadBase64": { + "s3": { + "$ref": "#/types/stackit:index/TelemetryrouterDestinationConfigS3:TelemetryrouterDestinationConfigS3", + "description": "S3 configuration\n" + } + }, + "type": "object", + "required": [ + "configType" + ] + }, + "stackit:index/TelemetryrouterDestinationConfigFilter:TelemetryrouterDestinationConfigFilter": { + "properties": { + "attributes": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/TelemetryrouterDestinationConfigFilterAttribute:TelemetryrouterDestinationConfigFilterAttribute" + }, + "description": "The TelemetryRouter destination's filter attributes\n" + } + }, + "type": "object", + "required": [ + "attributes" + ] + }, + "stackit:index/TelemetryrouterDestinationConfigFilterAttribute:TelemetryrouterDestinationConfigFilterAttribute": { + "properties": { + "key": { "type": "string", - "description": "Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded.\n", - "secret": true + "description": "The TelemetryRouter destination's filter attribute key\n" }, - "keyPayloadBase64Wo": { + "level": { "type": "string", - "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nOptional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded.\n", - "secret": true - }, - "keyPayloadBase64WoVersion": { - "type": "integer", - "description": "Used together with \u003cspan pulumi-lang-nodejs=\"`keyPayloadBase64Wo`\" pulumi-lang-dotnet=\"`KeyPayloadBase64Wo`\" pulumi-lang-go=\"`keyPayloadBase64Wo`\" pulumi-lang-python=\"`key_payload_base64_wo`\" pulumi-lang-yaml=\"`keyPayloadBase64Wo`\" pulumi-lang-java=\"`keyPayloadBase64Wo`\"\u003e`keyPayloadBase64Wo`\u003c/span\u003e to trigger an re-create. Increment this value when an update to \u003cspan pulumi-lang-nodejs=\"`keyPayloadBase64Wo`\" pulumi-lang-dotnet=\"`KeyPayloadBase64Wo`\" pulumi-lang-go=\"`keyPayloadBase64Wo`\" pulumi-lang-python=\"`key_payload_base64_wo`\" pulumi-lang-yaml=\"`keyPayloadBase64Wo`\" pulumi-lang-java=\"`keyPayloadBase64Wo`\"\u003e`keyPayloadBase64Wo`\u003c/span\u003e is required.\n" + "description": "The TelemetryRouter destination's filter attribute level, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`resource`\" pulumi-lang-dotnet=\"`Resource`\" pulumi-lang-go=\"`resource`\" pulumi-lang-python=\"`resource`\" pulumi-lang-yaml=\"`resource`\" pulumi-lang-java=\"`resource`\"\u003e`resource`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e, `logRecord`.\n" }, - "serviceAccount": { + "matcher": { "type": "string", - "description": "Service-Account linked to the Key within the STACKIT-KMS.\n" + "description": "The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The TelemetryRouter destination's filter attribute values\n" } }, "type": "object", "required": [ - "kekKeyId", - "kekKeyVersion", - "kekKeyringId", - "serviceAccount" + "key", + "level", + "matcher", + "values" ] }, - "stackit:index/VolumeSource:VolumeSource": { + "stackit:index/TelemetryrouterDestinationConfigOpentelemetry:TelemetryrouterDestinationConfigOpentelemetry": { "properties": { - "id": { + "basicAuth": { + "$ref": "#/types/stackit:index/TelemetryrouterDestinationConfigOpentelemetryBasicAuth:TelemetryrouterDestinationConfigOpentelemetryBasicAuth", + "description": "OpenTelemetry basic auth configuration\n" + }, + "bearerToken": { "type": "string", - "description": "The ID of the source, e.g. image ID\n" + "description": "OpenTelemetry bearer token\n", + "secret": true }, - "type": { + "uri": { "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": "OpenTelemetry destination URI\n" } }, "type": "object", "required": [ - "id", - "type" + "uri" ] }, - "stackit:index/getApplicationLoadBalancerError:getApplicationLoadBalancerError": { + "stackit:index/TelemetryrouterDestinationConfigOpentelemetryBasicAuth:TelemetryrouterDestinationConfigOpentelemetryBasicAuth": { "properties": { - "description": { + "password": { "type": "string", - "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.\n" + "description": "OpenTelemetry basic auth username\n", + "secret": true }, - "type": { + "username": { "type": "string", - "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`.\n" + "description": "OpenTelemetry basic auth username\n" } }, "type": "object", "required": [ - "description", - "type" - ], - "language": { - "nodejs": { - "requiredInputs": [] - } - } + "password", + "username" + ] }, - "stackit:index/getApplicationLoadBalancerListener:getApplicationLoadBalancerListener": { + "stackit:index/TelemetryrouterDestinationConfigS3:TelemetryrouterDestinationConfigS3": { "properties": { - "http": { - "$ref": "#/types/stackit:index/getApplicationLoadBalancerListenerHttp:getApplicationLoadBalancerListenerHttp", - "description": "Configuration for HTTP traffic.\n" - }, - "https": { - "$ref": "#/types/stackit:index/getApplicationLoadBalancerListenerHttps:getApplicationLoadBalancerListenerHttps", - "description": "Configuration for handling HTTPS traffic on this listener.\n" - }, - "name": { - "type": "string", - "description": "Unique name for the listener\n" - }, - "port": { - "type": "integer", - "description": "Port number on which the listener receives incoming traffic.\n" + "accessKey": { + "$ref": "#/types/stackit:index/TelemetryrouterDestinationConfigS3AccessKey:TelemetryrouterDestinationConfigS3AccessKey", + "description": "S3 access key configuration\n" }, - "protocol": { + "bucket": { "type": "string", - "description": "Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`.\n" + "description": "S3 bucket name\n" }, - "wafConfigName": { + "endpoint": { + "type": "string", + "description": "S3 endpoint\n" + } + }, + "type": "object", + "required": [ + "bucket", + "endpoint" + ] + }, + "stackit:index/TelemetryrouterDestinationConfigS3AccessKey:TelemetryrouterDestinationConfigS3AccessKey": { + "properties": { + "id": { + "type": "string", + "description": "S3 access key ID\n" + }, + "secret": { + "type": "string", + "description": "S3 access key secret\n", + "secret": true + } + }, + "type": "object", + "required": [ + "id", + "secret" + ] + }, + "stackit:index/TelemetryrouterInstanceFilter:TelemetryrouterInstanceFilter": { + "properties": { + "attributes": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/TelemetryrouterInstanceFilterAttribute:TelemetryrouterInstanceFilterAttribute" + }, + "description": "The TelemetryRouter global filter attributes\n" + } + }, + "type": "object", + "required": [ + "attributes" + ] + }, + "stackit:index/TelemetryrouterInstanceFilterAttribute:TelemetryrouterInstanceFilterAttribute": { + "properties": { + "key": { + "type": "string", + "description": "The TelemetryRouter global filter attribute key\n" + }, + "level": { + "type": "string", + "description": "The TelemetryRouter global filter attribute level, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`resource`\" pulumi-lang-dotnet=\"`Resource`\" pulumi-lang-go=\"`resource`\" pulumi-lang-python=\"`resource`\" pulumi-lang-yaml=\"`resource`\" pulumi-lang-java=\"`resource`\"\u003e`resource`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e, `logRecord`.\n" + }, + "matcher": { + "type": "string", + "description": "The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The TelemetryRouter global filter attributes\n" + } + }, + "type": "object", + "required": [ + "key", + "level", + "matcher", + "values" + ] + }, + "stackit:index/VolumeEncryptionParameters:VolumeEncryptionParameters": { + "properties": { + "kekKeyId": { + "type": "string", + "description": "UUID of the key within the STACKIT-KMS to use for the encryption.\n" + }, + "kekKeyVersion": { + "type": "integer", + "description": "Version of the key within the STACKIT-KMS to use for the encryption.\n" + }, + "kekKeyringId": { + "type": "string", + "description": "UUID of the keyring where the key is located within the STACKTI-KMS.\n" + }, + "keyPayloadBase64": { + "type": "string", + "description": "Optional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded.\n", + "secret": true + }, + "keyPayloadBase64Wo": { + "type": "string", + "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nOptional predefined secret, which will be encrypted against the key-encryption-key within the STACKIT-KMS. If not defined, a random secret will be generated by the API and encrypted against the STACKIT-KMS. If a key-payload is provided here, it must be base64 encoded.\n", + "secret": true + }, + "keyPayloadBase64WoVersion": { + "type": "integer", + "description": "Used together with \u003cspan pulumi-lang-nodejs=\"`keyPayloadBase64Wo`\" pulumi-lang-dotnet=\"`KeyPayloadBase64Wo`\" pulumi-lang-go=\"`keyPayloadBase64Wo`\" pulumi-lang-python=\"`key_payload_base64_wo`\" pulumi-lang-yaml=\"`keyPayloadBase64Wo`\" pulumi-lang-java=\"`keyPayloadBase64Wo`\"\u003e`keyPayloadBase64Wo`\u003c/span\u003e to trigger an re-create. Increment this value when an update to \u003cspan pulumi-lang-nodejs=\"`keyPayloadBase64Wo`\" pulumi-lang-dotnet=\"`KeyPayloadBase64Wo`\" pulumi-lang-go=\"`keyPayloadBase64Wo`\" pulumi-lang-python=\"`key_payload_base64_wo`\" pulumi-lang-yaml=\"`keyPayloadBase64Wo`\" pulumi-lang-java=\"`keyPayloadBase64Wo`\"\u003e`keyPayloadBase64Wo`\u003c/span\u003e is required.\n" + }, + "serviceAccount": { + "type": "string", + "description": "Service-Account linked to the Key within the STACKIT-KMS.\n" + } + }, + "type": "object", + "required": [ + "kekKeyId", + "kekKeyVersion", + "kekKeyringId", + "serviceAccount" + ] + }, + "stackit:index/VolumeSource:VolumeSource": { + "properties": { + "id": { + "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" + ] + }, + "stackit:index/VpnGatewayAvailabilityZones:VpnGatewayAvailabilityZones": { + "properties": { + "tunnel1": { + "type": "string", + "description": "Availability zone for tunnel 1.\n" + }, + "tunnel2": { + "type": "string", + "description": "Availability zone for tunnel 2.\n" + } + }, + "type": "object", + "required": [ + "tunnel1", + "tunnel2" + ] + }, + "stackit:index/VpnGatewayBgp:VpnGatewayBgp": { + "properties": { + "localAsn": { + "type": "integer", + "description": "Local ASN for BGP (private ASN range, 64512-4294967294).\n" + }, + "overrideAdvertisedRoutes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised.\n" + } + }, + "type": "object", + "required": [ + "localAsn" + ], + "language": { + "nodejs": { + "requiredOutputs": [ + "localAsn", + "overrideAdvertisedRoutes" + ] + } + } + }, + "stackit:index/getApplicationLoadBalancerError:getApplicationLoadBalancerError": { + "properties": { + "description": { + "type": "string", + "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.\n" + }, + "type": { + "type": "string", + "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`.\n" + } + }, + "type": "object", + "required": [ + "description", + "type" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getApplicationLoadBalancerListener:getApplicationLoadBalancerListener": { + "properties": { + "http": { + "$ref": "#/types/stackit:index/getApplicationLoadBalancerListenerHttp:getApplicationLoadBalancerListenerHttp", + "description": "Configuration for HTTP traffic.\n" + }, + "https": { + "$ref": "#/types/stackit:index/getApplicationLoadBalancerListenerHttps:getApplicationLoadBalancerListenerHttps", + "description": "Configuration for handling HTTPS traffic on this listener.\n" + }, + "name": { + "type": "string", + "description": "Unique name for the listener\n" + }, + "port": { + "type": "integer", + "description": "Port number on which the listener receives incoming traffic.\n" + }, + "protocol": { + "type": "string", + "description": "Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`.\n" + }, + "wafConfigName": { "type": "string", "description": "Enable Web Application Firewall (WAF), referenced by name. See \"Application Load Balancer - Web Application Firewall API\" for more information.\n" } @@ -4608,51 +5072,26 @@ }, "type": "object" }, - "stackit:index/getEdgecloudInstancesInstance:getEdgecloudInstancesInstance": { + "stackit:index/getDremioInstanceAuthentication:getDremioInstanceAuthentication": { "properties": { - "created": { - "type": "string", - "description": "The date and time the instance was created.\n" - }, - "description": { - "type": "string", - "description": "Description of the instance.\n" - }, - "displayName": { - "type": "string", - "description": "The display name of the instance.\n" - }, - "frontendUrl": { - "type": "string", - "description": "Frontend URL for the Edge Cloud instance.\n" - }, - "instanceId": { - "type": "string", - "description": "The ID of the instance.\n" - }, - "planId": { - "type": "string", - "description": "The plan ID for the instance.\n" + "azuread": { + "$ref": "#/types/stackit:index/getDremioInstanceAuthenticationAzuread:getDremioInstanceAuthenticationAzuread", + "description": "Azure Active Directory authentication configuration.\n" }, - "region": { - "type": "string", - "description": "The region where the instance is located.\n" + "oauth": { + "$ref": "#/types/stackit:index/getDremioInstanceAuthenticationOauth:getDremioInstanceAuthenticationOauth", + "description": "OIDC authentication configuration.\n" }, - "status": { + "type": { "type": "string", - "description": "The status of the instance.\n" + "description": "Type of authentication (local-only, azuread, oauth).\n" } }, "type": "object", "required": [ - "created", - "description", - "displayName", - "frontendUrl", - "instanceId", - "planId", - "region", - "status" + "azuread", + "oauth", + "type" ], "language": { "nodejs": { @@ -4660,36 +5099,32 @@ } } }, - "stackit:index/getEdgecloudPlansPlan:getEdgecloudPlansPlan": { + "stackit:index/getDremioInstanceAuthenticationAzuread:getDremioInstanceAuthenticationAzuread": { "properties": { - "description": { + "authorityUrl": { "type": "string", - "description": "Description of the plan.\n" + "description": "The Azure AD authority URL.\n" }, - "id": { + "clientId": { "type": "string", - "description": "The ID of the plan.\n" - }, - "maxEdgeHosts": { - "type": "integer", - "description": "Maximum number of Edge Cloud hosts that can be used.\n" + "description": "The Azure AD client ID.\n" }, - "minEdgeHosts": { - "type": "integer", - "description": "Minimum number of Edge Cloud hosts charged.\n" + "clientSecret": { + "type": "string", + "description": "The Azure AD client secret.\n", + "secret": true }, - "name": { + "redirectUrl": { "type": "string", - "description": "The name of the plan.\n" + "description": "The Azure AD redirect URL.\n" } }, "type": "object", "required": [ - "description", - "id", - "maxEdgeHosts", - "minEdgeHosts", - "name" + "authorityUrl", + "clientId", + "clientSecret", + "redirectUrl" ], "language": { "nodejs": { @@ -4697,23 +5132,229 @@ } } }, - "stackit:index/getImageChecksum:getImageChecksum": { + "stackit:index/getDremioInstanceAuthenticationOauth:getDremioInstanceAuthenticationOauth": { "properties": { - "algorithm": { + "authorityUrl": { "type": "string", - "description": "Algorithm for the checksum of the image data.\n" + "description": "The Issuer location URI, where the OIDC provider configuration can be found.\n" }, - "digest": { + "clientId": { "type": "string", - "description": "Hexdigest of the checksum of the image data.\n" - } - }, - "type": "object", - "required": [ - "algorithm", - "digest" - ], - "language": { + "description": "The client ID assigned by the Identity Provider.\n" + }, + "clientSecret": { + "type": "string", + "description": "The client secret generated by the Identity Provider.\n", + "secret": true + }, + "jwtClaims": { + "$ref": "#/types/stackit:index/getDremioInstanceAuthenticationOauthJwtClaims:getDremioInstanceAuthenticationOauthJwtClaims", + "description": "Maps fields from the JWT token to fields Dremio requires.\n" + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getDremioInstanceAuthenticationOauthParameter:getDremioInstanceAuthenticationOauthParameter" + }, + "description": "Any additional parameters the Identity Provider requires.\n" + }, + "redirectUrl": { + "type": "string", + "description": "The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider.\n" + }, + "scope": { + "type": "string", + "description": "A list of space-separated scopes. The \u003cspan pulumi-lang-nodejs=\"`openid`\" pulumi-lang-dotnet=\"`Openid`\" pulumi-lang-go=\"`openid`\" pulumi-lang-python=\"`openid`\" pulumi-lang-yaml=\"`openid`\" pulumi-lang-java=\"`openid`\"\u003e`openid`\u003c/span\u003e scope is always required; other scopes can vary by provider.\n" + } + }, + "type": "object", + "required": [ + "authorityUrl", + "clientId", + "clientSecret", + "jwtClaims", + "parameters", + "redirectUrl", + "scope" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getDremioInstanceAuthenticationOauthJwtClaims:getDremioInstanceAuthenticationOauthJwtClaims": { + "properties": { + "userName": { + "type": "string", + "description": "Mapped user name claim (e.g. email).\n" + } + }, + "type": "object", + "required": [ + "userName" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getDremioInstanceAuthenticationOauthParameter:getDremioInstanceAuthenticationOauthParameter": { + "properties": { + "name": { + "type": "string", + "description": "Parameter name.\n" + }, + "value": { + "type": "string", + "description": "Parameter value.\n" + } + }, + "type": "object", + "required": [ + "name", + "value" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getDremioInstanceEndpoints:getDremioInstanceEndpoints": { + "properties": { + "arrowFlight": { + "type": "string", + "description": "The arrow flight endpoint of the Dremio instance.\n" + }, + "catalog": { + "type": "string", + "description": "The Apache Iceberg endpoint of the Dremio instance.\n" + }, + "ui": { + "type": "string", + "description": "The UI endpoint of the Dremio instance.\n" + } + }, + "type": "object", + "required": [ + "arrowFlight", + "catalog", + "ui" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getEdgecloudInstancesInstance:getEdgecloudInstancesInstance": { + "properties": { + "created": { + "type": "string", + "description": "The date and time the instance was created.\n" + }, + "description": { + "type": "string", + "description": "Description of the instance.\n" + }, + "displayName": { + "type": "string", + "description": "The display name of the instance.\n" + }, + "frontendUrl": { + "type": "string", + "description": "Frontend URL for the Edge Cloud instance.\n" + }, + "instanceId": { + "type": "string", + "description": "The ID of the instance.\n" + }, + "planId": { + "type": "string", + "description": "The plan ID for the instance.\n" + }, + "region": { + "type": "string", + "description": "The region where the instance is located.\n" + }, + "status": { + "type": "string", + "description": "The status of the instance.\n" + } + }, + "type": "object", + "required": [ + "created", + "description", + "displayName", + "frontendUrl", + "instanceId", + "planId", + "region", + "status" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getEdgecloudPlansPlan:getEdgecloudPlansPlan": { + "properties": { + "description": { + "type": "string", + "description": "Description of the plan.\n" + }, + "id": { + "type": "string", + "description": "The ID of the plan.\n" + }, + "maxEdgeHosts": { + "type": "integer", + "description": "Maximum number of Edge Cloud hosts that can be used.\n" + }, + "minEdgeHosts": { + "type": "integer", + "description": "Minimum number of Edge Cloud hosts charged.\n" + }, + "name": { + "type": "string", + "description": "The name of the plan.\n" + } + }, + "type": "object", + "required": [ + "description", + "id", + "maxEdgeHosts", + "minEdgeHosts", + "name" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getImageChecksum:getImageChecksum": { + "properties": { + "algorithm": { + "type": "string", + "description": "Algorithm for the checksum of the image data.\n" + }, + "digest": { + "type": "string", + "description": "Hexdigest of the checksum of the image data.\n" + } + }, + "type": "object", + "required": [ + "algorithm", + "digest" + ], + "language": { "nodejs": { "requiredInputs": [] } @@ -7822,50 +8463,278 @@ } } }, - "stackit:index/getVolumeSource:getVolumeSource": { + "stackit:index/getTelemetryrouterDestinationConfig:getTelemetryrouterDestinationConfig": { "properties": { - "id": { + "configType": { "type": "string", - "description": "The ID of the source, e.g. image ID\n" + "description": "The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`.\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" + "filter": { + "$ref": "#/types/stackit:index/getTelemetryrouterDestinationConfigFilter:getTelemetryrouterDestinationConfigFilter", + "description": "The TelemetryRouter destination's filter settings\n" + }, + "opentelemetry": { + "$ref": "#/types/stackit:index/getTelemetryrouterDestinationConfigOpentelemetry:getTelemetryrouterDestinationConfigOpentelemetry", + "description": "OpenTelemetry configuration\n" + }, + "s3": { + "$ref": "#/types/stackit:index/getTelemetryrouterDestinationConfigS3:getTelemetryrouterDestinationConfigS3", + "description": "S3 configuration\n" } }, "type": "object", "required": [ - "id", - "type" + "configType", + "filter", + "opentelemetry", + "s3" ], "language": { "nodejs": { "requiredInputs": [] } } - } - }, - "provider": { - "description": "The provider type for the stackit package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n", - "properties": { - "albCertificatesCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Application Load Balancer TLS Certificate service" - }, - "albCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Application Load Balancer service" + }, + "stackit:index/getTelemetryrouterDestinationConfigFilter:getTelemetryrouterDestinationConfigFilter": { + "properties": { + "attributes": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getTelemetryrouterDestinationConfigFilterAttribute:getTelemetryrouterDestinationConfigFilterAttribute" + }, + "description": "The TelemetryRouter destination's filter attributes\n" + } }, - "authorizationCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the Membership service" + "type": "object", + "required": [ + "attributes" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getTelemetryrouterDestinationConfigFilterAttribute:getTelemetryrouterDestinationConfigFilterAttribute": { + "properties": { + "key": { + "type": "string", + "description": "The TelemetryRouter destination's filter attribute key\n" + }, + "level": { + "type": "string", + "description": "The TelemetryRouter destination's filter attribute level, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`resource`\" pulumi-lang-dotnet=\"`Resource`\" pulumi-lang-go=\"`resource`\" pulumi-lang-python=\"`resource`\" pulumi-lang-yaml=\"`resource`\" pulumi-lang-java=\"`resource`\"\u003e`resource`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e, `logRecord`.\n" + }, + "matcher": { + "type": "string", + "description": "The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The TelemetryRouter destination's filter attribute values\n" + } }, - "cdnCustomEndpoint": { - "type": "string", - "description": "Custom endpoint for the CDN service" + "type": "object", + "required": [ + "key", + "level", + "matcher", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getTelemetryrouterDestinationConfigOpentelemetry:getTelemetryrouterDestinationConfigOpentelemetry": { + "properties": { + "uri": { + "type": "string", + "description": "OpenTelemetry destination URI\n" + } }, - "credentialsPath": { - "type": "string", + "type": "object", + "required": [ + "uri" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getTelemetryrouterDestinationConfigS3:getTelemetryrouterDestinationConfigS3": { + "properties": { + "bucket": { + "type": "string", + "description": "S3 bucket name\n" + }, + "endpoint": { + "type": "string", + "description": "S3 endpoint\n" + } + }, + "type": "object", + "required": [ + "bucket", + "endpoint" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getTelemetryrouterInstanceFilter:getTelemetryrouterInstanceFilter": { + "properties": { + "attributes": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getTelemetryrouterInstanceFilterAttribute:getTelemetryrouterInstanceFilterAttribute" + }, + "description": "The TelemetryRouter global filter attributes\n" + } + }, + "type": "object", + "required": [ + "attributes" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getTelemetryrouterInstanceFilterAttribute:getTelemetryrouterInstanceFilterAttribute": { + "properties": { + "key": { + "type": "string", + "description": "The TelemetryRouter global filter attribute key\n" + }, + "level": { + "type": "string", + "description": "The TelemetryRouter global filter attribute level, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`resource`\" pulumi-lang-dotnet=\"`Resource`\" pulumi-lang-go=\"`resource`\" pulumi-lang-python=\"`resource`\" pulumi-lang-yaml=\"`resource`\" pulumi-lang-java=\"`resource`\"\u003e`resource`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`scope`\" pulumi-lang-dotnet=\"`Scope`\" pulumi-lang-go=\"`scope`\" pulumi-lang-python=\"`scope`\" pulumi-lang-yaml=\"`scope`\" pulumi-lang-java=\"`scope`\"\u003e`scope`\u003c/span\u003e, `logRecord`.\n" + }, + "matcher": { + "type": "string", + "description": "The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`.\n" + }, + "values": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The TelemetryRouter global filter attributes\n" + } + }, + "type": "object", + "required": [ + "key", + "level", + "matcher", + "values" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "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/getVpnGatewayAvailabilityZones:getVpnGatewayAvailabilityZones": { + "properties": { + "tunnel1": { + "type": "string", + "description": "Availability zone for tunnel 1.\n" + }, + "tunnel2": { + "type": "string", + "description": "Availability zone for tunnel 2.\n" + } + }, + "type": "object", + "required": [ + "tunnel1", + "tunnel2" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + }, + "stackit:index/getVpnGatewayBgp:getVpnGatewayBgp": { + "properties": { + "localAsn": { + "type": "integer", + "description": "Local ASN for BGP (private ASN range, 64512-4294967294).\n" + }, + "overrideAdvertisedRoutes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised.\n" + } + }, + "type": "object", + "required": [ + "localAsn", + "overrideAdvertisedRoutes" + ], + "language": { + "nodejs": { + "requiredInputs": [] + } + } + } + }, + "provider": { + "description": "The provider type for the stackit package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n", + "properties": { + "albCertificatesCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Application Load Balancer TLS Certificate service" + }, + "albCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Application Load Balancer service" + }, + "authorizationCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Membership service" + }, + "cdnCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the CDN service" + }, + "credentialsPath": { + "type": "string", "description": "Path of JSON from where the credentials are read. Takes precedence over the env var `STACKIT_CREDENTIALS_PATH`. Default value is `~/.stackit/credentials.json`." }, "defaultRegion": { @@ -7876,6 +8745,10 @@ "type": "string", "description": "Custom endpoint for the DNS service" }, + "dremioCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Dremio service" + }, "edgecloudCustomEndpoint": { "type": "string", "description": "Custom endpoint for the Edge Cloud service" @@ -7889,7 +8762,7 @@ "items": { "type": "string" }, - "description": "Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network" + "description": "Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: dremio, iam, routing-tables, network" }, "gitCustomEndpoint": { "type": "string", @@ -8041,6 +8914,14 @@ "type": "string", "description": "Custom endpoint for the SQL Server Flex service" }, + "telemetrylinkCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Telemetry Link service" + }, + "telemetryrouterCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Telemetry Router service" + }, "tokenCustomEndpoint": { "type": "string", "description": "Custom endpoint for the token API, which is used to request access tokens when using the key flow" @@ -8048,6 +8929,10 @@ "useOidc": { "type": "boolean", "description": "Enables OIDC for Authentication. This can also be sourced from the `STACKIT_USE_OIDC` Environment Variable. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e." + }, + "vpnCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the VPN service" } }, "inputProperties": { @@ -8079,6 +8964,10 @@ "type": "string", "description": "Custom endpoint for the DNS service" }, + "dremioCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Dremio service" + }, "edgecloudCustomEndpoint": { "type": "string", "description": "Custom endpoint for the Edge Cloud service" @@ -8092,7 +8981,7 @@ "items": { "type": "string" }, - "description": "Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network" + "description": "Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: dremio, iam, routing-tables, network" }, "gitCustomEndpoint": { "type": "string", @@ -8244,6 +9133,14 @@ "type": "string", "description": "Custom endpoint for the SQL Server Flex service" }, + "telemetrylinkCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Telemetry Link service" + }, + "telemetryrouterCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the Telemetry Router service" + }, "tokenCustomEndpoint": { "type": "string", "description": "Custom endpoint for the token API, which is used to request access tokens when using the key flow" @@ -8251,6 +9148,10 @@ "useOidc": { "type": "boolean", "description": "Enables OIDC for Authentication. This can also be sourced from the `STACKIT_USE_OIDC` Environment Variable. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e." + }, + "vpnCustomEndpoint": { + "type": "string", + "description": "Custom endpoint for the VPN service" } }, "methods": { @@ -9868,178 +10769,451 @@ "type": "object" } }, - "stackit:index/edgecloudInstance:EdgecloudInstance": { - "description": "Edge Cloud is in private Beta and not generally available.\n You can contact support if you are interested in trying it out.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nlocals {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n display_name = \"edge\"\n plan_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n description = \"cats live on the edge\"\n region = \"eu01\"\n}\n\nresource \"stackit_edgecloud_instance\" \"this\" {\n project_id = local.project_id\n display_name = local.display_name\n plan_id = local.plan_id\n description = local.description\n}\n\n# Only use the import statement, if you want to import an existing Edge Cloud instance resource\nimport {\n to = stackit_edgecloud_instance.this\n id = \"${local.project_id},${local.region},INSTANCE_ID\"\n}\n```\n", + "stackit:index/dremioInstance:DremioInstance": { + "description": "Manages a STACKIT Dremio instance.\n\n\u003e This resource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.\n\n## Example Usage\n\n```terraform\nresource \"stackit_dremio_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n display_name = \"exampleName\"\n description = \"Example description\"\n authentication = {\n type = \"local-only\" // \"oauth\" or \"azuread\" for IDP config\n\n oauth = { // only needed if \"oauth\" is given as type\n authority_url = \"authority\"\n client_id = \"client-id\"\n client_secret = \"client-secret\"\n jwt_claims = {\n user_name = \"example\"\n }\n scope = \"idp-scope\"\n parameters = [\n { \"name\" : \"example\", \"value\" : \"example-value\" }\n ]\n }\n\n azuread = { // only needed if \"azuread\" is given as type\n authority_url = \"authority\"\n client_id = \"client-id\"\n client_secret = \"client-secret\"\n }\n }\n}\n\nimport {\n to = stackit_dremio_instance.import_example\n id = \"${var.project_id},${var.region},${var.instance_id}\"\n}\n```\n", "properties": { - "created": { - "type": "string", - "description": "The date and time the creation of the instance was triggered.\n" + "authentication": { + "$ref": "#/types/stackit:index/DremioInstanceAuthentication:DremioInstanceAuthentication", + "description": "Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime.\n" }, "description": { "type": "string", - "description": "Description for your STACKIT Edge Cloud instance. Max length is 256 characters\n" + "description": "The description is a longer text chosen by the user to provide more context for the resource.\n" }, "displayName": { "type": "string", - "description": "Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters.\n" + "description": "The display name is a short name chosen by the user to identify the resource.\n" }, - "frontendUrl": { - "type": "string", - "description": "Frontend URL for the Edge Cloud instance.\n" + "endpoints": { + "$ref": "#/types/stackit:index/DremioInstanceEndpoints:DremioInstanceEndpoints", + "description": "The available endpoints of the Dremio instance.\n" }, "instanceId": { "type": "string", - "description": "\\n\\n-\\n\\n\n" - }, - "planId": { - "type": "string", - "description": "STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan.\n" + "description": "The Dremio instance ID.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the Edge Cloud instance is associated.\n" + "description": "STACKIT Project ID to which the resource is associated.\n" }, "region": { "type": "string", - "description": "STACKIT region to use for the instance, providers\u003cspan pulumi-lang-nodejs=\" defaultRegion \" pulumi-lang-dotnet=\" DefaultRegion \" pulumi-lang-go=\" defaultRegion \" pulumi-lang-python=\" default_region \" pulumi-lang-yaml=\" defaultRegion \" pulumi-lang-java=\" defaultRegion \"\u003e defaultRegion \u003c/span\u003ewill be used if unset.\n" + "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" }, - "status": { - "type": "string", - "description": "instance status\n" + "timeouts": { + "$ref": "#/types/stackit:index/DremioInstanceTimeouts:DremioInstanceTimeouts" } }, "required": [ - "created", + "authentication", "description", "displayName", - "frontendUrl", + "endpoints", "instanceId", - "planId", "projectId", - "region", - "status" + "region" ], "inputProperties": { + "authentication": { + "$ref": "#/types/stackit:index/DremioInstanceAuthentication:DremioInstanceAuthentication", + "description": "Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime.\n" + }, "description": { "type": "string", - "description": "Description for your STACKIT Edge Cloud instance. Max length is 256 characters\n" + "description": "The description is a longer text chosen by the user to provide more context for the resource.\n" }, "displayName": { "type": "string", - "description": "Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters.\n" - }, - "planId": { - "type": "string", - "description": "STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan.\n" + "description": "The display name is a short name chosen by the user to identify the resource.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the Edge Cloud instance is associated.\n" + "description": "STACKIT Project ID to which the resource is associated.\n" }, "region": { "type": "string", - "description": "STACKIT region to use for the instance, providers\u003cspan pulumi-lang-nodejs=\" defaultRegion \" pulumi-lang-dotnet=\" DefaultRegion \" pulumi-lang-go=\" defaultRegion \" pulumi-lang-python=\" default_region \" pulumi-lang-yaml=\" defaultRegion \" pulumi-lang-java=\" defaultRegion \"\u003e defaultRegion \u003c/span\u003ewill be used if unset.\n" + "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/DremioInstanceTimeouts:DremioInstanceTimeouts" } }, "requiredInputs": [ + "authentication", "displayName", - "planId", "projectId" ], "stateInputs": { - "description": "Input properties used for looking up and filtering EdgecloudInstance resources.\n", + "description": "Input properties used for looking up and filtering DremioInstance resources.\n", "properties": { - "created": { - "type": "string", - "description": "The date and time the creation of the instance was triggered.\n" + "authentication": { + "$ref": "#/types/stackit:index/DremioInstanceAuthentication:DremioInstanceAuthentication", + "description": "Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime.\n" }, "description": { "type": "string", - "description": "Description for your STACKIT Edge Cloud instance. Max length is 256 characters\n" + "description": "The description is a longer text chosen by the user to provide more context for the resource.\n" }, "displayName": { "type": "string", - "description": "Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters.\n" + "description": "The display name is a short name chosen by the user to identify the resource.\n" }, - "frontendUrl": { - "type": "string", - "description": "Frontend URL for the Edge Cloud instance.\n" + "endpoints": { + "$ref": "#/types/stackit:index/DremioInstanceEndpoints:DremioInstanceEndpoints", + "description": "The available endpoints of the Dremio instance.\n" }, "instanceId": { "type": "string", - "description": "\\n\\n-\\n\\n\n" - }, - "planId": { - "type": "string", - "description": "STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan.\n" + "description": "The Dremio instance ID.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the Edge Cloud instance is associated.\n" + "description": "STACKIT Project ID to which the resource is associated.\n" }, "region": { "type": "string", - "description": "STACKIT region to use for the instance, providers\u003cspan pulumi-lang-nodejs=\" defaultRegion \" pulumi-lang-dotnet=\" DefaultRegion \" pulumi-lang-go=\" defaultRegion \" pulumi-lang-python=\" default_region \" pulumi-lang-yaml=\" defaultRegion \" pulumi-lang-java=\" defaultRegion \"\u003e defaultRegion \u003c/span\u003ewill be used if unset.\n" + "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" }, - "status": { - "type": "string", - "description": "instance status\n" + "timeouts": { + "$ref": "#/types/stackit:index/DremioInstanceTimeouts:DremioInstanceTimeouts" } }, "type": "object" } }, - "stackit:index/edgecloudKubeconfig:EdgecloudKubeconfig": { - "description": "Edge Cloud is in private Beta and not generally available.\n You can contact support if you are interested in trying it out.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\n# the instance resource only exists here to illustrate the usage of it's attribute\nresource \"stackit_edgecloud_instance\" \"this\" {\n project_id = local.project_id\n display_name = \"example\"\n plan_id = var.plan_id\n description = \"some_description\"\n}\n\nresource \"stackit_edgecloud_kubeconfig\" \"by_name\" {\n project_id = var.project_id\n instance_name = stackit_edgecloud_instance.this.display_name\n expiration = 3600 # seconds\n}\n\nresource \"stackit_edgecloud_kubeconfig\" \"by_id\" {\n project_id = var.project_id\n instance_id = stackit_edgecloud_instance.this.instance_id\n expiration = 3600 # seconds\n}\n```\n", + "stackit:index/dremioUser:DremioUser": { + "description": "Manages a STACKIT Dremio instances user.\n\n\u003e This resource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.\n\n## Example Usage\n\n```terraform\nresource \"stackit_dremio_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n instance_id = \"example-instance-id\"\n\n description = \"STACKIT Terraform example\"\n email = \"example@example.com\"\n first_name = \"Test\"\n last_name = \"User\"\n name = \"testUser\"\n}\n\nimport {\n to = stackit_dremio_user.import_example\n id = \"${var.project_id},${var.region},${var.instance_id},${var.user_id}\"\n}\n```\n", "properties": { - "creationTime": { + "description": { "type": "string", - "description": "Date-time when the kubeconfig was created\n" + "description": "The description of the user.\n" }, - "expiration": { - "type": "integer", - "description": "Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e\n" + "email": { + "type": "string", + "description": "The email address of the user.\n" }, - "expiresAt": { + "firstName": { "type": "string", - "description": "Timestamp when the kubeconfig expires\n" + "description": "The first name of the user.\n" }, "instanceId": { "type": "string", - "description": "ID of the Edge Cloud instance.\n" + "description": "The Dremio instance ID.\n" }, - "instanceName": { + "lastName": { "type": "string", - "description": "Name of the Edge Cloud instance.\n" + "description": "The last name of the user.\n" }, - "kubeconfig": { + "name": { "type": "string", - "description": "Raw kubeconfig.\n", - "secret": true + "description": "The username of the user.\n" }, - "kubeconfigId": { + "password": { "type": "string", - "description": "Internally generated UUID to identify a kubeconfig resource in Terraform, since the Edge Cloud API doesn't return a kubeconfig identifier\n" + "description": "The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character.\n", + "secret": true }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the Edge Cloud instance is associated.\n" - }, - "recreateBefore": { - "type": "integer", - "description": "Number of seconds before expiration to trigger recreation of the kubeconfig at.\n" + "description": "STACKIT Project ID to which the resource is associated.\n" }, "region": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/DremioUserTimeouts:DremioUserTimeouts" + }, + "userId": { + "type": "string", + "description": "The Dremio user ID.\n" } }, "required": [ - "creationTime", - "expiration", - "expiresAt", - "kubeconfig", - "kubeconfigId", + "description", + "email", + "firstName", + "instanceId", + "lastName", + "name", + "password", + "projectId", + "region", + "userId" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "The description of the user.\n" + }, + "email": { + "type": "string", + "description": "The email address of the user.\n" + }, + "firstName": { + "type": "string", + "description": "The first name of the user.\n" + }, + "instanceId": { + "type": "string", + "description": "The Dremio instance ID.\n" + }, + "lastName": { + "type": "string", + "description": "The last name of the user.\n" + }, + "name": { + "type": "string", + "description": "The username of the user.\n" + }, + "password": { + "type": "string", + "description": "The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character.\n", + "secret": true + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the resource is associated.\n" + }, + "region": { + "type": "string", + "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/DremioUserTimeouts:DremioUserTimeouts" + } + }, + "requiredInputs": [ + "email", + "firstName", + "instanceId", + "lastName", + "password", + "projectId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering DremioUser resources.\n", + "properties": { + "description": { + "type": "string", + "description": "The description of the user.\n" + }, + "email": { + "type": "string", + "description": "The email address of the user.\n" + }, + "firstName": { + "type": "string", + "description": "The first name of the user.\n" + }, + "instanceId": { + "type": "string", + "description": "The Dremio instance ID.\n" + }, + "lastName": { + "type": "string", + "description": "The last name of the user.\n" + }, + "name": { + "type": "string", + "description": "The username of the user.\n" + }, + "password": { + "type": "string", + "description": "The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character.\n", + "secret": true + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the resource is associated.\n" + }, + "region": { + "type": "string", + "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "timeouts": { + "$ref": "#/types/stackit:index/DremioUserTimeouts:DremioUserTimeouts" + }, + "userId": { + "type": "string", + "description": "The Dremio user ID.\n" + } + }, + "type": "object" + } + }, + "stackit:index/edgecloudInstance:EdgecloudInstance": { + "description": "Edge Cloud is in private Beta and not generally available.\n You can contact support if you are interested in trying it out.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nlocals {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n display_name = \"edge\"\n plan_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n description = \"cats live on the edge\"\n region = \"eu01\"\n}\n\nresource \"stackit_edgecloud_instance\" \"this\" {\n project_id = local.project_id\n display_name = local.display_name\n plan_id = local.plan_id\n description = local.description\n}\n\n# Only use the import statement, if you want to import an existing Edge Cloud instance resource\nimport {\n to = stackit_edgecloud_instance.this\n id = \"${local.project_id},${local.region},INSTANCE_ID\"\n}\n```\n", + "properties": { + "created": { + "type": "string", + "description": "The date and time the creation of the instance was triggered.\n" + }, + "description": { + "type": "string", + "description": "Description for your STACKIT Edge Cloud instance. Max length is 256 characters\n" + }, + "displayName": { + "type": "string", + "description": "Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters.\n" + }, + "frontendUrl": { + "type": "string", + "description": "Frontend URL for the Edge Cloud instance.\n" + }, + "instanceId": { + "type": "string", + "description": "\\n\\n-\\n\\n\n" + }, + "planId": { + "type": "string", + "description": "STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the Edge Cloud instance is associated.\n" + }, + "region": { + "type": "string", + "description": "STACKIT region to use for the instance, providers\u003cspan pulumi-lang-nodejs=\" defaultRegion \" pulumi-lang-dotnet=\" DefaultRegion \" pulumi-lang-go=\" defaultRegion \" pulumi-lang-python=\" default_region \" pulumi-lang-yaml=\" defaultRegion \" pulumi-lang-java=\" defaultRegion \"\u003e defaultRegion \u003c/span\u003ewill be used if unset.\n" + }, + "status": { + "type": "string", + "description": "instance status\n" + } + }, + "required": [ + "created", + "description", + "displayName", + "frontendUrl", + "instanceId", + "planId", + "projectId", + "region", + "status" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "Description for your STACKIT Edge Cloud instance. Max length is 256 characters\n" + }, + "displayName": { + "type": "string", + "description": "Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters.\n" + }, + "planId": { + "type": "string", + "description": "STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the Edge Cloud instance is associated.\n" + }, + "region": { + "type": "string", + "description": "STACKIT region to use for the instance, providers\u003cspan pulumi-lang-nodejs=\" defaultRegion \" pulumi-lang-dotnet=\" DefaultRegion \" pulumi-lang-go=\" defaultRegion \" pulumi-lang-python=\" default_region \" pulumi-lang-yaml=\" defaultRegion \" pulumi-lang-java=\" defaultRegion \"\u003e defaultRegion \u003c/span\u003ewill be used if unset.\n" + } + }, + "requiredInputs": [ + "displayName", + "planId", + "projectId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering EdgecloudInstance resources.\n", + "properties": { + "created": { + "type": "string", + "description": "The date and time the creation of the instance was triggered.\n" + }, + "description": { + "type": "string", + "description": "Description for your STACKIT Edge Cloud instance. Max length is 256 characters\n" + }, + "displayName": { + "type": "string", + "description": "Display name shown for the Edge Cloud instance. Has to be a valid hostname, with a length between 4 and 8 characters.\n" + }, + "frontendUrl": { + "type": "string", + "description": "Frontend URL for the Edge Cloud instance.\n" + }, + "instanceId": { + "type": "string", + "description": "\\n\\n-\\n\\n\n" + }, + "planId": { + "type": "string", + "description": "STACKIT Edge Plan ID for the Edge Cloud instance, has to be the UUID of an existing plan.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the Edge Cloud instance is associated.\n" + }, + "region": { + "type": "string", + "description": "STACKIT region to use for the instance, providers\u003cspan pulumi-lang-nodejs=\" defaultRegion \" pulumi-lang-dotnet=\" DefaultRegion \" pulumi-lang-go=\" defaultRegion \" pulumi-lang-python=\" default_region \" pulumi-lang-yaml=\" defaultRegion \" pulumi-lang-java=\" defaultRegion \"\u003e defaultRegion \u003c/span\u003ewill be used if unset.\n" + }, + "status": { + "type": "string", + "description": "instance status\n" + } + }, + "type": "object" + } + }, + "stackit:index/edgecloudKubeconfig:EdgecloudKubeconfig": { + "description": "Edge Cloud is in private Beta and not generally available.\n You can contact support if you are interested in trying it out.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\n# the instance resource only exists here to illustrate the usage of it's attribute\nresource \"stackit_edgecloud_instance\" \"this\" {\n project_id = local.project_id\n display_name = \"example\"\n plan_id = var.plan_id\n description = \"some_description\"\n}\n\nresource \"stackit_edgecloud_kubeconfig\" \"by_name\" {\n project_id = var.project_id\n instance_name = stackit_edgecloud_instance.this.display_name\n expiration = 3600 # seconds\n}\n\nresource \"stackit_edgecloud_kubeconfig\" \"by_id\" {\n project_id = var.project_id\n instance_id = stackit_edgecloud_instance.this.instance_id\n expiration = 3600 # seconds\n}\n```\n", + "properties": { + "creationTime": { + "type": "string", + "description": "Date-time when the kubeconfig was created\n" + }, + "expiration": { + "type": "integer", + "description": "Expiration time of the kubeconfig, in seconds. Minimum is 600, Maximum is 15552000. Defaults to \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e\n" + }, + "expiresAt": { + "type": "string", + "description": "Timestamp when the kubeconfig expires\n" + }, + "instanceId": { + "type": "string", + "description": "ID of the Edge Cloud instance.\n" + }, + "instanceName": { + "type": "string", + "description": "Name of the Edge Cloud instance.\n" + }, + "kubeconfig": { + "type": "string", + "description": "Raw kubeconfig.\n", + "secret": true + }, + "kubeconfigId": { + "type": "string", + "description": "Internally generated UUID to identify a kubeconfig resource in Terraform, since the Edge Cloud API doesn't return a kubeconfig identifier\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the Edge Cloud instance is associated.\n" + }, + "recreateBefore": { + "type": "integer", + "description": "Number of seconds before expiration to trigger recreation of the kubeconfig at.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + } + }, + "required": [ + "creationTime", + "expiration", + "expiresAt", + "kubeconfig", + "kubeconfigId", "projectId", "region" ], @@ -11182,7 +12356,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 = \"59838a89-51b1-4892-b57f-b3caf598ee2f\" // 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\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", "properties": { "disableSecurityGroupAssignment": { "type": "boolean", @@ -11712,7 +12886,7 @@ } }, "stackit:index/logsAccessToken:LogsAccessToken": { - "description": "Logs access token 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_logs_access_token\" \"accessToken\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n display_name = \"logs-access-token-example\"\n permissions = [\n \"read\"\n ]\n}\n\nresource \"stackit_logs_access_token\" \"accessToken2\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n display_name = \"logs-access-token-example\"\n lifetime = 30\n permissions = [\n \"write\"\n ]\n description = \"Example description\"\n}\n\n# Only use the import statement, if you want to import an existing logs access token\n# Note: The generated access token is only available upon creation.\n# Since this attribute is not fetched from the API call, to prevent the conflicts, you need to add:\n# lifecycle {\n# ignore_changes = [ lifetime ]\n# }\nimport {\n to = stackit_logs_access_token.import-example\n id = \"${var.project_id},${var.region},${var.logs_instance_id},${var.logs_access_token_id}\"\n}\n```\n", + "description": "Logs access token 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_logs_access_token\" \"accessToken\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n display_name = \"logs-access-token-example\"\n permissions = [\n \"read\"\n ]\n}\n\nresource \"stackit_logs_access_token\" \"accessToken2\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n display_name = \"logs-access-token-example\"\n lifetime = 30\n permissions = [\n \"write\"\n ]\n description = \"Example description\"\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 10\n}\n\nresource \"stackit_logs_access_token\" \"accessToken_rotate\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n display_name = \"logs-access-token-example\"\n lifetime = 30\n permissions = [\n \"write\"\n ]\n description = \"Example description\"\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\n}\n\n# Only use the import statement, if you want to import an existing logs access token\n# Note: The generated access token is only available upon creation.\n# Since this attribute is not fetched from the API call, to prevent the conflicts, you need to add:\n# lifecycle {\n# ignore_changes = [ lifetime ]\n# }\nimport {\n to = stackit_logs_access_token.import-example\n id = \"${var.project_id},${var.region},${var.logs_instance_id},${var.logs_access_token_id}\"\n}\n```\n", "properties": { "accessToken": { "type": "string", @@ -11762,9 +12936,16 @@ "type": "string", "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" }, - "status": { - "type": "string", - "description": "The status of the access token. Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e.\n" + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, + "status": { + "type": "string", + "description": "The status of the access token. Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e.\n" }, "validUntil": { "type": "string", @@ -11815,6 +12996,13 @@ "region": { "type": "string", "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ @@ -11874,6 +13062,13 @@ "type": "string", "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "status": { "type": "string", "description": "The status of the access token. Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e.\n" @@ -11946,7 +13141,7 @@ }, "status": { "type": "string", - "description": "The status of the Logs instance, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e.\n" + "description": "The status of the Logs instance. Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e.\n" } }, "required": [ @@ -12057,14 +13252,14 @@ }, "status": { "type": "string", - "description": "The status of the Logs instance, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e.\n" + "description": "The status of the Logs instance. Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e.\n" } }, "type": "object" } }, "stackit:index/mariadbCredential:MariadbCredential": { - "description": "MariaDB credential resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_mariadb_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Only use the import statement, if you want to import an existing mariadb credential\nimport {\n to = stackit_mariadb_credential.import-example\n id = \"${var.project_id},${var.mariadb_instance_id},${var.mariadb_credential_id}\"\n}\n```\n", + "description": "MariaDB credential resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_mariadb_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_mariadb_credential\" \"example_rotate\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\n}\n\n# Only use the import statement, if you want to import an existing mariadb credential\nimport {\n to = stackit_mariadb_credential.import-example\n id = \"${var.project_id},${var.mariadb_instance_id},${var.mariadb_credential_id}\"\n}\n```\n", "properties": { "credentialId": { "type": "string", @@ -12097,6 +13292,13 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "uri": { "type": "string", "secret": true @@ -12125,6 +13327,13 @@ "projectId": { "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" + }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ @@ -12165,6 +13374,13 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "uri": { "type": "string", "secret": true @@ -12455,7 +13671,7 @@ } }, "stackit:index/mongodbflexInstance:MongodbflexInstance": { - "description": "MongoDB Flex instance resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_mongodbflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n acl = [\"XXX.XXX.XXX.X/XX\", \"XX.XXX.XX.X/XX\"]\n flavor = {\n cpu = 1\n ram = 4\n }\n replicas = 1\n storage = {\n class = \"class\"\n size = 10\n }\n version = \"7.0\"\n options = {\n type = \"Single\"\n snapshot_retention_days = 3\n point_in_time_window_hours = 30\n }\n backup_schedule = \"0 0 * * *\"\n}\n\n# Only use the import statement, if you want to import an existing mongodbflex instance\nimport {\n to = stackit_mongodbflex_instance.import-example\n id = \"${var.project_id},${var.region},${var.instance_id}\"\n}\n```\n", + "description": "MongoDB Flex instance resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_mongodbflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n acl = [\"XXX.XXX.XXX.X/XX\", \"XX.XXX.XX.X/XX\"]\n flavor = {\n cpu = 1\n ram = 4\n }\n replicas = 1\n storage = {\n class = \"premium-perf2-mongodb\"\n size = 10\n }\n version = \"7.0\"\n options = {\n type = \"Single\"\n snapshot_retention_days = 3\n point_in_time_window_hours = 30\n }\n backup_schedule = \"0 0 * * *\"\n}\n\n# Only use the import statement, if you want to import an existing mongodbflex instance\nimport {\n to = stackit_mongodbflex_instance.import-example\n id = \"${var.project_id},${var.region},${var.instance_id}\"\n}\n```\n", "properties": { "acls": { "type": "array", @@ -12613,7 +13829,7 @@ } }, "stackit:index/mongodbflexUser:MongodbflexUser": { - "description": "MongoDB Flex user resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_mongodbflex_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n username = \"username\"\n roles = [\"role\"]\n database = \"database\"\n}\n\n# Only use the import statement, if you want to import an existing mongodbflex user\nimport {\n to = stackit_mongodbflex_user.import-example\n id = \"${var.project_id},${var.region},${var.instance_id},${user_id}\"\n}\n```\n", + "description": "MongoDB Flex user resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_mongodbflex_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n username = \"username\"\n roles = [\"role\"]\n database = \"database\"\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_mongodbflex_user\" \"example_rotate\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n username = \"username\"\n roles = [\"role\"]\n database = \"database\"\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\n}\n\n# Only use the import statement, if you want to import an existing mongodbflex user\nimport {\n to = stackit_mongodbflex_user.import-example\n id = \"${var.project_id},${var.region},${var.instance_id},${user_id}\"\n}\n```\n", "properties": { "database": { "type": "string" @@ -12647,6 +13863,13 @@ }, "description": "Database access levels for the user. Some of the possible values are: [\u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\"\u003e`read`\u003c/span\u003e, `readWrite`, `readWriteAnyDatabase`]\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "uri": { "type": "string", "secret": true @@ -12695,6 +13918,13 @@ }, "description": "Database access levels for the user. Some of the possible values are: [\u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\"\u003e`read`\u003c/span\u003e, `readWrite`, `readWriteAnyDatabase`]\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "username": { "type": "string" } @@ -12740,6 +13970,13 @@ }, "description": "Database access levels for the user. Some of the possible values are: [\u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\"\u003e`read`\u003c/span\u003e, `readWrite`, `readWriteAnyDatabase`]\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "uri": { "type": "string", "secret": true @@ -13784,7 +15021,7 @@ } }, "stackit:index/objectstorageCredential:ObjectstorageCredential": { - "description": "ObjectStorage credential resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_objectstorage_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n credentials_group_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n expiration_timestamp = \"2027-01-02T03:04:05Z\"\n}\n\n# Only use the import statement, if you want to import an existing objectstorage credential\nimport {\n to = stackit_objectstorage_credential.import-example\n id = \"${var.project_id},${var.region},${var.bucket_credentials_group_id},${var.bucket_credential_id}\"\n}\n```\n", + "description": "ObjectStorage credential resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_objectstorage_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n credentials_group_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n expiration_timestamp = \"2027-01-02T03:04:05Z\"\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_objectstorage_credential\" \"rotate_example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n credentials_group_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n expiration_timestamp = \"2027-01-02T03:04:05Z\"\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\n}\n\n# Only use the import statement, if you want to import an existing objectstorage credential\nimport {\n to = stackit_objectstorage_credential.import-example\n id = \"${var.project_id},${var.region},${var.bucket_credentials_group_id},${var.bucket_credential_id}\"\n}\n```\n", "properties": { "accessKey": { "type": "string" @@ -13812,6 +15049,13 @@ "type": "string", "description": "The resource region. If not defined, the provider region is used.\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "secretAccessKey": { "type": "string", "secret": true @@ -13843,6 +15087,13 @@ "region": { "type": "string", "description": "The resource region. If not defined, the provider region is used.\n" + }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ @@ -13878,6 +15129,13 @@ "type": "string", "description": "The resource region. If not defined, the provider region is used.\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "secretAccessKey": { "type": "string", "secret": true @@ -14056,7 +15314,7 @@ } }, "stackit:index/observabilityCredential:ObservabilityCredential": { - "description": "Observability credential resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_observability_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n description = \"Description of the credential.\"\n}\n```\n", + "description": "Observability credential resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_observability_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n description = \"Description of the credential.\"\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_observability_credential\" \"example_rotate\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n description = \"Description of the credential.\"\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\n}\n```\n", "properties": { "description": { "type": "string", @@ -14075,6 +15333,13 @@ "type": "string", "description": "STACKIT project ID to which the credential is associated.\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "username": { "type": "string", "description": "Credential username\n" @@ -14098,6 +15363,13 @@ "projectId": { "type": "string", "description": "STACKIT project ID to which the credential is associated.\n" + }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ @@ -14124,6 +15396,13 @@ "type": "string", "description": "STACKIT project ID to which the credential is associated.\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "username": { "type": "string", "description": "Credential username\n" @@ -14772,7 +16051,7 @@ } }, "stackit:index/opensearchCredential:OpensearchCredential": { - "description": "OpenSearch credential resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_opensearch_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Only use the import statement, if you want to import an existing opensearch credential\nimport {\n to = stackit_opensearch_credential.import-example\n id = \"${var.project_id},${var.instance_id},${var.credential_id}\"\n}\n```\n", + "description": "OpenSearch credential resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_opensearch_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_opensearch_credential\" \"example_rotate\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\n}\n\n# Only use the import statement, if you want to import an existing opensearch credential\nimport {\n to = stackit_opensearch_credential.import-example\n id = \"${var.project_id},${var.instance_id},${var.credential_id}\"\n}\n```\n", "properties": { "credentialId": { "type": "string", @@ -14802,6 +16081,13 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "scheme": { "type": "string" }, @@ -14833,6 +16119,13 @@ "projectId": { "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" + }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ @@ -14870,6 +16163,13 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "scheme": { "type": "string" }, @@ -15117,7 +16417,7 @@ } }, "stackit:index/postgresflexInstance:PostgresflexInstance": { - "description": "Postgres Flex instance resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_postgresflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n acl = [\"XXX.XXX.XXX.X/XX\", \"XX.XXX.XX.X/XX\"]\n backup_schedule = \"00 00 * * *\"\n flavor = {\n cpu = 2\n ram = 4\n }\n replicas = 3\n storage = {\n class = \"class\"\n size = 5\n }\n version = 14\n}\n\n# Only use the import statement, if you want to import an existing postgresflex instance\nimport {\n to = stackit_postgresflex_instance.import-example\n id = \"${var.project_id},${var.region},${var.postgres_instance_id}\"\n}\n```\n", + "description": "Postgres Flex instance resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_postgresflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n acl = [\"XXX.XXX.XXX.X/XX\", \"XX.XXX.XX.X/XX\"]\n backup_schedule = \"00 00 * * *\"\n flavor = {\n cpu = 2\n ram = 4\n }\n replicas = 3\n storage = {\n class = \"premium-perf2-stackit\"\n size = 5\n }\n version = 14\n}\n\n# Only use the import statement, if you want to import an existing postgresflex instance\nimport {\n to = stackit_postgresflex_instance.import-example\n id = \"${var.project_id},${var.region},${var.postgres_instance_id}\"\n}\n```\n", "properties": { "acls": { "type": "array", @@ -15267,7 +16567,7 @@ } }, "stackit:index/postgresflexUser:PostgresflexUser": { - "description": "Postgres Flex user resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_postgresflex_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n username = \"username\"\n roles = [\"role\"]\n}\n\n# Only use the import statement, if you want to import an existing postgresflex user\nimport {\n to = stackit_postgresflex_user.import-example\n id = \"${var.project_id},${var.region},${var.postgres_instance_id},${var.user_id}\"\n}\n```\n", + "description": "Postgres Flex user resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_postgresflex_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n username = \"username\"\n roles = [\"login\"]\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_postgresflex_user\" \"example_rotate\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n username = \"username\"\n roles = [\"login\"]\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\n}\n\n# Only use the import statement, if you want to import an existing postgresflex user\nimport {\n to = stackit_postgresflex_user.import-example\n id = \"${var.project_id},${var.region},${var.postgres_instance_id},${var.user_id}\"\n}\n```\n", "properties": { "host": { "type": "string" @@ -15298,6 +16598,13 @@ }, "description": "Database access levels for the user.\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "uri": { "type": "string", "secret": true @@ -15342,6 +16649,13 @@ }, "description": "Database access levels for the user.\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "username": { "type": "string" } @@ -15384,6 +16698,13 @@ }, "description": "Database access levels for the user.\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "uri": { "type": "string", "secret": true @@ -15577,7 +16898,7 @@ } }, "stackit:index/rabbitmqCredential:RabbitmqCredential": { - "description": "RabbitMQ credential resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_rabbitmq_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Only use the import statement, if you want to import an existing rabbitmq credential\nimport {\n to = stackit_rabbitmq_credential.import-example\n id = \"${var.project_id},${var.rabbitmq_instance_id},${var.rabbitmq_credential_id}\"\n}\n```\n", + "description": "RabbitMQ credential resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_rabbitmq_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_rabbitmq_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\n}\n\n# Only use the import statement, if you want to import an existing rabbitmq credential\nimport {\n to = stackit_rabbitmq_credential.import-example\n id = \"${var.project_id},${var.rabbitmq_instance_id},${var.rabbitmq_credential_id}\"\n}\n```\n", "properties": { "credentialId": { "type": "string", @@ -15619,6 +16940,13 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "uri": { "type": "string", "secret": true @@ -15656,6 +16984,13 @@ "projectId": { "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" + }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ @@ -15705,6 +17040,13 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "uri": { "type": "string", "secret": true @@ -15861,7 +17203,7 @@ } }, "stackit:index/redisCredential:RedisCredential": { - "description": "Redis credential resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_redis_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Only use the import statement, if you want to import an existing redis credential\nimport {\n to = stackit_redis_credential.import-example\n id = \"${var.project_id},${var.redis_instance_id},${var.redis_credential_id}\"\n}\n```\n", + "description": "Redis credential resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_redis_credential\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_redis_credential\" \"example_rotate\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\n}\n\n# Only use the import statement, if you want to import an existing redis credential\nimport {\n to = stackit_redis_credential.import-example\n id = \"${var.project_id},${var.redis_instance_id},${var.redis_credential_id}\"\n}\n```\n", "properties": { "credentialId": { "type": "string", @@ -15894,6 +17236,13 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "uri": { "type": "string", "description": "Connection URI.\n", @@ -15923,6 +17272,13 @@ "projectId": { "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" + }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" } }, "requiredInputs": [ @@ -15963,6 +17319,13 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "uri": { "type": "string", "description": "Connection URI.\n", @@ -17126,7 +18489,7 @@ } }, "stackit:index/secretsmanagerUser:SecretsmanagerUser": { - "description": "Secrets Manager user resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_secretsmanager_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n description = \"Example user\"\n write_enabled = false\n}\n\n# Only use the import statement, if you want to import an existing secretsmanager user\nimport {\n to = stackit_secretsmanager_user.import-example\n id = \"${var.project_id},${var.secret_instance_id},${var.secret_user_id}\"\n}\n```\n", + "description": "Secrets Manager user resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_secretsmanager_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n description = \"Example user\"\n write_enabled = false\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_secretsmanager_user\" \"example_rotate\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n description = \"Example user\"\n write_enabled = false\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\n}\n\n# Only use the import statement, if you want to import an existing secretsmanager user\nimport {\n to = stackit_secretsmanager_user.import-example\n id = \"${var.project_id},${var.secret_instance_id},${var.secret_user_id}\"\n}\n```\n", "properties": { "description": { "type": "string", @@ -17145,6 +18508,13 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "userId": { "type": "string", "description": "The user's ID.\n" @@ -17180,6 +18550,13 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "writeEnabled": { "type": "boolean", "description": "If true, the user has writeaccess to the secrets engine.\n" @@ -17211,6 +18588,13 @@ "type": "string", "description": "STACKIT Project ID to which the instance is associated.\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "userId": { "type": "string", "description": "The user's ID.\n" @@ -17228,7 +18612,7 @@ } }, "stackit:index/securityGroup:SecurityGroup": { - "description": "Security group resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_security_group\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my_security_group\"\n labels = {\n \"key\" = \"value\"\n }\n}\n\n# Only use the import statement, if you want to import an existing security group\nimport {\n to = stackit_security_group.import-example\n id = \"${var.project_id},${var.security_group_id}\"\n}\n```\n", + "description": "Security group resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_security_group\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my_security_group\"\n labels = {\n \"key\" = \"value\"\n }\n}\n\n# Only use the import statement, if you want to import an existing security group\nimport {\n to = stackit_security_group.import-example\n id = \"${var.project_id},${var.region},${var.security_group_id}\"\n}\n```\n", "properties": { "description": { "type": "string", @@ -17341,7 +18725,7 @@ } }, "stackit:index/securityGroupRule:SecurityGroupRule": { - "description": "Security group rule resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_security_group_rule\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n security_group_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n direction = \"ingress\"\n icmp_parameters = {\n code = 0\n type = 8\n }\n protocol = {\n name = \"icmp\"\n }\n}\n\n# Only use the import statement, if you want to import an existing security group rule\n# Note: There will be a conflict which needs to be resolved manually.\n# Attribute \"protocol.number\" cannot be specified when \"protocol.name\" is specified.\nimport {\n to = stackit_security_group_rule.import-example\n id = \"${var.project_id},${var.security_group_id},${var.security_group_rule_id}\"\n}\n```\n", + "description": "Security group rule resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_security_group_rule\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n security_group_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n direction = \"ingress\"\n icmp_parameters = {\n code = 0\n type = 8\n }\n protocol = {\n name = \"icmp\"\n }\n}\n\n# Only use the import statement, if you want to import an existing security group rule\n# Note: There will be a conflict which needs to be resolved manually.\n# Attribute \"protocol.number\" cannot be specified when \"protocol.name\" is specified.\nimport {\n to = stackit_security_group_rule.import-example\n id = \"${var.project_id},${var.region},${var.security_group_id},${var.security_group_rule_id}\"\n}\n```\n", "properties": { "description": { "type": "string", @@ -17510,7 +18894,7 @@ } }, "stackit:index/server:Server": { - "description": "Server resource schema. Must have a region specified in the provider configuration.\n\n## Example Usage\n\n### With key pair\n```terraform\nresource \"stackit_key_pair\" \"keypair\" {\n name = \"example-key-pair\"\n public_key = chomp(file(\"path/to/id_rsa.pub\"))\n}\n\nresource \"stackit_server\" \"user-data-from-file\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = file(\"${path.module}/cloud-init.yaml\")\n}\n\n```\n\n### Boot from volume\n```terraform\nresource \"stackit_server\" \"boot-from-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g2i.1\"\n keypair_name = \"example-keypair\"\n}\n\n```\n\n### Boot from existing volume\n```terraform\nresource \"stackit_volume\" \"example-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n size = 12\n source = {\n type = \"image\"\n id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-volume\"\n availability_zone = \"eu01-1\"\n}\n\nresource \"stackit_server\" \"boot-from-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n source_type = \"volume\"\n source_id = stackit_volume.example-volume.volume_id\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n}\n\n```\n\n### Network setup\n```terraform\nresource \"stackit_network\" \"network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-network\"\n ipv4_nameservers = [\"192.0.2.0\", \"198.51.100.0\", \"203.0.113.0\"]\n ipv4_prefix_length = 24\n}\n\nresource \"stackit_security_group\" \"sec-group\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-security-group\"\n stateful = true\n}\n\nresource \"stackit_security_group_rule\" \"rule\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n security_group_id = stackit_security_group.sec-group.security_group_id\n direction = \"ingress\"\n ether_type = \"IPv4\"\n}\n\nresource \"stackit_network_interface\" \"nic\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_id = stackit_network.network.network_id\n security_group_ids = [stackit_security_group.sec-group.security_group_id]\n}\n\nresource \"stackit_server\" \"server-with-network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n network_interfaces = [\n stackit_network_interface.nic.network_interface_id\n ]\n}\n\nresource \"stackit_public_ip\" \"public-ip\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = stackit_network_interface.nic.network_interface_id\n}\n\n```\n\n### Server with attached volume\n```terraform\nresource \"stackit_volume\" \"example-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n size = 12\n performance_class = \"storage_premium_perf6\"\n name = \"example-volume\"\n availability_zone = \"eu01-1\"\n}\n\nresource \"stackit_server\" \"server-with-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n}\n\nresource \"stackit_server_volume_attach\" \"attach_volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = stackit_server.server-with-volume.server_id\n volume_id = stackit_volume.example-volume.volume_id\n}\n\n```\n\n### Server with user data (cloud-init)\n```terraform\nresource \"stackit_server\" \"user-data\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = \"#!/bin/bash\\n/bin/su\"\n}\n\nresource \"stackit_server\" \"user-data-from-file\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = file(\"${path.module}/cloud-init.yaml\")\n}\n\n```\n\n\n### Additional Examples\n\n```terraform\nresource \"stackit_server\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"59838a89-51b1-4892-b57f-b3caf598ee2f\" // Ubuntu 24.04\n }\n availability_zone = \"xxxx-x\"\n machine_type = \"g2i.1\"\n network_interfaces = [\n stackit_network_interface.example.network_interface_id\n ]\n}\n\n# Only use the import statement, if you want to import an existing server\n# Note: There will be a conflict which needs to be resolved manually.\n# Must set a configuration value for the boot_volume.source_type and boot_volume.source_id attribute as the provider has marked it as required.\n# Since those attributes are not fetched in general from the API call, after adding them this would replace your server resource after an pulumi up.\n# In order to prevent this you need to add:\n# lifecycle {\n# ignore_changes = [ boot_volume ]\n# }\nimport {\n to = stackit_server.import-example\n id = \"${var.project_id},${var.region},${var.server_id}\"\n}\n```\n", + "description": "Server resource schema. Must have a region specified in the provider configuration.\n\n## Example Usage\n\n### With key pair\n```terraform\nresource \"stackit_key_pair\" \"keypair\" {\n name = \"example-key-pair\"\n public_key = chomp(file(\"path/to/id_rsa.pub\"))\n}\n\nresource \"stackit_server\" \"user-data-from-file\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = file(\"${path.module}/cloud-init.yaml\")\n}\n\n```\n\n### Boot from volume\n```terraform\nresource \"stackit_server\" \"boot-from-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g2i.1\"\n keypair_name = \"example-keypair\"\n}\n\n```\n\n### Boot from existing volume\n```terraform\nresource \"stackit_volume\" \"example-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n size = 12\n source = {\n type = \"image\"\n id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-volume\"\n availability_zone = \"eu01-1\"\n}\n\nresource \"stackit_server\" \"boot-from-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n source_type = \"volume\"\n source_id = stackit_volume.example-volume.volume_id\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n}\n\n```\n\n### Network setup\n```terraform\nresource \"stackit_network\" \"network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-network\"\n ipv4_nameservers = [\"192.0.2.0\", \"198.51.100.0\", \"203.0.113.0\"]\n ipv4_prefix_length = 24\n}\n\nresource \"stackit_security_group\" \"sec-group\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-security-group\"\n stateful = true\n}\n\nresource \"stackit_security_group_rule\" \"rule\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n security_group_id = stackit_security_group.sec-group.security_group_id\n direction = \"ingress\"\n ether_type = \"IPv4\"\n}\n\nresource \"stackit_network_interface\" \"nic\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_id = stackit_network.network.network_id\n security_group_ids = [stackit_security_group.sec-group.security_group_id]\n}\n\nresource \"stackit_server\" \"server-with-network\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n network_interfaces = [\n stackit_network_interface.nic.network_interface_id\n ]\n}\n\nresource \"stackit_public_ip\" \"public-ip\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n network_interface_id = stackit_network_interface.nic.network_interface_id\n}\n\n```\n\n### Server with attached volume\n```terraform\nresource \"stackit_volume\" \"example-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n size = 12\n performance_class = \"storage_premium_perf6\"\n name = \"example-volume\"\n availability_zone = \"eu01-1\"\n}\n\nresource \"stackit_server\" \"server-with-volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n availability_zone = \"eu01-1\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n}\n\nresource \"stackit_server_volume_attach\" \"attach_volume\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = stackit_server.server-with-volume.server_id\n volume_id = stackit_volume.example-volume.volume_id\n}\n\n```\n\n### Server with user data (cloud-init)\n```terraform\nresource \"stackit_server\" \"user-data\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = \"#!/bin/bash\\n/bin/su\"\n}\n\nresource \"stackit_server\" \"user-data-from-file\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n }\n name = \"example-server\"\n machine_type = \"g2i.1\"\n keypair_name = stackit_key_pair.keypair.name\n user_data = file(\"${path.module}/cloud-init.yaml\")\n}\n\n```\n\n\n### Additional Examples\n\n```terraform\nresource \"stackit_server\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-server\"\n boot_volume = {\n size = 64\n source_type = \"image\"\n source_id = \"7b10e105-295b-4369-b6e0-567ec940a02b\" // Ubuntu 24.04\n }\n availability_zone = \"xxxx-x\"\n machine_type = \"g2i.1\"\n network_interfaces = [\n stackit_network_interface.example.network_interface_id\n ]\n}\n\n# Only use the import statement, if you want to import an existing server\n# Note: There will be a conflict which needs to be resolved manually.\n# Must set a configuration value for the boot_volume.source_type and boot_volume.source_id attribute as the provider has marked it as required.\n# Since those attributes are not fetched in general from the API call, after adding them this would replace your server resource after an pulumi up.\n# In order to prevent this you need to add:\n# lifecycle {\n# ignore_changes = [ boot_volume ]\n# }\nimport {\n to = stackit_server.import-example\n id = \"${var.project_id},${var.region},${var.server_id}\"\n}\n```\n", "properties": { "affinityGroup": { "type": "string", @@ -18375,7 +19759,7 @@ } }, "stackit:index/serviceAccount:ServiceAccount": { - "description": "Service account resource schema.\n\n## Example Usage\n\n```terraform\nresource \"stackit_service_account\" \"sa\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"sa01\"\n}\n\n# Only use the import statement, if you want to import an existing service account\nimport {\n to = stackit_service_account.import-example\n id = \"${var.project_id},${var.service_account_email}\"\n}\n```\n", + "description": "Manages a STACKIT service account in a project.\n\n## Example Usage\n\n```terraform\nresource \"stackit_service_account\" \"sa\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"sa01\"\n}\n\n# Only use the import statement, if you want to import an existing service account\nimport {\n to = stackit_service_account.import-example\n id = \"${var.project_id},${var.service_account_email}\"\n}\n```\n", "properties": { "email": { "type": "string", @@ -18437,7 +19821,7 @@ } }, "stackit:index/serviceAccountFederatedIdentityProvider:ServiceAccountFederatedIdentityProvider": { - "description": "Service account federated identity provider schema.\n## Example Usage\n\n### Create a federated identity provider\n```terraform\nresource \"stackit_service_account\" \"sa\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my-service-account\"\n}\n\nresource \"stackit_service_account_federated_identity_provider\" \"provider\" {\n project_id = stackit_service_account.sa.project_id\n service_account_email = stackit_service_account.sa.email\n name = \"my-provider\"\n issuer = \"https://auth.example.com\"\n\n assertions = [\n {\n item = \"aud\" # Including the audience check is mandatory for security reasons, the value is free to choose\n operator = \"equals\"\n value = \"sts.accounts.stackit.cloud\"\n },\n {\n item = \"email\"\n operator = \"equals\"\n value = \"terraform@example.com\"\n }\n ]\n}\n\n```\n\n\n### Additional Examples\n\n```terraform\nresource \"stackit_service_account\" \"sa\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my-service-account\"\n}\n\nresource \"stackit_service_account_federated_identity_provider\" \"provider\" {\n project_id = stackit_service_account.sa.project_id\n service_account_email = stackit_service_account.sa.email\n name = \"gh-actions\"\n issuer = \"https://token.actions.githubusercontent.com\"\n\n assertions = [\n {\n item = \"aud\"\n operator = \"equals\"\n value = \"sts.accounts.stackit.cloud\"\n },\n {\n item = \"sub\"\n operator = \"equals\"\n value = \"repo:stackitcloud/terraform-provider-stackit:ref:refs/heads/main\"\n }\n ]\n}\n\n# Only use the import statement, if you want to import an existing federated identity provider\nimport {\n to = stackit_service_account_federated_identity_provider.import-example\n id = \"${var.project_id},${var.service_account_email},${var.federation_id}\"\n}\n```\n", + "description": "Manages a federated identity provider for a STACKIT service account to enable workload identity federation.\n## Example Usage\n\n### Create a federated identity provider\n```terraform\nresource \"stackit_service_account\" \"sa\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my-service-account\"\n}\n\nresource \"stackit_service_account_federated_identity_provider\" \"provider\" {\n project_id = stackit_service_account.sa.project_id\n service_account_email = stackit_service_account.sa.email\n name = \"my-provider\"\n issuer = \"https://auth.example.com\"\n\n assertions = [\n {\n item = \"aud\" # Including the audience check is mandatory for security reasons, the value is free to choose\n operator = \"equals\"\n value = \"sts.accounts.stackit.cloud\"\n },\n {\n item = \"email\"\n operator = \"equals\"\n value = \"terraform@example.com\"\n }\n ]\n}\n\n```\n\n\n### Additional Examples\n\n```terraform\nresource \"stackit_service_account\" \"sa\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my-service-account\"\n}\n\nresource \"stackit_service_account_federated_identity_provider\" \"provider\" {\n project_id = stackit_service_account.sa.project_id\n service_account_email = stackit_service_account.sa.email\n name = \"gh-actions\"\n issuer = \"https://token.actions.githubusercontent.com\"\n\n assertions = [\n {\n item = \"aud\"\n operator = \"equals\"\n value = \"sts.accounts.stackit.cloud\"\n },\n {\n item = \"sub\"\n operator = \"equals\"\n value = \"repo:stackitcloud/terraform-provider-stackit:ref:refs/heads/main\"\n }\n ]\n}\n\n# Only use the import statement, if you want to import an existing federated identity provider\nimport {\n to = stackit_service_account_federated_identity_provider.import-example\n id = \"${var.project_id},${var.service_account_email},${var.federation_id}\"\n}\n```\n", "properties": { "assertions": { "type": "array", @@ -18541,7 +19925,7 @@ } }, "stackit:index/serviceAccountKey:ServiceAccountKey": { - "description": "Service account key schema.\n## Example Usage\n\n### Automatically rotate service account keys\n```terraform\nresource \"stackit_service_account\" \"sa\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"sa01\"\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_service_account_key\" \"sa_key\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n service_account_email = stackit_service_account.sa.email\n ttl_days = 90\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\t\n}\n\n```\n", + "description": "Creates and manages a key for a STACKIT service account.\n## Example Usage\n\n### Automatically rotate service account keys\n```terraform\nresource \"stackit_service_account\" \"sa\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"sa01\"\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_service_account_key\" \"sa_key\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n service_account_email = stackit_service_account.sa.email\n ttl_days = 90\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\t\n}\n\n```\n", "properties": { "json": { "type": "string", @@ -18651,8 +20035,15 @@ } }, "stackit:index/sfsExportPolicy:SfsExportPolicy": { - "description": "SFS export policy resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nresource \"stackit_sfs_export_policy\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n rules = [\n {\n ip_acl = [\"172.16.0.0/24\", \"172.16.0.250/32\"]\n order = 1\n }\n ]\n}\n\n# Only use the import statement, if you want to import an existing export policy\nimport {\n to = stackit_sfs_export_policy.example\n id = \"${var.project_id},${var.region},${var.policy_id}\"\n}\n```\n", + "description": "SFS export policy resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nresource \"stackit_sfs_export_policy\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n rules = [\n {\n ip_acl = [\"172.16.0.0/24\", \"172.16.0.250/32\"]\n order = 1\n }\n ]\n labels = {\n \"foo\" = \"bar\"\n }\n}\n\n# Only use the import statement, if you want to import an existing export policy\nimport {\n to = stackit_sfs_export_policy.example\n id = \"${var.project_id},${var.region},${var.policy_id}\"\n}\n```\n", "properties": { + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to the resource.\n" + }, "name": { "type": "string", "description": "Name of the export policy.\n" @@ -18684,6 +20075,13 @@ "rules" ], "inputProperties": { + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to the resource.\n" + }, "name": { "type": "string", "description": "Name of the export policy.\n" @@ -18709,6 +20107,13 @@ "stateInputs": { "description": "Input properties used for looking up and filtering SfsExportPolicy resources.\n", "properties": { + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to the resource.\n" + }, "name": { "type": "string", "description": "Name of the export policy.\n" @@ -18789,7 +20194,7 @@ } }, "stackit:index/sfsResourcePool:SfsResourcePool": { - "description": "Resource-pool resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nresource \"stackit_sfs_resource_pool\" \"resourcepool\" {\n project_id = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"\n name = \"some-resourcepool\"\n availability_zone = \"eu01-m\"\n performance_class = \"Standard\"\n size_gigabytes = 512\n ip_acl = [\n \"192.168.42.1/32\",\n \"192.168.42.2/32\"\n ]\n snapshots_are_visible = true\n}\n\n# Only use the import statement, if you want to import an existing resource pool\nimport {\n to = stackit_sfs_resource_pool.resourcepool\n id = \"${var.project_id},${var.region},${var.resource_pool_id}\"\n}\n```\n", + "description": "Resource-pool resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nresource \"stackit_sfs_resource_pool\" \"resourcepool\" {\n project_id = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"\n name = \"some-resourcepool\"\n availability_zone = \"eu01-m\"\n performance_class = \"Standard\"\n size_gigabytes = 512\n ip_acl = [\n \"192.168.42.1/32\",\n \"192.168.42.2/32\"\n ]\n snapshots_are_visible = true\n labels = {\n \"foo\" = \"bar\"\n }\n}\n\n# Only use the import statement, if you want to import an existing resource pool\nimport {\n to = stackit_sfs_resource_pool.resourcepool\n id = \"${var.project_id},${var.region},${var.resource_pool_id}\"\n}\n```\n", "properties": { "availabilityZone": { "type": "string", @@ -18802,6 +20207,13 @@ }, "description": "List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. \"172.16.0.0/24\" for a range of IPs, or \"172.16.0.250/32\" for a specific IP).\n" }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to the resource.\n" + }, "name": { "type": "string", "description": "Name of the resource pool.\n" @@ -18858,6 +20270,13 @@ }, "description": "List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. \"172.16.0.0/24\" for a range of IPs, or \"172.16.0.250/32\" for a specific IP).\n" }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to the resource.\n" + }, "name": { "type": "string", "description": "Name of the resource pool.\n" @@ -18908,6 +20327,13 @@ }, "description": "List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. \"172.16.0.0/24\" for a range of IPs, or \"172.16.0.250/32\" for a specific IP).\n" }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to the resource.\n" + }, "name": { "type": "string", "description": "Name of the resource pool.\n" @@ -18945,12 +20371,19 @@ } }, "stackit:index/sfsShare:SfsShare": { - "description": "SFS Share schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nresource \"stackit_sfs_share\" \"example\" {\n project_id = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"\n resource_pool_id = \"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY\"\n name = \"my-nfs-share\"\n export_policy = \"high-performance-class\"\n space_hard_limit_gigabytes = 32\n}\n\n# Only use the import statement, if you want to import an existing sfs share\nimport {\n to = stackit_sfs_resource_pool.resourcepool\n id = \"${var.project_id},${var.region},${var.resource_pool_id},${var.share_id}\"\n}\n```\n", + "description": "SFS Share schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e This resource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\nresource \"stackit_sfs_share\" \"example\" {\n project_id = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"\n resource_pool_id = \"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY\"\n name = \"my-nfs-share\"\n export_policy = \"high-performance-class\"\n space_hard_limit_gigabytes = 32\n labels = {\n \"foo\" = \"bar\"\n }\n}\n\n# Only use the import statement, if you want to import an existing sfs share\nimport {\n to = stackit_sfs_resource_pool.resourcepool\n id = \"${var.project_id},${var.region},${var.resource_pool_id},${var.share_id}\"\n}\n```\n", "properties": { "exportPolicy": { "type": "string", "description": "Name of the Share Export Policy to use in the Share.\nNote that if this is set to an empty string, the Share can only be mounted in read only by\nclients with IPs matching the IP ACL of the Resource Pool hosting this Share.\nYou can also assign a Share Export Policy after creating the Share\n" }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to the resource.\n" + }, "mountPath": { "type": "string", "description": "Mount path of the Share, used to mount the Share\n" @@ -18994,6 +20427,13 @@ "type": "string", "description": "Name of the Share Export Policy to use in the Share.\nNote that if this is set to an empty string, the Share can only be mounted in read only by\nclients with IPs matching the IP ACL of the Resource Pool hosting this Share.\nYou can also assign a Share Export Policy after creating the Share\n" }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to the resource.\n" + }, "name": { "type": "string", "description": "Name of the share.\n" @@ -19027,6 +20467,13 @@ "type": "string", "description": "Name of the Share Export Policy to use in the Share.\nNote that if this is set to an empty string, the Share can only be mounted in read only by\nclients with IPs matching the IP ACL of the Resource Pool hosting this Share.\nYou can also assign a Share Export Policy after creating the Share\n" }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to the resource.\n" + }, "mountPath": { "type": "string", "description": "Mount path of the Share, used to mount the Share\n" @@ -19383,7 +20830,7 @@ } }, "stackit:index/sqlserverflexInstance:SqlserverflexInstance": { - "description": "SQLServer Flex instance resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_sqlserverflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n acl = [\"XXX.XXX.XXX.X/XX\", \"XX.XXX.XX.X/XX\"]\n backup_schedule = \"00 00 * * *\"\n flavor = {\n cpu = 4\n ram = 16\n }\n storage = {\n class = \"class\"\n size = 5\n }\n version = 2022\n}\n\n# Only use the import statement, if you want to import an existing sqlserverflex instance\nimport {\n to = stackit_sqlserverflex_instance.import-example\n id = \"${var.project_id},${var.region},${var.sql_instance_id}\"\n}\n```\n", + "description": "SQLServer Flex instance resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_sqlserverflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-instance\"\n acl = [\"XXX.XXX.XXX.X/XX\", \"XX.XXX.XX.X/XX\"]\n backup_schedule = \"00 00 * * *\"\n flavor = {\n cpu = 4\n ram = 16\n }\n storage = {\n class = \"premium-perf2-stackit\"\n size = 5\n }\n version = 2022\n}\n\n# Only use the import statement, if you want to import an existing sqlserverflex instance\nimport {\n to = stackit_sqlserverflex_instance.import-example\n id = \"${var.project_id},${var.region},${var.sql_instance_id}\"\n}\n```\n", "properties": { "acls": { "type": "array", @@ -19532,7 +20979,7 @@ } }, "stackit:index/sqlserverflexUser:SqlserverflexUser": { - "description": "SQLServer Flex user resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_sqlserverflex_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n username = \"username\"\n roles = [\"role\"]\n}\n\n# Only use the import statement, if you want to import an existing sqlserverflex user\nimport {\n to = stackit_sqlserverflex_user.import-example\n id = \"${var.project_id},${var.region},${var.sql_instance_id},${var.sql_user_id}\"\n}\n```\n", + "description": "SQLServer Flex user resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\nresource \"stackit_sqlserverflex_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n username = \"username\"\n roles = [\"role\"]\n}\n\nresource \"time_rotating\" \"rotate\" {\n rotation_days = 80\n}\n\nresource \"stackit_sqlserverflex_user\" \"example_rotate\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n username = \"username\"\n roles = [\"role\"]\n\n rotate_when_changed = {\n rotation = time_rotating.rotate.id\n }\n}\n\n# Only use the import statement, if you want to import an existing sqlserverflex user\nimport {\n to = stackit_sqlserverflex_user.import-example\n id = \"${var.project_id},${var.region},${var.sql_instance_id},${var.sql_user_id}\"\n}\n```\n", "properties": { "host": { "type": "string" @@ -19563,6 +21010,13 @@ }, "description": "Database access levels for the user. The values for the default roles are: `##STACKIT_DatabaseManager##`, `##STACKIT_LoginManager##`, `##STACKIT_ProcessManager##`, `##STACKIT_ServerManager##`, `##STACKIT_SQLAgentManager##`, `##STACKIT_SQLAgentUser##`\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "userId": { "type": "string", "description": "User ID.\n" @@ -19602,6 +21056,13 @@ }, "description": "Database access levels for the user. The values for the default roles are: `##STACKIT_DatabaseManager##`, `##STACKIT_LoginManager##`, `##STACKIT_ProcessManager##`, `##STACKIT_ServerManager##`, `##STACKIT_SQLAgentManager##`, `##STACKIT_SQLAgentUser##`\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "username": { "type": "string", "description": "Username of the SQLServer Flex instance.\n" @@ -19645,6 +21106,13 @@ }, "description": "Database access levels for the user. The values for the default roles are: `##STACKIT_DatabaseManager##`, `##STACKIT_LoginManager##`, `##STACKIT_ProcessManager##`, `##STACKIT_ServerManager##`, `##STACKIT_SQLAgentManager##`, `##STACKIT_SQLAgentUser##`\n" }, + "rotateWhenChanged": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created.\n" + }, "userId": { "type": "string", "description": "User ID.\n" @@ -19657,7 +21125,533 @@ "type": "object" } }, - "stackit:index/volume:Volume": { + "stackit:index/telemetrylink:Telemetrylink": { + "description": "TelemetryLink instance 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_telemetrylink\" \"link\" {\n resource_type = \"project\"\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n display_name = \"telemetrylink-example\"\n access_token = \"eyJxxx\"\n telemetry_router_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\nresource \"stackit_telemetrylink\" \"link2\" {\n resource_type = \"project\"\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n display_name = \"telemetrylink-example\"\n description = \"telemetrylink description\"\n access_token = \"eyJxxx\"\n telemetry_router_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\n# Only use the import statement, if you want to import an existing TelemetryLink\nimport {\n to = stackit_telemetrylink.import-example\n id = \"${var.resource_type},${var.resource_id},${var.region}\"\n}\n```\n", + "properties": { + "accessToken": { + "type": "string", + "description": "The access token of the Telemetry Router instance.\n", + "secret": true + }, + "createTime": { + "type": "string", + "description": "The time the Telemetry Link was created.\n" + }, + "description": { + "type": "string", + "description": "The description of the Telemetry Link resource.\n" + }, + "displayName": { + "type": "string", + "description": "The displayed name of the Telemetry Link resource.\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "resourceId": { + "type": "string", + "description": "STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource.\n" + }, + "resourceType": { + "type": "string", + "description": "The resource type of the TelemetryLink resource, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`organization`\" pulumi-lang-dotnet=\"`Organization`\" pulumi-lang-go=\"`organization`\" pulumi-lang-python=\"`organization`\" pulumi-lang-yaml=\"`organization`\" pulumi-lang-java=\"`organization`\"\u003e`organization`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`folder`\" pulumi-lang-dotnet=\"`Folder`\" pulumi-lang-go=\"`folder`\" pulumi-lang-python=\"`folder`\" pulumi-lang-yaml=\"`folder`\" pulumi-lang-java=\"`folder`\"\u003e`folder`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.\n" + }, + "status": { + "type": "string", + "description": "The status of the TelemetryLink, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inactive`\" pulumi-lang-dotnet=\"`Inactive`\" pulumi-lang-go=\"`inactive`\" pulumi-lang-python=\"`inactive`\" pulumi-lang-yaml=\"`inactive`\" pulumi-lang-java=\"`inactive`\"\u003e`inactive`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" + }, + "telemetryRouterId": { + "type": "string", + "description": "The Telemetry Router ID.\n" + } + }, + "required": [ + "createTime", + "displayName", + "region", + "resourceId", + "resourceType", + "status", + "telemetryRouterId" + ], + "inputProperties": { + "accessToken": { + "type": "string", + "description": "The access token of the Telemetry Router instance.\n", + "secret": true + }, + "description": { + "type": "string", + "description": "The description of the Telemetry Link resource.\n" + }, + "displayName": { + "type": "string", + "description": "The displayed name of the Telemetry Link resource.\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "resourceId": { + "type": "string", + "description": "STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource.\n" + }, + "resourceType": { + "type": "string", + "description": "The resource type of the TelemetryLink resource, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`organization`\" pulumi-lang-dotnet=\"`Organization`\" pulumi-lang-go=\"`organization`\" pulumi-lang-python=\"`organization`\" pulumi-lang-yaml=\"`organization`\" pulumi-lang-java=\"`organization`\"\u003e`organization`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`folder`\" pulumi-lang-dotnet=\"`Folder`\" pulumi-lang-go=\"`folder`\" pulumi-lang-python=\"`folder`\" pulumi-lang-yaml=\"`folder`\" pulumi-lang-java=\"`folder`\"\u003e`folder`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.\n" + }, + "telemetryRouterId": { + "type": "string", + "description": "The Telemetry Router ID.\n" + } + }, + "requiredInputs": [ + "displayName", + "resourceId", + "resourceType", + "telemetryRouterId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering Telemetrylink resources.\n", + "properties": { + "accessToken": { + "type": "string", + "description": "The access token of the Telemetry Router instance.\n", + "secret": true + }, + "createTime": { + "type": "string", + "description": "The time the Telemetry Link was created.\n" + }, + "description": { + "type": "string", + "description": "The description of the Telemetry Link resource.\n" + }, + "displayName": { + "type": "string", + "description": "The displayed name of the Telemetry Link resource.\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "resourceId": { + "type": "string", + "description": "STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource.\n" + }, + "resourceType": { + "type": "string", + "description": "The resource type of the TelemetryLink resource, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`organization`\" pulumi-lang-dotnet=\"`Organization`\" pulumi-lang-go=\"`organization`\" pulumi-lang-python=\"`organization`\" pulumi-lang-yaml=\"`organization`\" pulumi-lang-java=\"`organization`\"\u003e`organization`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`folder`\" pulumi-lang-dotnet=\"`Folder`\" pulumi-lang-go=\"`folder`\" pulumi-lang-python=\"`folder`\" pulumi-lang-yaml=\"`folder`\" pulumi-lang-java=\"`folder`\"\u003e`folder`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.\n" + }, + "status": { + "type": "string", + "description": "The status of the TelemetryLink, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inactive`\" pulumi-lang-dotnet=\"`Inactive`\" pulumi-lang-go=\"`inactive`\" pulumi-lang-python=\"`inactive`\" pulumi-lang-yaml=\"`inactive`\" pulumi-lang-java=\"`inactive`\"\u003e`inactive`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" + }, + "telemetryRouterId": { + "type": "string", + "description": "The Telemetry Router ID.\n" + } + }, + "type": "object" + } + }, + "stackit:index/telemetryrouterAccessToken:TelemetryrouterAccessToken": { + "description": "TelemetryRouter access token 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_telemetryrouter_access_token\" \"accessToken\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n display_name = \"telemetryrouter-access-token-example\"\n}\n\nresource \"stackit_telemetryrouter_access_token\" \"accessToken2\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n display_name = \"telemetryrouter-access-token-example\"\n ttl = 30\n description = \"Example description\"\n}\n\n# Only use the import statement, if you want to import an existing TelemetryRouter access token\n# Note: The generated access token is only available upon creation.\nimport {\n to = stackit_telemetryrouter_access_token.import-example\n id = \"${var.project_id},${var.region},${var.telemetryrouter_instance_id},${var.telemetryrouter_access_token_id}\"\n}\n```\n", + "properties": { + "accessToken": { + "type": "string", + "description": "The generated access token\n", + "secret": true + }, + "accessTokenId": { + "type": "string", + "description": "The access token ID\n" + }, + "creatorId": { + "type": "string", + "description": "The user who created the access token\n" + }, + "description": { + "type": "string", + "description": "The description of the access token\n" + }, + "displayName": { + "type": "string", + "description": "The displayed name of the access token\n" + }, + "expirationTime": { + "type": "string", + "description": "The date and time an access token will expire at (inclusively)\n" + }, + "instanceId": { + "type": "string", + "description": "The TelemetryRouter instance ID associated with the access token\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the TelemetryRouter access token\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "status": { + "type": "string", + "description": "The status of the access token. Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" + }, + "ttl": { + "type": "integer", + "description": "The time-to-live (TTL) in days for the access token. If not set, token will not expire\n" + } + }, + "required": [ + "accessToken", + "accessTokenId", + "creatorId", + "displayName", + "expirationTime", + "instanceId", + "projectId", + "region", + "status" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "The description of the access token\n" + }, + "displayName": { + "type": "string", + "description": "The displayed name of the access token\n" + }, + "instanceId": { + "type": "string", + "description": "The TelemetryRouter instance ID associated with the access token\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the TelemetryRouter access token\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "ttl": { + "type": "integer", + "description": "The time-to-live (TTL) in days for the access token. If not set, token will not expire\n" + } + }, + "requiredInputs": [ + "displayName", + "instanceId", + "projectId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering TelemetryrouterAccessToken resources.\n", + "properties": { + "accessToken": { + "type": "string", + "description": "The generated access token\n", + "secret": true + }, + "accessTokenId": { + "type": "string", + "description": "The access token ID\n" + }, + "creatorId": { + "type": "string", + "description": "The user who created the access token\n" + }, + "description": { + "type": "string", + "description": "The description of the access token\n" + }, + "displayName": { + "type": "string", + "description": "The displayed name of the access token\n" + }, + "expirationTime": { + "type": "string", + "description": "The date and time an access token will expire at (inclusively)\n" + }, + "instanceId": { + "type": "string", + "description": "The TelemetryRouter instance ID associated with the access token\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the TelemetryRouter access token\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "status": { + "type": "string", + "description": "The status of the access token. Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" + }, + "ttl": { + "type": "integer", + "description": "The time-to-live (TTL) in days for the access token. If not set, token will not expire\n" + } + }, + "type": "object" + } + }, + "stackit:index/telemetryrouterDestination:TelemetryrouterDestination": { + "description": "TelemetryRouter destination 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_telemetryrouter_destination\" \"s3\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n display_name = \"s3-destination\"\n description = \"S3 destination description\"\n config = {\n config_type = \"S3\"\n filter = {\n attributes = [\n {\n key = \"key\"\n level = \"logRecord\"\n matcher = \"!=\"\n values = [\"test1\", \"test2\"]\n },\n {\n key = \"key2\"\n level = \"resource\"\n matcher = \"=\"\n values = [\"test3\"]\n }\n ]\n }\n s3 = {\n bucket = \"test\"\n access_key = {\n id = \"id\"\n secret = \"secret\"\n }\n endpoint = \"http://localhost:8160\"\n }\n }\n}\n\nresource \"stackit_telemetryrouter_destination\" \"otlp\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n display_name = \"s3-destination\"\n description = \"S3 destination description\"\n config = {\n config_type = \"OpenTelemetry\"\n filter = {\n attributes = [\n {\n key = \"key\"\n level = \"logRecord\"\n matcher = \"!=\"\n values = [\"test1\", \"test2\"]\n },\n {\n key = \"key2\"\n level = \"resource\"\n matcher = \"=\"\n values = [\"test3\"]\n }\n ]\n }\n opentelemetry = {\n basic_auth = {\n username = \"user2\"\n password = \"pass2\"\n }\n # bearer_token = \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.KMUFsIDTnFmyG3nMiGM6H9FNFUROf3wh7SmqJp-QV30\"\n uri = \"http://localhost:8116\"\n }\n }\n}\n\n# Only use the import statement, if you want to import an existing TelemetryRouter destination\nimport {\n to = stackit_telemetryrouter_destination.import-example\n id = \"${var.project_id},${var.region},${var.telemetryrouter_instance_id},${var.destination_id}\"\n}\n```\n", + "properties": { + "config": { + "$ref": "#/types/stackit:index/TelemetryrouterDestinationConfig:TelemetryrouterDestinationConfig", + "description": "The configuration of the TelemetryRouter destination\n" + }, + "creationTime": { + "type": "string", + "description": "The date and time the creation of the TelemetryRouter destination was initiated\n" + }, + "credentialType": { + "type": "string", + "description": "The TelemetryRouter destination's credential type\n" + }, + "description": { + "type": "string", + "description": "The description of the TelemetryRouter destination\n" + }, + "destinationId": { + "type": "string", + "description": "The TelemetryRouter destination ID\n" + }, + "displayName": { + "type": "string", + "description": "The displayed name of the TelemetryRouter destination\n" + }, + "instanceId": { + "type": "string", + "description": "The TelemetryRouter instance ID\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the TelemetryRouter instance\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "status": { + "type": "string", + "description": "The status of the TelemetryRouter destination, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" + } + }, + "required": [ + "config", + "creationTime", + "credentialType", + "destinationId", + "displayName", + "instanceId", + "projectId", + "region", + "status" + ], + "inputProperties": { + "config": { + "$ref": "#/types/stackit:index/TelemetryrouterDestinationConfig:TelemetryrouterDestinationConfig", + "description": "The configuration of the TelemetryRouter destination\n" + }, + "description": { + "type": "string", + "description": "The description of the TelemetryRouter destination\n" + }, + "displayName": { + "type": "string", + "description": "The displayed name of the TelemetryRouter destination\n" + }, + "instanceId": { + "type": "string", + "description": "The TelemetryRouter instance ID\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the TelemetryRouter instance\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + } + }, + "requiredInputs": [ + "config", + "displayName", + "instanceId", + "projectId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering TelemetryrouterDestination resources.\n", + "properties": { + "config": { + "$ref": "#/types/stackit:index/TelemetryrouterDestinationConfig:TelemetryrouterDestinationConfig", + "description": "The configuration of the TelemetryRouter destination\n" + }, + "creationTime": { + "type": "string", + "description": "The date and time the creation of the TelemetryRouter destination was initiated\n" + }, + "credentialType": { + "type": "string", + "description": "The TelemetryRouter destination's credential type\n" + }, + "description": { + "type": "string", + "description": "The description of the TelemetryRouter destination\n" + }, + "destinationId": { + "type": "string", + "description": "The TelemetryRouter destination ID\n" + }, + "displayName": { + "type": "string", + "description": "The displayed name of the TelemetryRouter destination\n" + }, + "instanceId": { + "type": "string", + "description": "The TelemetryRouter instance ID\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the TelemetryRouter instance\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "status": { + "type": "string", + "description": "The status of the TelemetryRouter destination, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" + } + }, + "type": "object" + } + }, + "stackit:index/telemetryrouterInstance:TelemetryrouterInstance": { + "description": "TelemetryRouter instance 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_telemetryrouter_instance\" \"router\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n display_name = \"router-instance\"\n}\n\nresource \"stackit_telemetryrouter_instance\" \"router2\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n display_name = \"router-instance\"\n description = \"Example description\"\n filter = {\n attributes = [\n {\n key = \"key\"\n level = \"logRecord\"\n matcher = \"!=\"\n values = [\"test1\", \"test2\"]\n },\n {\n key = \"key2\"\n level = \"resource\"\n matcher = \"=\"\n values = [\"test3\"]\n }\n ]\n }\n}\n\n# Only use the import statement, if you want to import an existing TelemetryRouter instance\nimport {\n to = stackit_telemetryrouter_instance.import-example\n id = \"${var.project_id},${var.region},${var.router_instance_id}\"\n}\n```\n", + "properties": { + "creationTime": { + "type": "string", + "description": "The date and time the creation of the TelemetryRouter instance was initiated\n" + }, + "description": { + "type": "string", + "description": "The description of the TelemetryRouter instance\n" + }, + "displayName": { + "type": "string", + "description": "The display name of the TelemetryRouter instance\n" + }, + "filter": { + "$ref": "#/types/stackit:index/TelemetryrouterInstanceFilter:TelemetryrouterInstanceFilter", + "description": "The TelemetryRouter global filter settings\n" + }, + "instanceId": { + "type": "string", + "description": "The TelemetryRouter instance ID\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the TelemetryRouter instance\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "status": { + "type": "string", + "description": "The status of the TelemetryRouter instance, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" + }, + "uri": { + "type": "string", + "description": "The TelemetryRouter instance's URI\n" + } + }, + "required": [ + "creationTime", + "displayName", + "instanceId", + "projectId", + "region", + "status", + "uri" + ], + "inputProperties": { + "description": { + "type": "string", + "description": "The description of the TelemetryRouter instance\n" + }, + "displayName": { + "type": "string", + "description": "The display name of the TelemetryRouter instance\n" + }, + "filter": { + "$ref": "#/types/stackit:index/TelemetryrouterInstanceFilter:TelemetryrouterInstanceFilter", + "description": "The TelemetryRouter global filter settings\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the TelemetryRouter instance\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + } + }, + "requiredInputs": [ + "displayName", + "projectId" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering TelemetryrouterInstance resources.\n", + "properties": { + "creationTime": { + "type": "string", + "description": "The date and time the creation of the TelemetryRouter instance was initiated\n" + }, + "description": { + "type": "string", + "description": "The description of the TelemetryRouter instance\n" + }, + "displayName": { + "type": "string", + "description": "The display name of the TelemetryRouter instance\n" + }, + "filter": { + "$ref": "#/types/stackit:index/TelemetryrouterInstanceFilter:TelemetryrouterInstanceFilter", + "description": "The TelemetryRouter global filter settings\n" + }, + "instanceId": { + "type": "string", + "description": "The TelemetryRouter instance ID\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the TelemetryRouter instance\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "status": { + "type": "string", + "description": "The status of the TelemetryRouter instance, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" + }, + "uri": { + "type": "string", + "description": "The TelemetryRouter instance's URI\n" + } + }, + "type": "object" + } + }, + "stackit:index/volume:Volume": { "description": "Volume resource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration. \n\n\u003e **Note:** Write-Only argument \u003cspan pulumi-lang-nodejs=\"`keyPayloadBase64Wo`\" pulumi-lang-dotnet=\"`KeyPayloadBase64Wo`\" pulumi-lang-go=\"`keyPayloadBase64Wo`\" pulumi-lang-python=\"`key_payload_base64_wo`\" pulumi-lang-yaml=\"`keyPayloadBase64Wo`\" pulumi-lang-java=\"`keyPayloadBase64Wo`\"\u003e`keyPayloadBase64Wo`\u003c/span\u003e is available to use in place of \u003cspan pulumi-lang-nodejs=\"`keyPayloadBase64`\" pulumi-lang-dotnet=\"`KeyPayloadBase64`\" pulumi-lang-go=\"`keyPayloadBase64`\" pulumi-lang-python=\"`key_payload_base64`\" pulumi-lang-yaml=\"`keyPayloadBase64`\" pulumi-lang-java=\"`keyPayloadBase64`\"\u003e`keyPayloadBase64`\u003c/span\u003e. Write-Only arguments are supported in HashiCorp Terraform 1.11.0 and later. Learn more.\n\n## Example Usage\n\n```terraform\nresource \"stackit_volume\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"my_volume\"\n availability_zone = \"eu01-1\"\n size = 64\n labels = {\n \"key\" = \"value\"\n }\n}\n\n# Only use the import statement, if you want to import an existing volume\nimport {\n to = stackit_volume.import-example\n id = \"${var.project_id},${var.region},${var.volume_id}\"\n}\n```\n", "properties": { "availabilityZone": { @@ -19838,6 +21832,148 @@ }, "type": "object" } + }, + "stackit:index/vpnGateway:VpnGateway": { + "description": "VPN Gateway 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_gateway\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n display_name = \"example-vpn-gateway\"\n plan_id = \"p500\"\n routing_type = \"ROUTE_BASED\"\n\n availability_zones = {\n tunnel1 = \"eu01-1\"\n tunnel2 = \"eu01-2\"\n }\n}\n\n# Only use the import statement, if you want to import an existing VPN gateway\nimport {\n to = stackit_vpn_gateway.example\n id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,eu01,xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "properties": { + "availabilityZones": { + "$ref": "#/types/stackit:index/VpnGatewayAvailabilityZones:VpnGatewayAvailabilityZones", + "description": "Availability zones for the two tunnel endpoints.\n" + }, + "bgp": { + "$ref": "#/types/stackit:index/VpnGatewayBgp:VpnGatewayBgp", + "description": "BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED.\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" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of custom labels (key-value string pairs).\n" + }, + "planId": { + "type": "string", + "description": "The service plan identifier (e.g. \u003cspan pulumi-lang-nodejs=\"`p500`\" pulumi-lang-dotnet=\"`P500`\" pulumi-lang-go=\"`p500`\" pulumi-lang-python=\"`p500`\" pulumi-lang-yaml=\"`p500`\" pulumi-lang-java=\"`p500`\"\u003e`p500`\u003c/span\u003e). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans).\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" + }, + "routingType": { + "type": "string", + "description": "Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`.\n" + } + }, + "required": [ + "availabilityZones", + "displayName", + "gatewayId", + "planId", + "projectId", + "region", + "routingType" + ], + "inputProperties": { + "availabilityZones": { + "$ref": "#/types/stackit:index/VpnGatewayAvailabilityZones:VpnGatewayAvailabilityZones", + "description": "Availability zones for the two tunnel endpoints.\n" + }, + "bgp": { + "$ref": "#/types/stackit:index/VpnGatewayBgp:VpnGatewayBgp", + "description": "BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED.\n" + }, + "displayName": { + "type": "string", + "description": "A user-friendly name for the VPN gateway.\n" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of custom labels (key-value string pairs).\n" + }, + "planId": { + "type": "string", + "description": "The service plan identifier (e.g. \u003cspan pulumi-lang-nodejs=\"`p500`\" pulumi-lang-dotnet=\"`P500`\" pulumi-lang-go=\"`p500`\" pulumi-lang-python=\"`p500`\" pulumi-lang-yaml=\"`p500`\" pulumi-lang-java=\"`p500`\"\u003e`p500`\u003c/span\u003e). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans).\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" + }, + "routingType": { + "type": "string", + "description": "Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`.\n" + } + }, + "requiredInputs": [ + "availabilityZones", + "displayName", + "planId", + "projectId", + "routingType" + ], + "stateInputs": { + "description": "Input properties used for looking up and filtering VpnGateway resources.\n", + "properties": { + "availabilityZones": { + "$ref": "#/types/stackit:index/VpnGatewayAvailabilityZones:VpnGatewayAvailabilityZones", + "description": "Availability zones for the two tunnel endpoints.\n" + }, + "bgp": { + "$ref": "#/types/stackit:index/VpnGatewayBgp:VpnGatewayBgp", + "description": "BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED.\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" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of custom labels (key-value string pairs).\n" + }, + "planId": { + "type": "string", + "description": "The service plan identifier (e.g. \u003cspan pulumi-lang-nodejs=\"`p500`\" pulumi-lang-dotnet=\"`P500`\" pulumi-lang-go=\"`p500`\" pulumi-lang-python=\"`p500`\" pulumi-lang-yaml=\"`p500`\" pulumi-lang-java=\"`p500`\"\u003e`p500`\u003c/span\u003e). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans).\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" + }, + "routingType": { + "type": "string", + "description": "Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`.\n" + } + }, + "type": "object" + } } }, "functions": { @@ -20722,6 +22858,173 @@ ] } }, + "stackit:index/getDremioInstance:getDremioInstance": { + "description": "Manages a STACKIT Dremio instance.\n\n\u003e This datasource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.\n\n## Example Usage\n\n```terraform\ndata \"stackit_dremio_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n instance_id = \"example-instance-id\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getDremioInstance.\n", + "properties": { + "description": { + "type": "string", + "description": "The description is a longer text chosen by the user to provide more context for the resource.\n" + }, + "instanceId": { + "type": "string", + "description": "The Dremio instance ID.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the resource is associated.\n" + }, + "region": { + "type": "string", + "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + } + }, + "type": "object", + "required": [ + "instanceId", + "projectId" + ] + }, + "outputs": { + "description": "A collection of values returned by getDremioInstance.\n", + "properties": { + "authentication": { + "$ref": "#/types/stackit:index/getDremioInstanceAuthentication:getDremioInstanceAuthentication", + "description": "Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime.\n" + }, + "description": { + "type": "string", + "description": "The description is a longer text chosen by the user to provide more context for the resource.\n" + }, + "displayName": { + "type": "string", + "description": "The display name is a short name chosen by the user to identify the resource.\n" + }, + "endpoints": { + "$ref": "#/types/stackit:index/getDremioInstanceEndpoints:getDremioInstanceEndpoints", + "description": "The available endpoints of the Dremio instance.\n" + }, + "id": { + "type": "string", + "description": "Terraform's internal resource identifier. It is 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=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\"\u003e`instanceId`\u003c/span\u003e\".\n" + }, + "instanceId": { + "type": "string", + "description": "The Dremio instance ID.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the resource is associated.\n" + }, + "region": { + "type": "string", + "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + } + }, + "type": "object", + "required": [ + "authentication", + "description", + "displayName", + "endpoints", + "id", + "instanceId", + "projectId" + ] + } + }, + "stackit:index/getDremioUser:getDremioUser": { + "description": "Manages a STACKIT Dremio instances user.\n\n\u003e This datasource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion.\n\n## Example Usage\n\n```terraform\ndata \"stackit_dremio_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n instance_id = \"example-instance-id\"\n user_id = \"example-user-id\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getDremioUser.\n", + "properties": { + "description": { + "type": "string", + "description": "The description of the user.\n" + }, + "instanceId": { + "type": "string", + "description": "The Dremio instance ID.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the resource is associated.\n" + }, + "region": { + "type": "string", + "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "userId": { + "type": "string", + "description": "The Dremio user ID.\n" + } + }, + "type": "object", + "required": [ + "instanceId", + "projectId", + "userId" + ] + }, + "outputs": { + "description": "A collection of values returned by getDremioUser.\n", + "properties": { + "description": { + "type": "string", + "description": "The description of the user.\n" + }, + "email": { + "type": "string", + "description": "The email address of the user.\n" + }, + "firstName": { + "type": "string", + "description": "The first name of the user.\n" + }, + "id": { + "type": "string", + "description": "Terraform's internal resource identifier. It is 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=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\"\u003e`instanceId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`userId`\" pulumi-lang-dotnet=\"`UserId`\" pulumi-lang-go=\"`userId`\" pulumi-lang-python=\"`user_id`\" pulumi-lang-yaml=\"`userId`\" pulumi-lang-java=\"`userId`\"\u003e`userId`\u003c/span\u003e\".\n" + }, + "instanceId": { + "type": "string", + "description": "The Dremio instance ID.\n" + }, + "lastName": { + "type": "string", + "description": "The last name of the user.\n" + }, + "name": { + "type": "string", + "description": "The username of the user.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the resource is associated.\n" + }, + "region": { + "type": "string", + "description": "The STACKIT region name the resource is located in. If not defined, the provider region is used.\n" + }, + "userId": { + "type": "string", + "description": "The Dremio user ID.\n" + } + }, + "type": "object", + "required": [ + "description", + "email", + "firstName", + "id", + "instanceId", + "lastName", + "name", + "projectId", + "userId" + ] + } + }, "stackit:index/getEdgecloudInstances:getEdgecloudInstances": { "description": "Edge Cloud is in private Beta and not generally available.\n You can contact support if you are interested in trying it out.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\n# returns all Edge Cloud instances created in the given project which are inside the provider default_region\ndata \"stackit_edgecloud_instances\" \"plan_id\" {\n project_id = var.project_id\n}\n\n# returns all Edge Cloud instances created in the given project in the given region\ndata \"stackit_edgecloud_instances\" \"plan_id\" {\n project_id = var.project_id\n region = var.region\n}\n```\n", "inputs": { @@ -22055,7 +24358,7 @@ }, "status": { "type": "string", - "description": "The status of the Logs instance, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e.\n" + "description": "The status of the Logs instance. Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e.\n" } }, "type": "object", @@ -25981,507 +28284,821 @@ ] }, "outputs": { - "description": "A collection of values returned by getServerBackupSchedules.\n", + "description": "A collection of values returned by getServerBackupSchedules.\n", + "properties": { + "id": { + "type": "string", + "description": "Terraform's internal data source identifier. It is 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=\"`serverId`\" pulumi-lang-dotnet=\"`ServerId`\" pulumi-lang-go=\"`serverId`\" pulumi-lang-python=\"`server_id`\" pulumi-lang-yaml=\"`serverId`\" pulumi-lang-java=\"`serverId`\"\u003e`serverId`\u003c/span\u003e\".\n" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getServerBackupSchedulesItem:getServerBackupSchedulesItem" + } + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID (UUID) to which the server is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "serverId": { + "type": "string", + "description": "Server ID (UUID) to which the backup schedule is associated.\n" + } + }, + "type": "object", + "required": [ + "id", + "items", + "projectId", + "serverId" + ] + } + }, + "stackit:index/getServerUpdateEnable:getServerUpdateEnable": { + "description": "Server update enable datasource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n", + "inputs": { + "description": "A collection of arguments for invoking getServerUpdateEnable.\n", + "properties": { + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the server update enable is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "serverId": { + "type": "string", + "description": "Server ID to which the server update enable is associated.\n" + } + }, + "type": "object", + "required": [ + "projectId", + "serverId" + ] + }, + "outputs": { + "description": "A collection of values returned by getServerUpdateEnable.\n", + "properties": { + "enabled": { + "type": "boolean", + "description": "Set to true if the service is enabled.\n" + }, + "id": { + "type": "string", + "description": "Terraform's internal resource identifier. It is 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=\"`serverId`\" pulumi-lang-dotnet=\"`ServerId`\" pulumi-lang-go=\"`serverId`\" pulumi-lang-python=\"`server_id`\" pulumi-lang-yaml=\"`serverId`\" pulumi-lang-java=\"`serverId`\"\u003e`serverId`\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\".\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the server update enable is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "serverId": { + "type": "string", + "description": "Server ID to which the server update enable is associated.\n" + } + }, + "type": "object", + "required": [ + "enabled", + "id", + "projectId", + "serverId" + ] + } + }, + "stackit:index/getServerUpdateSchedule:getServerUpdateSchedule": { + "description": "Server update schedule datasource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_server_update_schedule\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n update_schedule_id = xxxxx\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getServerUpdateSchedule.\n", + "properties": { + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the server is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "serverId": { + "type": "string", + "description": "Server ID for the update schedule.\n" + }, + "updateScheduleId": { + "type": "integer", + "description": "Update schedule ID.\n" + } + }, + "type": "object", + "required": [ + "projectId", + "serverId", + "updateScheduleId" + ] + }, + "outputs": { + "description": "A collection of values returned by getServerUpdateSchedule.\n", + "properties": { + "enabled": { + "type": "boolean", + "description": "Is the update schedule enabled or disabled.\n" + }, + "id": { + "type": "string", + "description": "Terraform's internal resource identifier. It is 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=\"`serverId`\" pulumi-lang-dotnet=\"`ServerId`\" pulumi-lang-go=\"`serverId`\" pulumi-lang-python=\"`server_id`\" pulumi-lang-yaml=\"`serverId`\" pulumi-lang-java=\"`serverId`\"\u003e`serverId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`updateScheduleId`\" pulumi-lang-dotnet=\"`UpdateScheduleId`\" pulumi-lang-go=\"`updateScheduleId`\" pulumi-lang-python=\"`update_schedule_id`\" pulumi-lang-yaml=\"`updateScheduleId`\" pulumi-lang-java=\"`updateScheduleId`\"\u003e`updateScheduleId`\u003c/span\u003e\".\n" + }, + "maintenanceWindow": { + "type": "integer", + "description": "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.\n" + }, + "name": { + "type": "string", + "description": "The schedule name.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID to which the server is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "rrule": { + "type": "string", + "description": "An \u003cspan pulumi-lang-nodejs=\"`rrule`\" pulumi-lang-dotnet=\"`Rrule`\" pulumi-lang-go=\"`rrule`\" pulumi-lang-python=\"`rrule`\" pulumi-lang-yaml=\"`rrule`\" pulumi-lang-java=\"`rrule`\"\u003e`rrule`\u003c/span\u003e (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.\n" + }, + "serverId": { + "type": "string", + "description": "Server ID for the update schedule.\n" + }, + "updateScheduleId": { + "type": "integer", + "description": "Update schedule ID.\n" + } + }, + "type": "object", + "required": [ + "enabled", + "id", + "maintenanceWindow", + "name", + "projectId", + "rrule", + "serverId", + "updateScheduleId" + ] + } + }, + "stackit:index/getServerUpdateSchedules:getServerUpdateSchedules": { + "description": "Server update schedules datasource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_server_update_schedules\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getServerUpdateSchedules.\n", + "properties": { + "projectId": { + "type": "string", + "description": "STACKIT Project ID (UUID) to which the server is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "serverId": { + "type": "string", + "description": "Server ID (UUID) to which the update schedule is associated.\n" + } + }, + "type": "object", + "required": [ + "projectId", + "serverId" + ] + }, + "outputs": { + "description": "A collection of values returned by getServerUpdateSchedules.\n", + "properties": { + "id": { + "type": "string", + "description": "Terraform's internal data source identifier. It is 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=\"`serverId`\" pulumi-lang-dotnet=\"`ServerId`\" pulumi-lang-go=\"`serverId`\" pulumi-lang-python=\"`server_id`\" pulumi-lang-yaml=\"`serverId`\" pulumi-lang-java=\"`serverId`\"\u003e`serverId`\u003c/span\u003e\".\n" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getServerUpdateSchedulesItem:getServerUpdateSchedulesItem" + } + }, + "projectId": { + "type": "string", + "description": "STACKIT Project ID (UUID) to which the server is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "serverId": { + "type": "string", + "description": "Server ID (UUID) to which the update schedule is associated.\n" + } + }, + "type": "object", + "required": [ + "id", + "items", + "projectId", + "serverId" + ] + } + }, + "stackit:index/getServiceAccount:getServiceAccount": { + "description": "Gets details about a STACKIT service account in a project by email.\n\n## Example Usage\n\n```terraform\ndata \"stackit_service_account\" \"sa\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n email = \"sa01-8565oq1@sa.stackit.cloud\"\n}\n```\n", + "inputs": { + "description": "A collection of arguments for invoking getServiceAccount.\n", + "properties": { + "email": { + "type": "string", + "description": "Email of the service account.\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the service account is associated.\n" + } + }, + "type": "object", + "required": [ + "email", + "projectId" + ] + }, + "outputs": { + "description": "A collection of values returned by getServiceAccount.\n", "properties": { - "id": { + "email": { "type": "string", - "description": "Terraform's internal data source identifier. It is 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=\"`serverId`\" pulumi-lang-dotnet=\"`ServerId`\" pulumi-lang-go=\"`serverId`\" pulumi-lang-python=\"`server_id`\" pulumi-lang-yaml=\"`serverId`\" pulumi-lang-java=\"`serverId`\"\u003e`serverId`\u003c/span\u003e\".\n" + "description": "Email of the service account.\n" }, - "items": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getServerBackupSchedulesItem:getServerBackupSchedulesItem" - } + "id": { + "type": "string", + "description": "Terraform's internal resource ID, 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=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e\".\n" }, - "projectId": { + "name": { "type": "string", - "description": "STACKIT Project ID (UUID) to which the server is associated.\n" + "description": "Name of the service account.\n" }, - "region": { + "projectId": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "STACKIT project ID to which the service account is associated.\n" }, - "serverId": { + "serviceAccountId": { "type": "string", - "description": "Server ID (UUID) to which the backup schedule is associated.\n" + "description": "The internal UUID of the service account.\n" } }, "type": "object", "required": [ + "email", "id", - "items", + "name", "projectId", - "serverId" + "serviceAccountId" ] } }, - "stackit:index/getServerUpdateEnable:getServerUpdateEnable": { - "description": "Server update enable datasource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n", + "stackit:index/getServiceAccountFederatedIdentityProvider:getServiceAccountFederatedIdentityProvider": { + "description": "Gets details about a federated identity provider configured for a STACKIT service account.\n\n## Example Usage\n\n```terraform\ndata \"stackit_service_account\" \"sa\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n email = \"sa01-8565oq1@sa.stackit.cloud\"\n}\n\ndata \"stackit_service_account_federated_identity_provider\" \"provider\" {\n project_id = data.stackit_service_account.sa.project_id\n service_account_email = data.stackit_service_account.sa.email\n federation_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getServerUpdateEnable.\n", + "description": "A collection of arguments for invoking getServiceAccountFederatedIdentityProvider.\n", "properties": { - "projectId": { + "federationId": { "type": "string", - "description": "STACKIT Project ID to which the server update enable is associated.\n" + "description": "The unique identifier for the federated identity provider associated with the service account.\n" }, - "region": { + "projectId": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "The STACKIT project ID associated with the service account.\n" }, - "serverId": { + "serviceAccountEmail": { "type": "string", - "description": "Server ID to which the server update enable is associated.\n" + "description": "The email address associated with the service account, used for account identification and communication.\n" } }, "type": "object", "required": [ + "federationId", "projectId", - "serverId" + "serviceAccountEmail" ] }, "outputs": { - "description": "A collection of values returned by getServerUpdateEnable.\n", + "description": "A collection of values returned by getServiceAccountFederatedIdentityProvider.\n", "properties": { - "enabled": { - "type": "boolean", - "description": "Set to true if the service is enabled.\n" + "assertions": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getServiceAccountFederatedIdentityProviderAssertion:getServiceAccountFederatedIdentityProviderAssertion" + }, + "description": "The assertions for the federated identity provider.\n" + }, + "federationId": { + "type": "string", + "description": "The unique identifier for the federated identity provider associated with the service account.\n" }, "id": { "type": "string", - "description": "Terraform's internal resource identifier. It is 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=\"`serverId`\" pulumi-lang-dotnet=\"`ServerId`\" pulumi-lang-go=\"`serverId`\" pulumi-lang-python=\"`server_id`\" pulumi-lang-yaml=\"`serverId`\" pulumi-lang-java=\"`serverId`\"\u003e`serverId`\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\".\n" + "description": "Terraform's internal resource identifier. It is 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=\"`serviceAccountEmail`\" pulumi-lang-dotnet=\"`ServiceAccountEmail`\" pulumi-lang-go=\"`serviceAccountEmail`\" pulumi-lang-python=\"`service_account_email`\" pulumi-lang-yaml=\"`serviceAccountEmail`\" pulumi-lang-java=\"`serviceAccountEmail`\"\u003e`serviceAccountEmail`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`federationId`\" pulumi-lang-dotnet=\"`FederationId`\" pulumi-lang-go=\"`federationId`\" pulumi-lang-python=\"`federation_id`\" pulumi-lang-yaml=\"`federationId`\" pulumi-lang-java=\"`federationId`\"\u003e`federationId`\u003c/span\u003e\".\n" }, - "projectId": { + "issuer": { "type": "string", - "description": "STACKIT Project ID to which the server update enable is associated.\n" + "description": "The issuer URL.\n" }, - "region": { + "name": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "The name of the federated identity provider.\n" }, - "serverId": { + "projectId": { "type": "string", - "description": "Server ID to which the server update enable is associated.\n" + "description": "The STACKIT project ID associated with the service account.\n" + }, + "serviceAccountEmail": { + "type": "string", + "description": "The email address associated with the service account, used for account identification and communication.\n" } }, "type": "object", "required": [ - "enabled", + "assertions", + "federationId", "id", + "issuer", + "name", "projectId", - "serverId" + "serviceAccountEmail" ] } }, - "stackit:index/getServerUpdateSchedule:getServerUpdateSchedule": { - "description": "Server update schedule datasource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_server_update_schedule\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n update_schedule_id = xxxxx\n}\n```\n", + "stackit:index/getServiceAccounts:getServiceAccounts": { + "description": "Lists STACKIT service accounts in a project, optionally filtered by email.\n\n## Example Usage\n\n```terraform\ndata \"stackit_service_accounts\" \"all_sas\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\ndata \"stackit_service_accounts\" \"sas_default_suffix\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n email_suffix = \"@sa.stackit.cloud\"\n}\n\ndata \"stackit_service_accounts\" \"sas_default_suffix_sort_asc\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n email_suffix = \"@sa.stackit.cloud\"\n sort_ascending = true\n}\n\ndata \"stackit_service_accounts\" \"sas_ske_regex\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n email_regex = \".*@ske\\\\.sa\\\\.stackit\\\\.cloud$\"\n}\n\ndata \"stackit_service_accounts\" \"sas_ske_suffix\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n email_suffix = \"@ske.sa.stackit.cloud\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getServerUpdateSchedule.\n", + "description": "A collection of arguments for invoking getServiceAccounts.\n", "properties": { - "projectId": { + "emailRegex": { "type": "string", - "description": "STACKIT Project ID to which the server is associated.\n" + "description": "Optional regular expression to filter service accounts by email.\n" }, - "region": { + "emailSuffix": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "Optional suffix to filter service accounts by email (e.g.,`@sa.stackit.cloud`, `@ske.sa.stackit.cloud`).\n" }, - "serverId": { + "projectId": { "type": "string", - "description": "Server ID for the update schedule.\n" + "description": "STACKIT project ID.\n" }, - "updateScheduleId": { - "type": "integer", - "description": "Update schedule ID.\n" + "sortAscending": { + "type": "boolean", + "description": "If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, service accounts are sorted in ascending lexicographical order by email. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (descending).\n" } }, "type": "object", "required": [ - "projectId", - "serverId", - "updateScheduleId" + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getServerUpdateSchedule.\n", + "description": "A collection of values returned by getServiceAccounts.\n", "properties": { - "enabled": { - "type": "boolean", - "description": "Is the update schedule enabled or disabled.\n" - }, - "id": { - "type": "string", - "description": "Terraform's internal resource identifier. It is 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=\"`serverId`\" pulumi-lang-dotnet=\"`ServerId`\" pulumi-lang-go=\"`serverId`\" pulumi-lang-python=\"`server_id`\" pulumi-lang-yaml=\"`serverId`\" pulumi-lang-java=\"`serverId`\"\u003e`serverId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`updateScheduleId`\" pulumi-lang-dotnet=\"`UpdateScheduleId`\" pulumi-lang-go=\"`updateScheduleId`\" pulumi-lang-python=\"`update_schedule_id`\" pulumi-lang-yaml=\"`updateScheduleId`\" pulumi-lang-java=\"`updateScheduleId`\"\u003e`updateScheduleId`\u003c/span\u003e\".\n" - }, - "maintenanceWindow": { - "type": "integer", - "description": "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.\n" - }, - "name": { + "emailRegex": { "type": "string", - "description": "The schedule name.\n" + "description": "Optional regular expression to filter service accounts by email.\n" }, - "projectId": { + "emailSuffix": { "type": "string", - "description": "STACKIT Project ID to which the server is associated.\n" + "description": "Optional suffix to filter service accounts by email (e.g.,`@sa.stackit.cloud`, `@ske.sa.stackit.cloud`).\n" }, - "region": { + "id": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "Terraform's internal resource ID, 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\".\n" }, - "rrule": { - "type": "string", - "description": "An \u003cspan pulumi-lang-nodejs=\"`rrule`\" pulumi-lang-dotnet=\"`Rrule`\" pulumi-lang-go=\"`rrule`\" pulumi-lang-python=\"`rrule`\" pulumi-lang-yaml=\"`rrule`\" pulumi-lang-java=\"`rrule`\"\u003e`rrule`\u003c/span\u003e (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.\n" + "items": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getServiceAccountsItem:getServiceAccountsItem" + }, + "description": "The list of service accounts matching the provided filters.\n" }, - "serverId": { + "projectId": { "type": "string", - "description": "Server ID for the update schedule.\n" + "description": "STACKIT project ID.\n" }, - "updateScheduleId": { - "type": "integer", - "description": "Update schedule ID.\n" + "sortAscending": { + "type": "boolean", + "description": "If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, service accounts are sorted in ascending lexicographical order by email. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (descending).\n" } }, "type": "object", "required": [ - "enabled", "id", - "maintenanceWindow", - "name", - "projectId", - "rrule", - "serverId", - "updateScheduleId" + "items", + "projectId" ] } }, - "stackit:index/getServerUpdateSchedules:getServerUpdateSchedules": { - "description": "Server update schedules datasource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_server_update_schedules\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n server_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getSfsExportPolicy:getSfsExportPolicy": { + "description": "SFS export policy datasource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_sfs_export_policy\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n policy_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getServerUpdateSchedules.\n", + "description": "A collection of arguments for invoking getSfsExportPolicy.\n", "properties": { + "policyId": { + "type": "string", + "description": "Export policy ID\n" + }, "projectId": { "type": "string", - "description": "STACKIT Project ID (UUID) to which the server is associated.\n" + "description": "STACKIT project ID to which the export policy is associated.\n" }, "region": { "type": "string", "description": "The resource region. If not defined, the provider region is used.\n" - }, - "serverId": { - "type": "string", - "description": "Server ID (UUID) to which the update schedule is associated.\n" } }, "type": "object", "required": [ - "projectId", - "serverId" + "policyId", + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getServerUpdateSchedules.\n", + "description": "A collection of values returned by getSfsExportPolicy.\n", "properties": { "id": { "type": "string", - "description": "Terraform's internal data source identifier. It is 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=\"`serverId`\" pulumi-lang-dotnet=\"`ServerId`\" pulumi-lang-go=\"`serverId`\" pulumi-lang-python=\"`server_id`\" pulumi-lang-yaml=\"`serverId`\" pulumi-lang-java=\"`serverId`\"\u003e`serverId`\u003c/span\u003e\".\n" + "description": "Terraform's internal resource ID. It is 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=\"`policyId`\" pulumi-lang-dotnet=\"`PolicyId`\" pulumi-lang-go=\"`policyId`\" pulumi-lang-python=\"`policy_id`\" pulumi-lang-yaml=\"`policyId`\" pulumi-lang-java=\"`policyId`\"\u003e`policyId`\u003c/span\u003e\".\n" }, - "items": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getServerUpdateSchedulesItem:getServerUpdateSchedulesItem" - } + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to an export policy\n" + }, + "name": { + "type": "string", + "description": "Name of the export policy.\n" + }, + "policyId": { + "type": "string", + "description": "Export policy ID\n" }, "projectId": { "type": "string", - "description": "STACKIT Project ID (UUID) to which the server is associated.\n" + "description": "STACKIT project ID to which the export policy is associated.\n" }, "region": { "type": "string", "description": "The resource region. If not defined, the provider region is used.\n" }, - "serverId": { - "type": "string", - "description": "Server ID (UUID) to which the update schedule is associated.\n" + "rules": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getSfsExportPolicyRule:getSfsExportPolicyRule" + } } }, "type": "object", "required": [ "id", - "items", + "labels", + "name", + "policyId", "projectId", - "serverId" + "region", + "rules" ] } }, - "stackit:index/getServiceAccount:getServiceAccount": { - "description": "Service account data source schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_service_account\" \"sa\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n email = \"sa01-8565oq1@sa.stackit.cloud\"\n}\n```\n", + "stackit:index/getSfsProjectLock:getSfsProjectLock": { + "description": "SFS project lock 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. Always use only one project lock per project.\n\n## Example Usage\n\n```terraform\ndata \"stackit_sfs_project_lock\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getServiceAccount.\n", + "description": "A collection of arguments for invoking getSfsProjectLock.\n", "properties": { - "email": { + "projectId": { "type": "string", - "description": "Email of the service account.\n" + "description": "STACKIT Project ID to which the project lock is associated.\n" }, - "projectId": { + "region": { "type": "string", - "description": "STACKIT project ID to which the service account is associated.\n" + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ - "email", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getServiceAccount.\n", + "description": "A collection of values returned by getSfsProjectLock.\n", "properties": { - "email": { - "type": "string", - "description": "Email of the service account.\n" - }, "id": { "type": "string", - "description": "Terraform's internal resource ID, 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=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\"\u003e`email`\u003c/span\u003e\".\n" + "description": "Terraform's internal resource identifier. It is 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\".\n" }, - "name": { + "lockId": { "type": "string", - "description": "Name of the service account.\n" + "description": "ID of the lock.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the service account is associated.\n" + "description": "STACKIT Project ID to which the project lock is associated.\n" }, - "serviceAccountId": { + "region": { "type": "string", - "description": "The internal UUID of the service account.\n" + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ - "email", "id", - "name", + "lockId", "projectId", - "serviceAccountId" + "region" ] } }, - "stackit:index/getServiceAccountFederatedIdentityProvider:getServiceAccountFederatedIdentityProvider": { - "description": "Service account federated identity provider schema.\n\n## Example Usage\n\n```terraform\ndata \"stackit_service_account\" \"sa\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n email = \"sa01-8565oq1@sa.stackit.cloud\"\n}\n\ndata \"stackit_service_account_federated_identity_provider\" \"provider\" {\n project_id = data.stackit_service_account.sa.project_id\n service_account_email = data.stackit_service_account.sa.email\n federation_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getSfsResourcePool:getSfsResourcePool": { + "description": "Resource-pool datasource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_sfs_resource_pool\" \"resourcepool\" {\n project_id = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"\n resource_pool_id = \"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getServiceAccountFederatedIdentityProvider.\n", + "description": "A collection of arguments for invoking getSfsResourcePool.\n", "properties": { - "federationId": { + "projectId": { "type": "string", - "description": "The unique identifier for the federated identity provider associated with the service account.\n" + "description": "STACKIT project ID to which the resource pool is associated.\n" }, - "projectId": { + "region": { "type": "string", - "description": "The STACKIT project ID associated with the service account.\n" + "description": "The resource region. Read-only attribute that reflects the provider region.\n" }, - "serviceAccountEmail": { + "resourcePoolId": { "type": "string", - "description": "The email address associated with the service account, used for account identification and communication.\n" + "description": "Resourcepool ID\n" } }, "type": "object", "required": [ - "federationId", "projectId", - "serviceAccountEmail" + "resourcePoolId" ] }, "outputs": { - "description": "A collection of values returned by getServiceAccountFederatedIdentityProvider.\n", + "description": "A collection of values returned by getSfsResourcePool.\n", "properties": { - "assertions": { + "availabilityZone": { + "type": "string", + "description": "Availability zone.\n" + }, + "id": { + "type": "string", + "description": "Terraform's internal resource ID. It is 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=\"`resourcePoolId`\" pulumi-lang-dotnet=\"`ResourcePoolId`\" pulumi-lang-go=\"`resourcePoolId`\" pulumi-lang-python=\"`resource_pool_id`\" pulumi-lang-yaml=\"`resourcePoolId`\" pulumi-lang-java=\"`resourcePoolId`\"\u003e`resourcePoolId`\u003c/span\u003e\".\n" + }, + "ipAcls": { "type": "array", "items": { - "$ref": "#/types/stackit:index/getServiceAccountFederatedIdentityProviderAssertion:getServiceAccountFederatedIdentityProviderAssertion" + "type": "string" }, - "description": "The assertions for the federated identity provider.\n" + "description": "List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. \"172.16.0.0/24\" for a range of IPs, or \"172.16.0.250/32\" for a specific IP).\n" }, - "federationId": { - "type": "string", - "description": "The unique identifier for the federated identity provider associated with the service account.\n" + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a resource pool\n" }, - "id": { + "name": { "type": "string", - "description": "Terraform's internal resource identifier. It is 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=\"`serviceAccountEmail`\" pulumi-lang-dotnet=\"`ServiceAccountEmail`\" pulumi-lang-go=\"`serviceAccountEmail`\" pulumi-lang-python=\"`service_account_email`\" pulumi-lang-yaml=\"`serviceAccountEmail`\" pulumi-lang-java=\"`serviceAccountEmail`\"\u003e`serviceAccountEmail`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`federationId`\" pulumi-lang-dotnet=\"`FederationId`\" pulumi-lang-go=\"`federationId`\" pulumi-lang-python=\"`federation_id`\" pulumi-lang-yaml=\"`federationId`\" pulumi-lang-java=\"`federationId`\"\u003e`federationId`\u003c/span\u003e\".\n" + "description": "Name of the resource pool.\n" }, - "issuer": { + "performanceClass": { "type": "string", - "description": "The issuer URL.\n" + "description": "Name of the performance class.\n" }, - "name": { + "performanceClassDowngradableAt": { "type": "string", - "description": "The name of the federated identity provider.\n" + "description": "Time when the performance class can be downgraded again.\n" }, "projectId": { "type": "string", - "description": "The STACKIT project ID associated with the service account.\n" + "description": "STACKIT project ID to which the resource pool is associated.\n" }, - "serviceAccountEmail": { + "region": { "type": "string", - "description": "The email address associated with the service account, used for account identification and communication.\n" + "description": "The resource region. Read-only attribute that reflects the provider region.\n" + }, + "resourcePoolId": { + "type": "string", + "description": "Resourcepool ID\n" + }, + "sizeGigabytes": { + "type": "integer", + "description": "Size of the resource pool (unit: gigabytes)\n" + }, + "sizeReducibleAt": { + "type": "string", + "description": "Time when the size can be reduced again.\n" + }, + "snapshotPolicy": { + "$ref": "#/types/stackit:index/getSfsResourcePoolSnapshotPolicy:getSfsResourcePoolSnapshotPolicy", + "description": "Name of the snapshot policy.\n" + }, + "snapshotsAreVisible": { + "type": "boolean", + "description": "If set to true, snapshots are visible and accessible to users. (default: false)\n" } }, "type": "object", "required": [ - "assertions", - "federationId", + "availabilityZone", "id", - "issuer", + "ipAcls", + "labels", "name", + "performanceClass", + "performanceClassDowngradableAt", "projectId", - "serviceAccountEmail" + "resourcePoolId", + "sizeGigabytes", + "sizeReducibleAt", + "snapshotPolicy", + "snapshotsAreVisible" ] } }, - "stackit:index/getServiceAccounts:getServiceAccounts": { - "description": "Service accounts plural data source schema. Returns a list of all service accounts in a project, optionally filtered.\n\n## Example Usage\n\n```terraform\ndata \"stackit_service_accounts\" \"all_sas\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\ndata \"stackit_service_accounts\" \"sas_default_suffix\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n email_suffix = \"@sa.stackit.cloud\"\n}\n\ndata \"stackit_service_accounts\" \"sas_default_suffix_sort_asc\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n email_suffix = \"@sa.stackit.cloud\"\n sort_ascending = true\n}\n\ndata \"stackit_service_accounts\" \"sas_ske_regex\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n email_regex = \".*@ske\\\\.sa\\\\.stackit\\\\.cloud$\"\n}\n\ndata \"stackit_service_accounts\" \"sas_ske_suffix\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n email_suffix = \"@ske.sa.stackit.cloud\"\n}\n```\n", + "stackit:index/getSfsResourcePoolSnapshot:getSfsResourcePoolSnapshot": { + "description": "Resource-pool datasource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_sfs_resource_pool_snapshot\" \"example\" {\n project_id = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"\n resource_pool_id = \"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getServiceAccounts.\n", + "description": "A collection of arguments for invoking getSfsResourcePoolSnapshot.\n", "properties": { - "emailRegex": { + "projectId": { "type": "string", - "description": "Optional regular expression to filter service accounts by email.\n" + "description": "STACKIT project ID to which the resource pool snapshot is associated.\n" }, - "emailSuffix": { + "region": { "type": "string", - "description": "Optional suffix to filter service accounts by email (e.g.,`@sa.stackit.cloud`, `@ske.sa.stackit.cloud`).\n" + "description": "The resource region. Read-only attribute that reflects the provider region.\n" }, - "projectId": { + "resourcePoolId": { "type": "string", - "description": "STACKIT project ID.\n" - }, - "sortAscending": { - "type": "boolean", - "description": "If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, service accounts are sorted in ascending lexicographical order by email. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (descending).\n" + "description": "Resource pool ID\n" } }, "type": "object", "required": [ - "projectId" + "projectId", + "resourcePoolId" ] }, "outputs": { - "description": "A collection of values returned by getServiceAccounts.\n", + "description": "A collection of values returned by getSfsResourcePoolSnapshot.\n", "properties": { - "emailRegex": { + "id": { "type": "string", - "description": "Optional regular expression to filter service accounts by email.\n" + "description": "Terraform's internal resource ID. It is 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=\"`resourcePoolId`\" pulumi-lang-dotnet=\"`ResourcePoolId`\" pulumi-lang-go=\"`resourcePoolId`\" pulumi-lang-python=\"`resource_pool_id`\" pulumi-lang-yaml=\"`resourcePoolId`\" pulumi-lang-java=\"`resourcePoolId`\"\u003e`resourcePoolId`\u003c/span\u003e\".\n" }, - "emailSuffix": { + "projectId": { "type": "string", - "description": "Optional suffix to filter service accounts by email (e.g.,`@sa.stackit.cloud`, `@ske.sa.stackit.cloud`).\n" + "description": "STACKIT project ID to which the resource pool snapshot is associated.\n" }, - "id": { + "region": { "type": "string", - "description": "Terraform's internal resource ID, 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\".\n" + "description": "The resource region. Read-only attribute that reflects the provider region.\n" }, - "items": { + "resourcePoolId": { + "type": "string", + "description": "Resource pool ID\n" + }, + "snapshots": { "type": "array", "items": { - "$ref": "#/types/stackit:index/getServiceAccountsItem:getServiceAccountsItem" + "$ref": "#/types/stackit:index/getSfsResourcePoolSnapshotSnapshot:getSfsResourcePoolSnapshotSnapshot" }, - "description": "The list of service accounts matching the provided filters.\n" - }, - "projectId": { - "type": "string", - "description": "STACKIT project ID.\n" - }, - "sortAscending": { - "type": "boolean", - "description": "If set to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e, service accounts are sorted in ascending lexicographical order by email. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e (descending).\n" + "description": "Resource-pool datasource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n" } }, "type": "object", "required": [ "id", - "items", - "projectId" + "projectId", + "resourcePoolId", + "snapshots" ] } }, - "stackit:index/getSfsExportPolicy:getSfsExportPolicy": { - "description": "SFS export policy datasource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_sfs_export_policy\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n policy_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getSfsShare:getSfsShare": { + "description": "SFS Share schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_sfs_share\" \"example\" {\n project_id = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"\n resource_pool_id = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"\n share_id = \"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getSfsExportPolicy.\n", + "description": "A collection of arguments for invoking getSfsShare.\n", "properties": { - "policyId": { - "type": "string", - "description": "Export policy ID\n" - }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the export policy is associated.\n" + "description": "STACKIT project ID to which the share is associated.\n" }, "region": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "The resource region. Read-only attribute that reflects the provider region.\n" + }, + "resourcePoolId": { + "type": "string", + "description": "The ID of the resource pool for the SFS share.\n" + }, + "shareId": { + "type": "string", + "description": "share ID\n" } }, "type": "object", "required": [ - "policyId", - "projectId" + "projectId", + "resourcePoolId", + "shareId" ] }, "outputs": { - "description": "A collection of values returned by getSfsExportPolicy.\n", + "description": "A collection of values returned by getSfsShare.\n", "properties": { + "exportPolicy": { + "type": "string", + "description": "Name of the Share Export Policy to use in the Share.\nNote that if this is not set, the Share can only be mounted in read only by\nclients with IPs matching the IP ACL of the Resource Pool hosting this Share.\nYou can also assign a Share Export Policy after creating the Share\n" + }, "id": { "type": "string", - "description": "Terraform's internal resource ID. It is 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=\"`policyId`\" pulumi-lang-dotnet=\"`PolicyId`\" pulumi-lang-go=\"`policyId`\" pulumi-lang-python=\"`policy_id`\" pulumi-lang-yaml=\"`policyId`\" pulumi-lang-java=\"`policyId`\"\u003e`policyId`\u003c/span\u003e\".\n" + "description": "Terraform's internal resource ID. It is 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=\"`shareId`\" pulumi-lang-dotnet=\"`ShareId`\" pulumi-lang-go=\"`shareId`\" pulumi-lang-python=\"`share_id`\" pulumi-lang-yaml=\"`shareId`\" pulumi-lang-java=\"`shareId`\"\u003e`shareId`\u003c/span\u003e\".\n" }, - "name": { + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Labels are key-value string pairs which can be attached to a share\n" + }, + "mountPath": { "type": "string", - "description": "Name of the export policy.\n" + "description": "Mount path of the Share, used to mount the Share\n" }, - "policyId": { + "name": { "type": "string", - "description": "Export policy ID\n" + "description": "Name of the Share\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the export policy is associated.\n" + "description": "STACKIT project ID to which the share is associated.\n" }, "region": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "The resource region. Read-only attribute that reflects the provider region.\n" }, - "rules": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getSfsExportPolicyRule:getSfsExportPolicyRule" - } + "resourcePoolId": { + "type": "string", + "description": "The ID of the resource pool for the SFS share.\n" + }, + "shareId": { + "type": "string", + "description": "share ID\n" + }, + "spaceHardLimitGigabytes": { + "type": "integer", + "description": "Space hard limit for the Share.\n\t\t\tIf zero, the Share will have access to the full space of the Resource Pool it lives in.\n\t\t\t(unit: gigabytes)\n" } }, "type": "object", "required": [ + "exportPolicy", "id", + "labels", + "mountPath", "name", - "policyId", "projectId", - "region", - "rules" + "resourcePoolId", + "shareId", + "spaceHardLimitGigabytes" ] } }, - "stackit:index/getSfsProjectLock:getSfsProjectLock": { - "description": "SFS project lock 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. Always use only one project lock per project.\n\n## Example Usage\n\n```terraform\ndata \"stackit_sfs_project_lock\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getSfsSnapshotPolicies:getSfsSnapshotPolicies": { + "description": "SFS snapshot policies datasource schema\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_sfs_snapshot_policies\" \"all\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\ndata \"stackit_sfs_snapshot_policies\" \"immutable_only\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n immutable = \"immutable-only\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getSfsProjectLock.\n", + "description": "A collection of arguments for invoking getSfsSnapshotPolicies.\n", "properties": { - "projectId": { + "immutable": { "type": "string", - "description": "STACKIT Project ID to which the project lock is associated.\n" + "description": "Filter snapshot policies by immutability. Possible values are: \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e, `immutable-only`, `mutable-only`. Defaults to \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e. This attribute is in beta, may have breaking changes in the future.\n" }, - "region": { + "projectId": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "STACKIT project ID to which the snapshot policy is associated.\n" } }, "type": "object", @@ -26490,697 +29107,746 @@ ] }, "outputs": { - "description": "A collection of values returned by getSfsProjectLock.\n", + "description": "A collection of values returned by getSfsSnapshotPolicies.\n", "properties": { "id": { "type": "string", - "description": "Terraform's internal resource identifier. It is 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\".\n" + "description": "Terraform's internal data source ID. It is 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\".\n" }, - "lockId": { + "immutable": { "type": "string", - "description": "ID of the lock.\n" + "description": "Filter snapshot policies by immutability. Possible values are: \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e, `immutable-only`, `mutable-only`. Defaults to \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e. This attribute is in beta, may have breaking changes in the future.\n" }, - "projectId": { - "type": "string", - "description": "STACKIT Project ID to which the project lock is associated.\n" + "items": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getSfsSnapshotPoliciesItem:getSfsSnapshotPoliciesItem" + } }, - "region": { + "projectId": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "STACKIT project ID to which the snapshot policy is associated.\n" } }, "type": "object", "required": [ "id", - "lockId", - "projectId", - "region" + "items", + "projectId" ] } }, - "stackit:index/getSfsResourcePool:getSfsResourcePool": { - "description": "Resource-pool datasource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_sfs_resource_pool\" \"resourcepool\" {\n project_id = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"\n resource_pool_id = \"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY\"\n}\n```\n", + "stackit:index/getSkeCluster:getSkeCluster": { + "description": "SKE Cluster data source schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_ske_cluster\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-name\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getSfsResourcePool.\n", + "description": "A collection of arguments for invoking getSkeCluster.\n", "properties": { - "projectId": { + "name": { "type": "string", - "description": "STACKIT project ID to which the resource pool is associated.\n" + "description": "The cluster name.\n" }, - "region": { + "projectId": { "type": "string", - "description": "The resource region. Read-only attribute that reflects the provider region.\n" + "description": "STACKIT project ID to which the cluster is associated.\n" }, - "resourcePoolId": { + "region": { "type": "string", - "description": "Resourcepool ID\n" + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ - "projectId", - "resourcePoolId" + "name", + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getSfsResourcePool.\n", + "description": "A collection of values returned by getSkeCluster.\n", "properties": { - "availabilityZone": { - "type": "string", - "description": "Availability zone.\n" + "egressAddressRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster.\n" }, - "id": { - "type": "string", - "description": "Terraform's internal resource ID. It is 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=\"`resourcePoolId`\" pulumi-lang-dotnet=\"`ResourcePoolId`\" pulumi-lang-go=\"`resourcePoolId`\" pulumi-lang-python=\"`resource_pool_id`\" pulumi-lang-yaml=\"`resourcePoolId`\" pulumi-lang-java=\"`resourcePoolId`\"\u003e`resourcePoolId`\u003c/span\u003e\".\n" + "extensions": { + "$ref": "#/types/stackit:index/getSkeClusterExtensions:getSkeClusterExtensions", + "description": "A single extensions block as defined below\n" }, - "ipAcls": { + "hibernations": { "type": "array", "items": { - "type": "string" + "$ref": "#/types/stackit:index/getSkeClusterHibernation:getSkeClusterHibernation" }, - "description": "List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. \"172.16.0.0/24\" for a range of IPs, or \"172.16.0.250/32\" for a specific IP).\n" + "description": "One or more hibernation block as defined below.\n" }, - "name": { + "id": { "type": "string", - "description": "Name of the resource pool.\n" + "description": "Terraform's internal data source. ID. It is 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=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e\".\n" }, - "performanceClass": { + "kubernetesVersionMin": { "type": "string", - "description": "Name of the performance class.\n" + "description": "The minimum Kubernetes version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes \u0026 OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the \u003cspan pulumi-lang-nodejs=\"`kubernetesVersionUsed`\" pulumi-lang-dotnet=\"`KubernetesVersionUsed`\" pulumi-lang-go=\"`kubernetesVersionUsed`\" pulumi-lang-python=\"`kubernetes_version_used`\" pulumi-lang-yaml=\"`kubernetesVersionUsed`\" pulumi-lang-java=\"`kubernetesVersionUsed`\"\u003e`kubernetesVersionUsed`\u003c/span\u003e field.\n" }, - "performanceClassDowngradableAt": { + "kubernetesVersionUsed": { "type": "string", - "description": "Time when the performance class can be downgraded again.\n" + "description": "Full Kubernetes version used. For example, if `1.22` was selected, this value may result to `1.22.15`\n" }, - "projectId": { - "type": "string", - "description": "STACKIT project ID to which the resource pool is associated.\n" + "maintenance": { + "$ref": "#/types/stackit:index/getSkeClusterMaintenance:getSkeClusterMaintenance", + "description": "A single maintenance block as defined below\n" }, - "region": { + "name": { "type": "string", - "description": "The resource region. Read-only attribute that reflects the provider region.\n" + "description": "The cluster name.\n" }, - "resourcePoolId": { - "type": "string", - "description": "Resourcepool ID\n" + "network": { + "$ref": "#/types/stackit:index/getSkeClusterNetwork:getSkeClusterNetwork", + "description": "Network block as defined below.\n" }, - "sizeGigabytes": { - "type": "integer", - "description": "Size of the resource pool (unit: gigabytes)\n" + "nodePools": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getSkeClusterNodePool:getSkeClusterNodePool" + }, + "description": "One or more \u003cspan pulumi-lang-nodejs=\"`nodePool`\" pulumi-lang-dotnet=\"`NodePool`\" pulumi-lang-go=\"`nodePool`\" pulumi-lang-python=\"`node_pool`\" pulumi-lang-yaml=\"`nodePool`\" pulumi-lang-java=\"`nodePool`\"\u003e`nodePool`\u003c/span\u003e block as defined below.\n" }, - "sizeReducibleAt": { - "type": "string", - "description": "Time when the size can be reduced again.\n" + "podAddressRanges": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The network ranges (in CIDR notation) used by pods of the cluster.\n" }, - "snapshotPolicy": { - "$ref": "#/types/stackit:index/getSfsResourcePoolSnapshotPolicy:getSfsResourcePoolSnapshotPolicy", - "description": "Name of the snapshot policy.\n" + "projectId": { + "type": "string", + "description": "STACKIT project ID to which the cluster is associated.\n" }, - "snapshotsAreVisible": { - "type": "boolean", - "description": "If set to true, snapshots are visible and accessible to users. (default: false)\n" + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ - "availabilityZone", + "egressAddressRanges", + "extensions", + "hibernations", "id", - "ipAcls", + "kubernetesVersionMin", + "kubernetesVersionUsed", + "maintenance", "name", - "performanceClass", - "performanceClassDowngradableAt", - "projectId", - "resourcePoolId", - "sizeGigabytes", - "sizeReducibleAt", - "snapshotPolicy", - "snapshotsAreVisible" + "network", + "nodePools", + "podAddressRanges", + "projectId" ] } }, - "stackit:index/getSfsResourcePoolSnapshot:getSfsResourcePoolSnapshot": { - "description": "Resource-pool datasource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_sfs_resource_pool_snapshot\" \"example\" {\n project_id = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"\n resource_pool_id = \"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY\"\n}\n```\n", + "stackit:index/getSkeKubernetesVersions:getSkeKubernetesVersions": { + "description": "Returns Kubernetes versions as reported by the SKE provider options API for the given region.\n\n## Example Usage\n\n```terraform\ndata \"stackit_ske_kubernetes_versions\" \"example\" {\n version_state = \"SUPPORTED\"\n}\n\nresource \"stackit_ske_cluster\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n kubernetes_version = data.stackit_ske_kubernetes_versions.example.kubernetes_versions.0.version\n node_pools = [\n {\n name = \"np-example\"\n machine_type = \"x.x\"\n os_version = \"x.x.x\"\n os_name = \"xxx\"\n minimum = \"2\"\n maximum = \"3\"\n availability_zones = [\"eu01-1\"]\n volume_type = \"storage_premium_perf6\"\n volume_size = \"48\"\n }\n ]\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getSfsResourcePoolSnapshot.\n", + "description": "A collection of arguments for invoking getSkeKubernetesVersions.\n", "properties": { - "projectId": { - "type": "string", - "description": "STACKIT project ID to which the resource pool snapshot is associated.\n" - }, "region": { "type": "string", - "description": "The resource region. Read-only attribute that reflects the provider region.\n" + "description": "Region override. If omitted, the provider’s region will be used.\n" }, - "resourcePoolId": { + "versionState": { "type": "string", - "description": "Resource pool ID\n" + "description": "If specified, only returns Kubernetes versions with this version state. Possible values are: `SUPPORTED`.\n" } }, - "type": "object", - "required": [ - "projectId", - "resourcePoolId" - ] + "type": "object" }, "outputs": { - "description": "A collection of values returned by getSfsResourcePoolSnapshot.\n", + "description": "A collection of values returned by getSkeKubernetesVersions.\n", "properties": { "id": { "type": "string", - "description": "Terraform's internal resource ID. It is 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=\"`resourcePoolId`\" pulumi-lang-dotnet=\"`ResourcePoolId`\" pulumi-lang-go=\"`resourcePoolId`\" pulumi-lang-python=\"`resource_pool_id`\" pulumi-lang-yaml=\"`resourcePoolId`\" pulumi-lang-java=\"`resourcePoolId`\"\u003e`resourcePoolId`\u003c/span\u003e\".\n" + "description": "The provider-assigned unique ID for this managed resource." }, - "projectId": { - "type": "string", - "description": "STACKIT project ID to which the resource pool snapshot is associated.\n" + "kubernetesVersions": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getSkeKubernetesVersionsKubernetesVersion:getSkeKubernetesVersionsKubernetesVersion" + }, + "description": "Kubernetes versions and their metadata.\n" }, "region": { "type": "string", - "description": "The resource region. Read-only attribute that reflects the provider region.\n" + "description": "Region override. If omitted, the provider’s region will be used.\n" }, - "resourcePoolId": { + "versionState": { "type": "string", - "description": "Resource pool ID\n" - }, - "snapshots": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getSfsResourcePoolSnapshotSnapshot:getSfsResourcePoolSnapshotSnapshot" - }, - "description": "Resource-pool datasource schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n" + "description": "If specified, only returns Kubernetes versions with this version state. Possible values are: `SUPPORTED`.\n" } }, "type": "object", "required": [ - "id", - "projectId", - "resourcePoolId", - "snapshots" + "kubernetesVersions", + "id" ] } }, - "stackit:index/getSfsShare:getSfsShare": { - "description": "SFS Share schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_sfs_share\" \"example\" {\n project_id = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"\n resource_pool_id = \"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\"\n share_id = \"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY\"\n}\n```\n", + "stackit:index/getSkeMachineImageVersions:getSkeMachineImageVersions": { + "description": "Returns a list of supported Kubernetes machine image versions for the cluster nodes.\n\n## Example Usage\n\n```terraform\ndata \"stackit_ske_machine_image_versions\" \"example\" {\n version_state = \"SUPPORTED\"\n}\n\nlocals {\n flatcar_supported_version = one(flatten([\n for mi in data.stackit_ske_machine_image_versions.example.machine_images : [\n for v in mi.versions :\n v.version\n if mi.name == \"flatcar\" # or ubuntu\n ]\n ]))\n}\n\nresource \"stackit_ske_cluster\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n kubernetes_version = \"x.x\"\n node_pools = [\n {\n name = \"np-example\"\n machine_type = \"x.x\"\n os_version = local.flatcar_supported_version\n os_name = \"flatcar\"\n minimum = \"2\"\n maximum = \"3\"\n availability_zones = [\"eu01-1\"]\n volume_type = \"storage_premium_perf6\"\n volume_size = \"48\"\n }\n ]\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getSfsShare.\n", + "description": "A collection of arguments for invoking getSkeMachineImageVersions.\n", "properties": { - "projectId": { - "type": "string", - "description": "STACKIT project ID to which the share is associated.\n" - }, "region": { "type": "string", - "description": "The resource region. Read-only attribute that reflects the provider region.\n" - }, - "resourcePoolId": { - "type": "string", - "description": "The ID of the resource pool for the SFS share.\n" + "description": "Region override. If omitted, the provider’s region will be used.\n" }, - "shareId": { + "versionState": { "type": "string", - "description": "share ID\n" + "description": "Filter returned machine image versions by their state. Possible values are: `SUPPORTED`.\n" } }, - "type": "object", - "required": [ - "projectId", - "resourcePoolId", - "shareId" - ] + "type": "object" }, "outputs": { - "description": "A collection of values returned by getSfsShare.\n", + "description": "A collection of values returned by getSkeMachineImageVersions.\n", "properties": { - "exportPolicy": { - "type": "string", - "description": "Name of the Share Export Policy to use in the Share.\nNote that if this is not set, the Share can only be mounted in read only by\nclients with IPs matching the IP ACL of the Resource Pool hosting this Share.\nYou can also assign a Share Export Policy after creating the Share\n" - }, "id": { "type": "string", - "description": "Terraform's internal resource ID. It is 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=\"`shareId`\" pulumi-lang-dotnet=\"`ShareId`\" pulumi-lang-go=\"`shareId`\" pulumi-lang-python=\"`share_id`\" pulumi-lang-yaml=\"`shareId`\" pulumi-lang-java=\"`shareId`\"\u003e`shareId`\u003c/span\u003e\".\n" - }, - "mountPath": { - "type": "string", - "description": "Mount path of the Share, used to mount the Share\n" - }, - "name": { - "type": "string", - "description": "Name of the Share\n" + "description": "The provider-assigned unique ID for this managed resource." }, - "projectId": { - "type": "string", - "description": "STACKIT project ID to which the share is associated.\n" + "machineImages": { + "type": "array", + "items": { + "$ref": "#/types/stackit:index/getSkeMachineImageVersionsMachineImage:getSkeMachineImageVersionsMachineImage" + }, + "description": "Supported machine image types and versions.\n" }, "region": { "type": "string", - "description": "The resource region. Read-only attribute that reflects the provider region.\n" - }, - "resourcePoolId": { - "type": "string", - "description": "The ID of the resource pool for the SFS share.\n" + "description": "Region override. If omitted, the provider’s region will be used.\n" }, - "shareId": { + "versionState": { "type": "string", - "description": "share ID\n" - }, - "spaceHardLimitGigabytes": { - "type": "integer", - "description": "Space hard limit for the Share.\n\t\t\tIf zero, the Share will have access to the full space of the Resource Pool it lives in.\n\t\t\t(unit: gigabytes)\n" + "description": "Filter returned machine image versions by their state. Possible values are: `SUPPORTED`.\n" } }, "type": "object", "required": [ - "exportPolicy", - "id", - "mountPath", - "name", - "projectId", - "resourcePoolId", - "shareId", - "spaceHardLimitGigabytes" + "machineImages", + "id" ] } }, - "stackit:index/getSfsSnapshotPolicies:getSfsSnapshotPolicies": { - "description": "SFS snapshot policies datasource schema\n\n\u003e This datasource is in beta and may be subject to breaking changes in the future. Use with caution. See our guide for how to opt-in to use beta resources.\n\n## Example Usage\n\n```terraform\ndata \"stackit_sfs_snapshot_policies\" \"all\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n\ndata \"stackit_sfs_snapshot_policies\" \"immutable_only\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n immutable = \"immutable-only\"\n}\n```\n", + "stackit:index/getSqlserverflexInstance:getSqlserverflexInstance": { + "description": "SQLServer Flex instance data source schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_sqlserverflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getSfsSnapshotPolicies.\n", + "description": "A collection of arguments for invoking getSqlserverflexInstance.\n", "properties": { - "immutable": { + "instanceId": { "type": "string", - "description": "Filter snapshot policies by immutability. Possible values are: \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e, `immutable-only`, `mutable-only`. Defaults to \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e. This attribute is in beta, may have breaking changes in the future.\n" + "description": "ID of the SQLServer Flex instance.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the snapshot policy is associated.\n" + "description": "STACKIT project ID to which the instance is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ + "instanceId", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getSfsSnapshotPolicies.\n", + "description": "A collection of values returned by getSqlserverflexInstance.\n", "properties": { + "acls": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The Access Control List (ACL) for the SQLServer Flex instance.\n" + }, + "backupSchedule": { + "type": "string", + "description": "The backup schedule. Should follow the cron scheduling system format (e.g. \"0 0 * * *\").\n" + }, + "flavor": { + "$ref": "#/types/stackit:index/getSqlserverflexInstanceFlavor:getSqlserverflexInstanceFlavor" + }, "id": { "type": "string", - "description": "Terraform's internal data source ID. It is 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\".\n" + "description": "Terraform's internal data source. ID. It is 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=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\"\u003e`instanceId`\u003c/span\u003e\".\n" }, - "immutable": { + "instanceId": { "type": "string", - "description": "Filter snapshot policies by immutability. Possible values are: \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e, `immutable-only`, `mutable-only`. Defaults to \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e. This attribute is in beta, may have breaking changes in the future.\n" + "description": "ID of the SQLServer Flex instance.\n" }, - "items": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getSfsSnapshotPoliciesItem:getSfsSnapshotPoliciesItem" - } + "name": { + "type": "string", + "description": "Instance name.\n" + }, + "options": { + "$ref": "#/types/stackit:index/getSqlserverflexInstanceOptions:getSqlserverflexInstanceOptions", + "description": "Custom parameters for the SQLServer Flex instance.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the snapshot policy is associated.\n" + "description": "STACKIT project ID to which the instance is associated.\n" + }, + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" + }, + "replicas": { + "type": "integer" + }, + "storage": { + "$ref": "#/types/stackit:index/getSqlserverflexInstanceStorage:getSqlserverflexInstanceStorage" + }, + "version": { + "type": "string" } }, "type": "object", "required": [ + "acls", + "backupSchedule", + "flavor", "id", - "items", - "projectId" + "instanceId", + "name", + "options", + "projectId", + "replicas", + "storage", + "version" ] } }, - "stackit:index/getSkeCluster:getSkeCluster": { - "description": "SKE Cluster data source schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_ske_cluster\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example-name\"\n}\n```\n", + "stackit:index/getSqlserverflexUser:getSqlserverflexUser": { + "description": "SQLServer Flex user data source schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_sqlserverflex_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n user_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getSkeCluster.\n", + "description": "A collection of arguments for invoking getSqlserverflexUser.\n", "properties": { - "name": { + "instanceId": { "type": "string", - "description": "The cluster name.\n" + "description": "ID of the SQLServer Flex instance.\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the cluster is associated.\n" + "description": "STACKIT project ID to which the instance is associated.\n" }, "region": { "type": "string", "description": "The resource region. If not defined, the provider region is used.\n" + }, + "userId": { + "type": "string", + "description": "User ID.\n" } }, "type": "object", "required": [ - "name", - "projectId" + "instanceId", + "projectId", + "userId" ] }, "outputs": { - "description": "A collection of values returned by getSkeCluster.\n", + "description": "A collection of values returned by getSqlserverflexUser.\n", "properties": { - "egressAddressRanges": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The outgoing network ranges (in CIDR notation) of traffic originating from workload on the cluster.\n" - }, - "extensions": { - "$ref": "#/types/stackit:index/getSkeClusterExtensions:getSkeClusterExtensions", - "description": "A single extensions block as defined below\n" - }, - "hibernations": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getSkeClusterHibernation:getSkeClusterHibernation" - }, - "description": "One or more hibernation block as defined below.\n" + "host": { + "type": "string" }, "id": { "type": "string", - "description": "Terraform's internal data source. ID. It is 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=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e\".\n" - }, - "kubernetesVersionMin": { - "type": "string", - "description": "The minimum Kubernetes version, this field is always nil. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes \u0026 OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current kubernetes version being used for your cluster, use the \u003cspan pulumi-lang-nodejs=\"`kubernetesVersionUsed`\" pulumi-lang-dotnet=\"`KubernetesVersionUsed`\" pulumi-lang-go=\"`kubernetesVersionUsed`\" pulumi-lang-python=\"`kubernetes_version_used`\" pulumi-lang-yaml=\"`kubernetesVersionUsed`\" pulumi-lang-java=\"`kubernetesVersionUsed`\"\u003e`kubernetesVersionUsed`\u003c/span\u003e field.\n" + "description": "Terraform's internal data source. ID. It is 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=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\"\u003e`instanceId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`userId`\" pulumi-lang-dotnet=\"`UserId`\" pulumi-lang-go=\"`userId`\" pulumi-lang-python=\"`user_id`\" pulumi-lang-yaml=\"`userId`\" pulumi-lang-java=\"`userId`\"\u003e`userId`\u003c/span\u003e\".\n" }, - "kubernetesVersionUsed": { + "instanceId": { "type": "string", - "description": "Full Kubernetes version used. For example, if `1.22` was selected, this value may result to `1.22.15`\n" + "description": "ID of the SQLServer Flex instance.\n" }, - "maintenance": { - "$ref": "#/types/stackit:index/getSkeClusterMaintenance:getSkeClusterMaintenance", - "description": "A single maintenance block as defined below\n" + "port": { + "type": "integer" }, - "name": { + "projectId": { "type": "string", - "description": "The cluster name.\n" - }, - "network": { - "$ref": "#/types/stackit:index/getSkeClusterNetwork:getSkeClusterNetwork", - "description": "Network block as defined below.\n" + "description": "STACKIT project ID to which the instance is associated.\n" }, - "nodePools": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getSkeClusterNodePool:getSkeClusterNodePool" - }, - "description": "One or more \u003cspan pulumi-lang-nodejs=\"`nodePool`\" pulumi-lang-dotnet=\"`NodePool`\" pulumi-lang-go=\"`nodePool`\" pulumi-lang-python=\"`node_pool`\" pulumi-lang-yaml=\"`nodePool`\" pulumi-lang-java=\"`nodePool`\"\u003e`nodePool`\u003c/span\u003e block as defined below.\n" + "region": { + "type": "string", + "description": "The resource region. If not defined, the provider region is used.\n" }, - "podAddressRanges": { + "roles": { "type": "array", "items": { "type": "string" }, - "description": "The network ranges (in CIDR notation) used by pods of the cluster.\n" + "description": "Database access levels for the user.\n" }, - "projectId": { + "userId": { "type": "string", - "description": "STACKIT project ID to which the cluster is associated.\n" + "description": "User ID.\n" }, - "region": { + "username": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "Username of the SQLServer Flex instance.\n" } }, "type": "object", "required": [ - "egressAddressRanges", - "extensions", - "hibernations", + "host", "id", - "kubernetesVersionMin", - "kubernetesVersionUsed", - "maintenance", - "name", - "network", - "nodePools", - "podAddressRanges", - "projectId" + "instanceId", + "port", + "projectId", + "roles", + "userId", + "username" ] } }, - "stackit:index/getSkeKubernetesVersions:getSkeKubernetesVersions": { - "description": "Returns Kubernetes versions as reported by the SKE provider options API for the given region.\n\n## Example Usage\n\n```terraform\ndata \"stackit_ske_kubernetes_versions\" \"example\" {\n version_state = \"SUPPORTED\"\n}\n\nresource \"stackit_ske_cluster\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n kubernetes_version = data.stackit_ske_kubernetes_versions.example.kubernetes_versions.0.version\n node_pools = [\n {\n name = \"np-example\"\n machine_type = \"x.x\"\n os_version = \"x.x.x\"\n os_name = \"xxx\"\n minimum = \"2\"\n maximum = \"3\"\n availability_zones = [\"eu01-1\"]\n volume_type = \"storage_premium_perf6\"\n volume_size = \"48\"\n }\n ]\n}\n```\n", + "stackit:index/getTelemetrylink:getTelemetrylink": { + "description": "TelemetryLink 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_telemetrylink\" \"link\" {\n resource_type = \"project\"\n resource_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getSkeKubernetesVersions.\n", + "description": "A collection of arguments for invoking getTelemetrylink.\n", "properties": { "region": { "type": "string", - "description": "Region override. If omitted, the provider’s region will be used.\n" + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" }, - "versionState": { + "resourceId": { "type": "string", - "description": "If specified, only returns Kubernetes versions with this version state. Possible values are: `SUPPORTED`.\n" + "description": "STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource.\n" + }, + "resourceType": { + "type": "string", + "description": "The resource type of the TelemetryLink resource, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`organization`\" pulumi-lang-dotnet=\"`Organization`\" pulumi-lang-go=\"`organization`\" pulumi-lang-python=\"`organization`\" pulumi-lang-yaml=\"`organization`\" pulumi-lang-java=\"`organization`\"\u003e`organization`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`folder`\" pulumi-lang-dotnet=\"`Folder`\" pulumi-lang-go=\"`folder`\" pulumi-lang-python=\"`folder`\" pulumi-lang-yaml=\"`folder`\" pulumi-lang-java=\"`folder`\"\u003e`folder`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.\n" } }, - "type": "object" + "type": "object", + "required": [ + "resourceId", + "resourceType" + ] }, "outputs": { - "description": "A collection of values returned by getSkeKubernetesVersions.\n", + "description": "A collection of values returned by getTelemetrylink.\n", "properties": { - "id": { + "createTime": { "type": "string", - "description": "The provider-assigned unique ID for this managed resource." + "description": "The time the Telemetry Link was created.\n" }, - "kubernetesVersions": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getSkeKubernetesVersionsKubernetesVersion:getSkeKubernetesVersionsKubernetesVersion" - }, - "description": "Kubernetes versions and their metadata.\n" + "description": { + "type": "string", + "description": "The description of the Telemetry Link resource.\n" + }, + "displayName": { + "type": "string", + "description": "The displayed name of the Telemetry Link resource.\n" + }, + "id": { + "type": "string", + "description": "Terraform's internal resource identifier. It is structured as \"\u003cspan pulumi-lang-nodejs=\"`resourceType`\" pulumi-lang-dotnet=\"`ResourceType`\" pulumi-lang-go=\"`resourceType`\" pulumi-lang-python=\"`resource_type`\" pulumi-lang-yaml=\"`resourceType`\" pulumi-lang-java=\"`resourceType`\"\u003e`resourceType`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`resourceId`\" pulumi-lang-dotnet=\"`ResourceId`\" pulumi-lang-go=\"`resourceId`\" pulumi-lang-python=\"`resource_id`\" pulumi-lang-yaml=\"`resourceId`\" pulumi-lang-java=\"`resourceId`\"\u003e`resourceId`\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\".\n" }, "region": { "type": "string", - "description": "Region override. If omitted, the provider’s region will be used.\n" + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" }, - "versionState": { + "resourceId": { "type": "string", - "description": "If specified, only returns Kubernetes versions with this version state. Possible values are: `SUPPORTED`.\n" + "description": "STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource.\n" + }, + "resourceType": { + "type": "string", + "description": "The resource type of the TelemetryLink resource, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`organization`\" pulumi-lang-dotnet=\"`Organization`\" pulumi-lang-go=\"`organization`\" pulumi-lang-python=\"`organization`\" pulumi-lang-yaml=\"`organization`\" pulumi-lang-java=\"`organization`\"\u003e`organization`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`folder`\" pulumi-lang-dotnet=\"`Folder`\" pulumi-lang-go=\"`folder`\" pulumi-lang-python=\"`folder`\" pulumi-lang-yaml=\"`folder`\" pulumi-lang-java=\"`folder`\"\u003e`folder`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.\n" + }, + "status": { + "type": "string", + "description": "The status of the TelemetryLink, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`inactive`\" pulumi-lang-dotnet=\"`Inactive`\" pulumi-lang-go=\"`inactive`\" pulumi-lang-python=\"`inactive`\" pulumi-lang-yaml=\"`inactive`\" pulumi-lang-java=\"`inactive`\"\u003e`inactive`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`failed`\" pulumi-lang-dotnet=\"`Failed`\" pulumi-lang-go=\"`failed`\" pulumi-lang-python=\"`failed`\" pulumi-lang-yaml=\"`failed`\" pulumi-lang-java=\"`failed`\"\u003e`failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" + }, + "telemetryRouterId": { + "type": "string", + "description": "The Telemetry Router ID.\n" } }, "type": "object", "required": [ - "kubernetesVersions", - "id" + "createTime", + "description", + "displayName", + "id", + "resourceId", + "resourceType", + "status", + "telemetryRouterId" ] } }, - "stackit:index/getSkeMachineImageVersions:getSkeMachineImageVersions": { - "description": "Returns a list of supported Kubernetes machine image versions for the cluster nodes.\n\n## Example Usage\n\n```terraform\ndata \"stackit_ske_machine_image_versions\" \"example\" {\n version_state = \"SUPPORTED\"\n}\n\nlocals {\n flatcar_supported_version = one(flatten([\n for mi in data.stackit_ske_machine_image_versions.example.machine_images : [\n for v in mi.versions :\n v.version\n if mi.name == \"flatcar\" # or ubuntu\n ]\n ]))\n}\n\nresource \"stackit_ske_cluster\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n name = \"example\"\n kubernetes_version = \"x.x\"\n node_pools = [\n {\n name = \"np-example\"\n machine_type = \"x.x\"\n os_version = local.flatcar_supported_version\n os_name = \"flatcar\"\n minimum = \"2\"\n maximum = \"3\"\n availability_zones = [\"eu01-1\"]\n volume_type = \"storage_premium_perf6\"\n volume_size = \"48\"\n }\n ]\n}\n```\n", + "stackit:index/getTelemetryrouterAccessToken:getTelemetryrouterAccessToken": { + "description": "TelemetryRouter access token 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_telemetryrouter_access_token\" \"accessToken\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n access_token_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getSkeMachineImageVersions.\n", + "description": "A collection of arguments for invoking getTelemetryrouterAccessToken.\n", "properties": { - "region": { + "accessTokenId": { "type": "string", - "description": "Region override. If omitted, the provider’s region will be used.\n" + "description": "The access token ID\n" }, - "versionState": { + "instanceId": { "type": "string", - "description": "Filter returned machine image versions by their state. Possible values are: `SUPPORTED`.\n" + "description": "The TelemetryRouter instance ID associated with the access token\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the TelemetryRouter access token\n" + }, + "region": { + "type": "string", + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" } }, - "type": "object" + "type": "object", + "required": [ + "accessTokenId", + "instanceId", + "projectId" + ] }, "outputs": { - "description": "A collection of values returned by getSkeMachineImageVersions.\n", + "description": "A collection of values returned by getTelemetryrouterAccessToken.\n", "properties": { + "accessTokenId": { + "type": "string", + "description": "The access token ID\n" + }, + "creatorId": { + "type": "string", + "description": "The user who created the access token\n" + }, + "description": { + "type": "string", + "description": "The description of the access token\n" + }, + "displayName": { + "type": "string", + "description": "The displayed name of the access token\n" + }, + "expirationTime": { + "type": "string", + "description": "The date and time an access token will expire at (inclusively)\n" + }, "id": { "type": "string", - "description": "The provider-assigned unique ID for this managed resource." + "description": "Terraform's internal resource identifier. It is 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=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\"\u003e`instanceId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`accessTokenId`\" pulumi-lang-dotnet=\"`AccessTokenId`\" pulumi-lang-go=\"`accessTokenId`\" pulumi-lang-python=\"`access_token_id`\" pulumi-lang-yaml=\"`accessTokenId`\" pulumi-lang-java=\"`accessTokenId`\"\u003e`accessTokenId`\u003c/span\u003e\".\n" }, - "machineImages": { - "type": "array", - "items": { - "$ref": "#/types/stackit:index/getSkeMachineImageVersionsMachineImage:getSkeMachineImageVersionsMachineImage" - }, - "description": "Supported machine image types and versions.\n" + "instanceId": { + "type": "string", + "description": "The TelemetryRouter instance ID associated with the access token\n" + }, + "projectId": { + "type": "string", + "description": "STACKIT project ID associated with the TelemetryRouter access token\n" }, "region": { "type": "string", - "description": "Region override. If omitted, the provider’s region will be used.\n" + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" }, - "versionState": { + "status": { "type": "string", - "description": "Filter returned machine image versions by their state. Possible values are: `SUPPORTED`.\n" + "description": "The status of the access token. Possible values are: \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`expired`\" pulumi-lang-dotnet=\"`Expired`\" pulumi-lang-go=\"`expired`\" pulumi-lang-python=\"`expired`\" pulumi-lang-yaml=\"`expired`\" pulumi-lang-java=\"`expired`\"\u003e`expired`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" } }, "type": "object", "required": [ - "machineImages", - "id" + "accessTokenId", + "creatorId", + "description", + "displayName", + "expirationTime", + "id", + "instanceId", + "projectId", + "status" ] } }, - "stackit:index/getSqlserverflexInstance:getSqlserverflexInstance": { - "description": "SQLServer Flex instance data source schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_sqlserverflex_instance\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getTelemetryrouterDestination:getTelemetryrouterDestination": { + "description": "TelemetryRouter destination 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_telemetryrouter_destination\" \"destination\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n destination_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getSqlserverflexInstance.\n", + "description": "A collection of arguments for invoking getTelemetryrouterDestination.\n", "properties": { + "destinationId": { + "type": "string", + "description": "The TelemetryRouter destination ID\n" + }, "instanceId": { "type": "string", - "description": "ID of the SQLServer Flex instance.\n" + "description": "The TelemetryRouter instance ID\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the instance is associated.\n" + "description": "STACKIT project ID associated with the TelemetryRouter instance\n" }, "region": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ + "destinationId", "instanceId", "projectId" ] }, "outputs": { - "description": "A collection of values returned by getSqlserverflexInstance.\n", + "description": "A collection of values returned by getTelemetryrouterDestination.\n", "properties": { - "acls": { - "type": "array", - "items": { - "type": "string" - }, - "description": "The Access Control List (ACL) for the SQLServer Flex instance.\n" + "config": { + "$ref": "#/types/stackit:index/getTelemetryrouterDestinationConfig:getTelemetryrouterDestinationConfig", + "description": "The configuration of the TelemetryRouter destination\n" }, - "backupSchedule": { + "creationTime": { "type": "string", - "description": "The backup schedule. Should follow the cron scheduling system format (e.g. \"0 0 * * *\").\n" + "description": "The date and time the creation of the TelemetryRouter destination was initiated\n" }, - "flavor": { - "$ref": "#/types/stackit:index/getSqlserverflexInstanceFlavor:getSqlserverflexInstanceFlavor" + "credentialType": { + "type": "string", + "description": "The TelemetryRouter destination's credential type\n" }, - "id": { + "description": { "type": "string", - "description": "Terraform's internal data source. ID. It is 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=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\"\u003e`instanceId`\u003c/span\u003e\".\n" + "description": "The description of the TelemetryRouter destination\n" }, - "instanceId": { + "destinationId": { "type": "string", - "description": "ID of the SQLServer Flex instance.\n" + "description": "The TelemetryRouter destination ID\n" }, - "name": { + "displayName": { "type": "string", - "description": "Instance name.\n" + "description": "The displayed name of the TelemetryRouter destination\n" }, - "options": { - "$ref": "#/types/stackit:index/getSqlserverflexInstanceOptions:getSqlserverflexInstanceOptions", - "description": "Custom parameters for the SQLServer Flex instance.\n" + "id": { + "type": "string", + "description": "Terraform's internal resource identifier. It is 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=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\"\u003e`instanceId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`destionationId`\" pulumi-lang-dotnet=\"`DestionationId`\" pulumi-lang-go=\"`destionationId`\" pulumi-lang-python=\"`destionation_id`\" pulumi-lang-yaml=\"`destionationId`\" pulumi-lang-java=\"`destionationId`\"\u003e`destionationId`\u003c/span\u003e\".\n" + }, + "instanceId": { + "type": "string", + "description": "The TelemetryRouter instance ID\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the instance is associated.\n" + "description": "STACKIT project ID associated with the TelemetryRouter instance\n" }, "region": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" - }, - "replicas": { - "type": "integer" - }, - "storage": { - "$ref": "#/types/stackit:index/getSqlserverflexInstanceStorage:getSqlserverflexInstanceStorage" + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" }, - "version": { - "type": "string" + "status": { + "type": "string", + "description": "The status of the TelemetryRouter destination, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" } }, "type": "object", "required": [ - "acls", - "backupSchedule", - "flavor", + "config", + "creationTime", + "credentialType", + "description", + "destinationId", + "displayName", "id", "instanceId", - "name", - "options", "projectId", - "replicas", - "storage", - "version" + "region", + "status" ] } }, - "stackit:index/getSqlserverflexUser:getSqlserverflexUser": { - "description": "SQLServer Flex user data source schema. Must have a \u003cspan pulumi-lang-nodejs=\"`region`\" pulumi-lang-dotnet=\"`Region`\" pulumi-lang-go=\"`region`\" pulumi-lang-python=\"`region`\" pulumi-lang-yaml=\"`region`\" pulumi-lang-java=\"`region`\"\u003e`region`\u003c/span\u003e specified in the provider configuration.\n\n## Example Usage\n\n```terraform\ndata \"stackit_sqlserverflex_user\" \"example\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n user_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", + "stackit:index/getTelemetryrouterInstance:getTelemetryrouterInstance": { + "description": "TelemetryRouter instance 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_telemetryrouter_instance\" \"router\" {\n project_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n region = \"eu01\"\n instance_id = \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\"\n}\n```\n", "inputs": { - "description": "A collection of arguments for invoking getSqlserverflexUser.\n", + "description": "A collection of arguments for invoking getTelemetryrouterInstance.\n", "properties": { "instanceId": { "type": "string", - "description": "ID of the SQLServer Flex instance.\n" + "description": "The TelemetryRouter instance ID\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the instance is associated.\n" + "description": "STACKIT project ID associated with the TelemetryRouter instance\n" }, "region": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" - }, - "userId": { - "type": "string", - "description": "User ID.\n" + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" } }, "type": "object", "required": [ "instanceId", - "projectId", - "userId" + "projectId" ] }, "outputs": { - "description": "A collection of values returned by getSqlserverflexUser.\n", + "description": "A collection of values returned by getTelemetryrouterInstance.\n", "properties": { - "host": { - "type": "string" + "creationTime": { + "type": "string", + "description": "The date and time the creation of the TelemetryRouter instance was initiated\n" + }, + "description": { + "type": "string", + "description": "The description of the TelemetryRouter instance\n" + }, + "displayName": { + "type": "string", + "description": "The display name of the TelemetryRouter instance\n" + }, + "filter": { + "$ref": "#/types/stackit:index/getTelemetryrouterInstanceFilter:getTelemetryrouterInstanceFilter", + "description": "The TelemetryRouter global filter settings\n" }, "id": { "type": "string", - "description": "Terraform's internal data source. ID. It is 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=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\"\u003e`instanceId`\u003c/span\u003e,\u003cspan pulumi-lang-nodejs=\"`userId`\" pulumi-lang-dotnet=\"`UserId`\" pulumi-lang-go=\"`userId`\" pulumi-lang-python=\"`user_id`\" pulumi-lang-yaml=\"`userId`\" pulumi-lang-java=\"`userId`\"\u003e`userId`\u003c/span\u003e\".\n" + "description": "Terraform's internal resource identifier. It is 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=\"`instanceId`\" pulumi-lang-dotnet=\"`InstanceId`\" pulumi-lang-go=\"`instanceId`\" pulumi-lang-python=\"`instance_id`\" pulumi-lang-yaml=\"`instanceId`\" pulumi-lang-java=\"`instanceId`\"\u003e`instanceId`\u003c/span\u003e\".\n" }, "instanceId": { "type": "string", - "description": "ID of the SQLServer Flex instance.\n" - }, - "port": { - "type": "integer" + "description": "The TelemetryRouter instance ID\n" }, "projectId": { "type": "string", - "description": "STACKIT project ID to which the instance is associated.\n" + "description": "STACKIT project ID associated with the TelemetryRouter instance\n" }, "region": { "type": "string", - "description": "The resource region. If not defined, the provider region is used.\n" - }, - "roles": { - "type": "array", - "items": { - "type": "string" - }, - "description": "Database access levels for the user.\n" + "description": "STACKIT region name the resource is located in. If not defined, the provider region is used.\n" }, - "userId": { + "status": { "type": "string", - "description": "User ID.\n" + "description": "The status of the TelemetryRouter instance, possible values: Possible values are: \u003cspan pulumi-lang-nodejs=\"`reconciling`\" pulumi-lang-dotnet=\"`Reconciling`\" pulumi-lang-go=\"`reconciling`\" pulumi-lang-python=\"`reconciling`\" pulumi-lang-yaml=\"`reconciling`\" pulumi-lang-java=\"`reconciling`\"\u003e`reconciling`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e.\n" }, - "username": { + "uri": { "type": "string", - "description": "Username of the SQLServer Flex instance.\n" + "description": "The TelemetryRouter instance's URI\n" } }, "type": "object", "required": [ - "host", + "creationTime", + "description", + "displayName", + "filter", "id", "instanceId", - "port", "projectId", - "roles", - "userId", - "username" + "status", + "uri" ] } }, @@ -27283,6 +29949,88 @@ "volumeId" ] } + }, + "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": { + "description": "A collection of arguments for invoking getVpnGateway.\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 getVpnGateway.\n", + "properties": { + "availabilityZones": { + "$ref": "#/types/stackit:index/getVpnGatewayAvailabilityZones:getVpnGatewayAvailabilityZones", + "description": "Availability zones for the two tunnel endpoints.\n" + }, + "bgp": { + "$ref": "#/types/stackit:index/getVpnGatewayBgp:getVpnGatewayBgp", + "description": "BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED.\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" + }, + "labels": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Map of custom labels (key-value string pairs).\n" + }, + "planId": { + "type": "string", + "description": "The service plan identifier (e.g. \u003cspan pulumi-lang-nodejs=\"`p500`\" pulumi-lang-dotnet=\"`P500`\" pulumi-lang-go=\"`p500`\" pulumi-lang-python=\"`p500`\" pulumi-lang-yaml=\"`p500`\" pulumi-lang-java=\"`p500`\"\u003e`p500`\u003c/span\u003e). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans).\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" + }, + "routingType": { + "type": "string", + "description": "Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`.\n" + } + }, + "type": "object", + "required": [ + "availabilityZones", + "bgp", + "displayName", + "gatewayId", + "id", + "labels", + "planId", + "projectId", + "region", + "routingType" + ] + } } } } \ No newline at end of file diff --git a/provider/go.mod b/provider/go.mod index 29451d0..8bec47b 100644 --- a/provider/go.mod +++ b/provider/go.mod @@ -200,36 +200,40 @@ require ( github.com/stackitcloud/stackit-sdk-go/services/alb v0.14.2 // 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.6.2 // 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/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/iaas v1.11.1 // 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.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.28.2 // 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.28.2 // indirect - github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.9.2 // indirect - github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.8.3 // 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/objectstorage v1.9.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/observability v0.21.2 // indirect - github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.27.2 // 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.29.2 // 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/scf v0.8.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/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.5.3 // indirect - github.com/stackitcloud/stackit-sdk-go/services/sfs v0.10.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/ske v1.14.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.10.0 // indirect - github.com/stackitcloud/terraform-provider-stackit v0.96.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/ske v1.18.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.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 + github.com/stackitcloud/terraform-provider-stackit v0.99.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 @@ -262,7 +266,7 @@ require ( go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.50.0 // indirect golang.org/x/exp v0.0.0-20260410095643-746e56fc9e2f // indirect - golang.org/x/mod v0.35.0 // indirect + golang.org/x/mod v0.36.0 // indirect golang.org/x/net v0.53.0 // indirect golang.org/x/oauth2 v0.36.0 // indirect golang.org/x/sync v0.20.0 // indirect diff --git a/provider/go.sum b/provider/go.sum index 4f56c92..f29eb99 100644 --- a/provider/go.sum +++ b/provider/go.sum @@ -652,48 +652,50 @@ github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.2 h1:b7WJ/vw 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.6.2 h1:ERtEiDYvT1BYCHzqMk2RUdD7o/9dkpa/60s1QVol3yI= -github.com/stackitcloud/stackit-sdk-go/services/certificates v1.6.2/go.mod h1:eJpB3/pukz+KzVPVHQ4g3DVtQkxGga18VbFBhq9ugdY= +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/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/iaas v1.11.1 h1:HcKqjwIjv4OAW1aWI0U/JWjnzTwzSvdr6DLasH940EU= -github.com/stackitcloud/stackit-sdk-go/services/iaas v1.11.1/go.mod h1:Ts06id0KejUlQWbpR+/rm+tKng6QkTuFV1VQTPJ4dA4= +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.9.0 h1:EnQITTmgKp4qDJTIKAWlomQCQPKook7xts1iqzJz9/A= -github.com/stackitcloud/stackit-sdk-go/services/kms v1.9.0/go.mod h1:pVaCmb1ZHAPGVRlSlBlVOjThp9Tb2sX9+nRX0M+d1KU= +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.28.2 h1:vpm7au3Asqn3F5NwqKZjoYq4p8lSGuxIbajvFvIZ1YU= -github.com/stackitcloud/stackit-sdk-go/services/logme v0.28.2/go.mod h1:JDOOYaGgcBts2x52nKPRMFgSZe7qqOFmfz1xIXCQgRY= +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.28.2 h1:V1NyFrmtUlikjS5Zl1ml14++G7lvlEBTfF+v48cchwg= -github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.28.2/go.mod h1:joa89Y1dyn0j22FstRcIKfW2ada3FDxNfttxSvq27uY= -github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.9.2 h1:JKQj6wvlUuXhGd4/qw2nsNcXbkmtgAYzniqTg7q4Gvw= -github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.9.2/go.mod h1:u7T85YqoqncJevbPU1ODKthbmxxEh1zw+bVaAO8v0Sg= -github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.8.3 h1:QW//diMedJX1o4HQV+NSWT3we7Xlly+ReWcaQqwwG90= -github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.8.3/go.mod h1:0hHEPiOEMAA23EzEl42Rm3FlyKIzkW+LWLvDkuFTZ+Q= +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/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.21.2 h1:iHcHPaRFpVaXXio0uuVkPtbnEHwClKioFdn9W72ZmYU= -github.com/stackitcloud/stackit-sdk-go/services/observability v0.21.2/go.mod h1:0fEZQHm729mBdvg4sNrAhM6KmHROHJSeS2FwCMRk46k= -github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.27.2 h1:2BH61+gyc2Jq4stX3L731JIb6VKK8JJcx4c1h+esPPo= -github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.27.2/go.mod h1:L+NlfC1hilLOqlLLukCj/UDnxlnNrc/oMikcw3Ansyw= +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.29.2 h1:p+B3NbuH27Dmi5iM88b/YHXd0fcI3Bc81AsRTOjIK6U= -github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.29.2/go.mod h1:TwfVVynB/+AKbccSOLk2qZpPL1tdK43BBAiACP6EtSg= +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/scf v0.8.0 h1:3m9+KZ3pqH8Bj8OejwtVjAkBduxWHWio50FBiJ5enks= -github.com/stackitcloud/stackit-sdk-go/services/scf v0.8.0/go.mod h1:w3rXz3Klz5XxpI7eXpvZTYlu8LQkZJiFxKg6DNBgenQ= +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= @@ -702,16 +704,22 @@ github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.5.2 h1:6C/iTPoYP 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.5.3 h1:LM/u2bnB5B9xhSX8S3fC5gYu3VPvWZa+xDndhpI2jc4= -github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.5.3/go.mod h1:fXq3TmVLb4JMSve989NFFViMFoYa83s7M3hJWgN6mdQ= -github.com/stackitcloud/stackit-sdk-go/services/sfs v0.10.0 h1:xqYelSLm+zxaN0H2EIHXptMTF4ehWrUUlXxQMklXlU0= -github.com/stackitcloud/stackit-sdk-go/services/sfs v0.10.0/go.mod h1:jMlBoXqrPNX5nXbo6oT7exalqilw1jiLPoIp4Cn0CdI= -github.com/stackitcloud/stackit-sdk-go/services/ske v1.14.0 h1:Zy3yxmHzW+ydu1naeESMh8psXhUglkOHZ+/F3SJMwX8= -github.com/stackitcloud/stackit-sdk-go/services/ske v1.14.0/go.mod h1:TbqmZhLMofmfl+HhVl6oHYcI3zvXTm1vRjN3A/fOkM4= -github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.10.0 h1:angvO3z0TGqZtdwTDsG/tgTw9hxB76A6leUsiUXQtME= -github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.10.0/go.mod h1:AiUoMAqQcOlMgDtkVJlqI7P/VGD5xjN3dYjERGnwN/M= -github.com/stackitcloud/terraform-provider-stackit v0.96.0 h1:zyTo6hLkn9EVxkQ8RfiqMJmOMd5I+fMgSzflUaw585g= -github.com/stackitcloud/terraform-provider-stackit v0.96.0/go.mod h1:gsG33uWKgzHRdLYlwQ8V+MUODkVqSyZYc9B/ZGrvMyQ= +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/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/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/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= @@ -853,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.35.0 h1:Ww1D637e6Pg+Zb2KrWfHQUnH2dQRLBQyAtpr/haaJeM= -golang.org/x/mod v0.35.0/go.mod h1:+GwiRhIInF8wPm+4AoT6L0FA1QWAad3OMdTRx4tFYlU= +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.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= diff --git a/provider/shim/go.mod b/provider/shim/go.mod index f5ed7ce..ef0049e 100644 --- a/provider/shim/go.mod +++ b/provider/shim/go.mod @@ -2,20 +2,23 @@ module github.com/stackitcloud/pulumi-stackit/provider/shim go 1.26.0 -require github.com/stackitcloud/terraform-provider-stackit v0.96.0 +require github.com/stackitcloud/terraform-provider-stackit v0.99.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.6.2 // indirect + github.com/stackitcloud/stackit-sdk-go/services/certificates v1.7.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.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/scf v0.8.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/sfs v0.10.0 // indirect - golang.org/x/tools v0.44.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/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 google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9 // indirect google.golang.org/grpc v1.80.0 // indirect ) @@ -38,29 +41,29 @@ require ( 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/iaas v1.11.1 // 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.28.2 // indirect - github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.28.2 // indirect - github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.9.2 // indirect - github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.8.3 // 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/objectstorage v1.9.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/observability v0.21.2 // indirect - github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.27.2 // 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.29.2 // 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/secretsmanager v0.18.1 // indirect github.com/stackitcloud/stackit-sdk-go/services/serverbackup v1.6.2 // 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.5.3 // indirect - github.com/stackitcloud/stackit-sdk-go/services/ske v1.14.0 // indirect - github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.10.0 // indirect + github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.6.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/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.35.0 // indirect + golang.org/x/mod v0.36.0 // indirect golang.org/x/sys v0.43.0 // indirect ) diff --git a/provider/shim/go.sum b/provider/shim/go.sum index 501f402..a324c94 100644 --- a/provider/shim/go.sum +++ b/provider/shim/go.sum @@ -91,48 +91,50 @@ github.com/stackitcloud/stackit-sdk-go/services/authorization v0.15.2 h1:b7WJ/vw 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.6.2 h1:ERtEiDYvT1BYCHzqMk2RUdD7o/9dkpa/60s1QVol3yI= -github.com/stackitcloud/stackit-sdk-go/services/certificates v1.6.2/go.mod h1:eJpB3/pukz+KzVPVHQ4g3DVtQkxGga18VbFBhq9ugdY= +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/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/iaas v1.11.1 h1:HcKqjwIjv4OAW1aWI0U/JWjnzTwzSvdr6DLasH940EU= -github.com/stackitcloud/stackit-sdk-go/services/iaas v1.11.1/go.mod h1:Ts06id0KejUlQWbpR+/rm+tKng6QkTuFV1VQTPJ4dA4= +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.9.0 h1:EnQITTmgKp4qDJTIKAWlomQCQPKook7xts1iqzJz9/A= -github.com/stackitcloud/stackit-sdk-go/services/kms v1.9.0/go.mod h1:pVaCmb1ZHAPGVRlSlBlVOjThp9Tb2sX9+nRX0M+d1KU= +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.28.2 h1:vpm7au3Asqn3F5NwqKZjoYq4p8lSGuxIbajvFvIZ1YU= -github.com/stackitcloud/stackit-sdk-go/services/logme v0.28.2/go.mod h1:JDOOYaGgcBts2x52nKPRMFgSZe7qqOFmfz1xIXCQgRY= +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.28.2 h1:V1NyFrmtUlikjS5Zl1ml14++G7lvlEBTfF+v48cchwg= -github.com/stackitcloud/stackit-sdk-go/services/mariadb v0.28.2/go.mod h1:joa89Y1dyn0j22FstRcIKfW2ada3FDxNfttxSvq27uY= -github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.9.2 h1:JKQj6wvlUuXhGd4/qw2nsNcXbkmtgAYzniqTg7q4Gvw= -github.com/stackitcloud/stackit-sdk-go/services/modelserving v0.9.2/go.mod h1:u7T85YqoqncJevbPU1ODKthbmxxEh1zw+bVaAO8v0Sg= -github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.8.3 h1:QW//diMedJX1o4HQV+NSWT3we7Xlly+ReWcaQqwwG90= -github.com/stackitcloud/stackit-sdk-go/services/mongodbflex v1.8.3/go.mod h1:0hHEPiOEMAA23EzEl42Rm3FlyKIzkW+LWLvDkuFTZ+Q= +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/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.21.2 h1:iHcHPaRFpVaXXio0uuVkPtbnEHwClKioFdn9W72ZmYU= -github.com/stackitcloud/stackit-sdk-go/services/observability v0.21.2/go.mod h1:0fEZQHm729mBdvg4sNrAhM6KmHROHJSeS2FwCMRk46k= -github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.27.2 h1:2BH61+gyc2Jq4stX3L731JIb6VKK8JJcx4c1h+esPPo= -github.com/stackitcloud/stackit-sdk-go/services/opensearch v0.27.2/go.mod h1:L+NlfC1hilLOqlLLukCj/UDnxlnNrc/oMikcw3Ansyw= +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.29.2 h1:p+B3NbuH27Dmi5iM88b/YHXd0fcI3Bc81AsRTOjIK6U= -github.com/stackitcloud/stackit-sdk-go/services/rabbitmq v0.29.2/go.mod h1:TwfVVynB/+AKbccSOLk2qZpPL1tdK43BBAiACP6EtSg= +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/scf v0.8.0 h1:3m9+KZ3pqH8Bj8OejwtVjAkBduxWHWio50FBiJ5enks= -github.com/stackitcloud/stackit-sdk-go/services/scf v0.8.0/go.mod h1:w3rXz3Klz5XxpI7eXpvZTYlu8LQkZJiFxKg6DNBgenQ= +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= @@ -141,16 +143,22 @@ github.com/stackitcloud/stackit-sdk-go/services/serverupdate v1.5.2 h1:6C/iTPoYP 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.5.3 h1:LM/u2bnB5B9xhSX8S3fC5gYu3VPvWZa+xDndhpI2jc4= -github.com/stackitcloud/stackit-sdk-go/services/serviceenablement v1.5.3/go.mod h1:fXq3TmVLb4JMSve989NFFViMFoYa83s7M3hJWgN6mdQ= -github.com/stackitcloud/stackit-sdk-go/services/sfs v0.10.0 h1:xqYelSLm+zxaN0H2EIHXptMTF4ehWrUUlXxQMklXlU0= -github.com/stackitcloud/stackit-sdk-go/services/sfs v0.10.0/go.mod h1:jMlBoXqrPNX5nXbo6oT7exalqilw1jiLPoIp4Cn0CdI= -github.com/stackitcloud/stackit-sdk-go/services/ske v1.14.0 h1:Zy3yxmHzW+ydu1naeESMh8psXhUglkOHZ+/F3SJMwX8= -github.com/stackitcloud/stackit-sdk-go/services/ske v1.14.0/go.mod h1:TbqmZhLMofmfl+HhVl6oHYcI3zvXTm1vRjN3A/fOkM4= -github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.10.0 h1:angvO3z0TGqZtdwTDsG/tgTw9hxB76A6leUsiUXQtME= -github.com/stackitcloud/stackit-sdk-go/services/sqlserverflex v1.10.0/go.mod h1:AiUoMAqQcOlMgDtkVJlqI7P/VGD5xjN3dYjERGnwN/M= -github.com/stackitcloud/terraform-provider-stackit v0.96.0 h1:zyTo6hLkn9EVxkQ8RfiqMJmOMd5I+fMgSzflUaw585g= -github.com/stackitcloud/terraform-provider-stackit v0.96.0/go.mod h1:gsG33uWKgzHRdLYlwQ8V+MUODkVqSyZYc9B/ZGrvMyQ= +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/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/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/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= @@ -165,8 +173,8 @@ github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAh github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= github.com/zclconf/go-cty v1.18.1 h1:yEGE8M4iIZlyKQURZNb2SnEyZlZHUcBCnx6KF81KuwM= golang.org/x/crypto v0.50.0 h1:zO47/JPrL6vsNkINmLoo/PH1gcxpls50DNogFvB5ZGI= -golang.org/x/mod v0.35.0 h1:Ww1D637e6Pg+Zb2KrWfHQUnH2dQRLBQyAtpr/haaJeM= -golang.org/x/mod v0.35.0/go.mod h1:+GwiRhIInF8wPm+4AoT6L0FA1QWAad3OMdTRx4tFYlU= +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/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= From 0a0cac587f89c109841ac2876ed575f5527d1b0b Mon Sep 17 00:00:00 2001 From: Pulumi Generator Bot Date: Thu, 18 Jun 2026 07:03:22 +0000 Subject: [PATCH 2/2] make generate_sdks --- sdk/dotnet/Config/Config.cs | 42 +- sdk/dotnet/DremioInstance.cs | 205 + sdk/dotnet/DremioUser.cs | 289 + sdk/dotnet/GetDremioInstance.cs | 199 + sdk/dotnet/GetDremioUser.cs | 228 + sdk/dotnet/GetLogsInstance.cs | 2 +- sdk/dotnet/GetServiceAccount.cs | 6 +- ...ServiceAccountFederatedIdentityProvider.cs | 6 +- sdk/dotnet/GetServiceAccounts.cs | 6 +- sdk/dotnet/GetSfsExportPolicy.cs | 7 + sdk/dotnet/GetSfsResourcePool.cs | 7 + sdk/dotnet/GetSfsShare.cs | 7 + sdk/dotnet/GetTelemetrylink.cs | 188 + sdk/dotnet/GetTelemetryrouterAccessToken.cs | 210 + sdk/dotnet/GetTelemetryrouterDestination.cs | 217 + sdk/dotnet/GetTelemetryrouterInstance.cs | 195 + sdk/dotnet/GetVpnGateway.cs | 180 + .../DremioInstanceAuthenticationArgs.cs | 38 + ...DremioInstanceAuthenticationAzureadArgs.cs | 54 + ...mioInstanceAuthenticationAzureadGetArgs.cs | 54 + .../DremioInstanceAuthenticationGetArgs.cs | 38 + .../DremioInstanceAuthenticationOauthArgs.cs | 78 + ...remioInstanceAuthenticationOauthGetArgs.cs | 78 + ...nstanceAuthenticationOauthJwtClaimsArgs.cs | 26 + ...anceAuthenticationOauthJwtClaimsGetArgs.cs | 26 + ...nstanceAuthenticationOauthParameterArgs.cs | 32 + ...anceAuthenticationOauthParameterGetArgs.cs | 32 + .../Inputs/DremioInstanceEndpointsArgs.cs | 38 + .../Inputs/DremioInstanceEndpointsGetArgs.cs | 38 + .../Inputs/DremioInstanceTimeoutsArgs.cs | 44 + .../Inputs/DremioInstanceTimeoutsGetArgs.cs | 44 + sdk/dotnet/Inputs/DremioUserTimeoutsArgs.cs | 44 + .../Inputs/DremioUserTimeoutsGetArgs.cs | 44 + .../Inputs/MongodbflexInstanceStorageArgs.cs | 7 + .../MongodbflexInstanceStorageGetArgs.cs | 7 + .../Inputs/PostgresflexInstanceStorageArgs.cs | 7 + .../PostgresflexInstanceStorageGetArgs.cs | 7 + .../SqlserverflexInstanceStorageArgs.cs | 7 + .../SqlserverflexInstanceStorageGetArgs.cs | 7 + .../TelemetryrouterDestinationConfigArgs.cs | 44 + ...emetryrouterDestinationConfigFilterArgs.cs | 32 + ...terDestinationConfigFilterAttributeArgs.cs | 50 + ...DestinationConfigFilterAttributeGetArgs.cs | 50 + ...tryrouterDestinationConfigFilterGetArgs.cs | 32 + ...TelemetryrouterDestinationConfigGetArgs.cs | 44 + ...outerDestinationConfigOpentelemetryArgs.cs | 48 + ...inationConfigOpentelemetryBasicAuthArgs.cs | 42 + ...tionConfigOpentelemetryBasicAuthGetArgs.cs | 42 + ...erDestinationConfigOpentelemetryGetArgs.cs | 48 + ...yrouterDestinationConfigS3AccessKeyArgs.cs | 42 + ...uterDestinationConfigS3AccessKeyGetArgs.cs | 42 + .../TelemetryrouterDestinationConfigS3Args.cs | 38 + ...lemetryrouterDestinationConfigS3GetArgs.cs | 38 + .../TelemetryrouterInstanceFilterArgs.cs | 32 + ...emetryrouterInstanceFilterAttributeArgs.cs | 50 + ...tryrouterInstanceFilterAttributeGetArgs.cs | 50 + .../TelemetryrouterInstanceFilterGetArgs.cs | 32 + .../Inputs/VpnGatewayAvailabilityZonesArgs.cs | 32 + .../VpnGatewayAvailabilityZonesGetArgs.cs | 32 + sdk/dotnet/Inputs/VpnGatewayBgpArgs.cs | 38 + sdk/dotnet/Inputs/VpnGatewayBgpGetArgs.cs | 38 + sdk/dotnet/LogsAccessToken.cs | 30 + sdk/dotnet/LogsInstance.cs | 4 +- sdk/dotnet/MariadbCredential.cs | 30 + sdk/dotnet/MongodbflexUser.cs | 30 + sdk/dotnet/ObjectstorageCredential.cs | 30 + sdk/dotnet/ObservabilityCredential.cs | 30 + sdk/dotnet/OpensearchCredential.cs | 30 + .../Outputs/DremioInstanceAuthentication.cs | 42 + .../DremioInstanceAuthenticationAzuread.cs | 49 + .../DremioInstanceAuthenticationOauth.cs | 70 + ...mioInstanceAuthenticationOauthJwtClaims.cs | 27 + ...mioInstanceAuthenticationOauthParameter.cs | 35 + sdk/dotnet/Outputs/DremioInstanceEndpoints.cs | 42 + sdk/dotnet/Outputs/DremioInstanceTimeouts.cs | 49 + sdk/dotnet/Outputs/DremioUserTimeouts.cs | 49 + ...emioInstanceAuthenticationAzureadResult.cs | 49 + ...tanceAuthenticationOauthJwtClaimsResult.cs | 27 + ...tanceAuthenticationOauthParameterResult.cs | 35 + ...DremioInstanceAuthenticationOauthResult.cs | 70 + .../GetDremioInstanceAuthenticationResult.cs | 42 + .../GetDremioInstanceEndpointsResult.cs | 42 + ...rDestinationConfigFilterAttributeResult.cs | 49 + ...etryrouterDestinationConfigFilterResult.cs | 27 + ...terDestinationConfigOpentelemetryResult.cs | 27 + ...tTelemetryrouterDestinationConfigResult.cs | 49 + ...elemetryrouterDestinationConfigS3Result.cs | 35 + ...etryrouterInstanceFilterAttributeResult.cs | 49 + .../GetTelemetryrouterInstanceFilterResult.cs | 27 + .../GetVpnGatewayAvailabilityZonesResult.cs | 35 + sdk/dotnet/Outputs/GetVpnGatewayBgpResult.cs | 35 + .../Outputs/MongodbflexInstanceStorage.cs | 7 + .../Outputs/PostgresflexInstanceStorage.cs | 7 + .../Outputs/SqlserverflexInstanceStorage.cs | 7 + .../TelemetryrouterDestinationConfig.cs | 49 + .../TelemetryrouterDestinationConfigFilter.cs | 27 + ...yrouterDestinationConfigFilterAttribute.cs | 49 + ...tryrouterDestinationConfigOpentelemetry.cs | 42 + ...DestinationConfigOpentelemetryBasicAuth.cs | 35 + .../TelemetryrouterDestinationConfigS3.cs | 42 + ...metryrouterDestinationConfigS3AccessKey.cs | 35 + .../Outputs/TelemetryrouterInstanceFilter.cs | 27 + .../TelemetryrouterInstanceFilterAttribute.cs | 49 + .../Outputs/VpnGatewayAvailabilityZones.cs | 35 + sdk/dotnet/Outputs/VpnGatewayBgp.cs | 35 + sdk/dotnet/PostgresflexUser.cs | 30 + sdk/dotnet/Provider.cs | 50 +- sdk/dotnet/Pulumi.Stackit.csproj | 2 +- sdk/dotnet/RabbitmqCredential.cs | 30 + sdk/dotnet/RedisCredential.cs | 30 + sdk/dotnet/SecretsmanagerUser.cs | 30 + sdk/dotnet/ServiceAccount.cs | 2 +- ...ServiceAccountFederatedIdentityProvider.cs | 2 +- sdk/dotnet/ServiceAccountKey.cs | 2 +- sdk/dotnet/SfsExportPolicy.cs | 30 + sdk/dotnet/SfsResourcePool.cs | 30 + sdk/dotnet/SfsShare.cs | 30 + sdk/dotnet/SqlserverflexUser.cs | 30 + sdk/dotnet/Telemetrylink.cs | 254 + sdk/dotnet/TelemetryrouterAccessToken.cs | 262 + sdk/dotnet/TelemetryrouterDestination.cs | 236 + sdk/dotnet/TelemetryrouterInstance.cs | 218 + sdk/dotnet/VpnGateway.cs | 248 + sdk/go/stackit/config/config.go | 22 +- sdk/go/stackit/dremioInstance.go | 320 + sdk/go/stackit/dremioUser.go | 385 + sdk/go/stackit/getDremioInstance.go | 143 + sdk/go/stackit/getDremioUser.go | 161 + sdk/go/stackit/getLogsInstance.go | 4 +- sdk/go/stackit/getServiceAccount.go | 2 +- ...ServiceAccountFederatedIdentityProvider.go | 2 +- sdk/go/stackit/getServiceAccounts.go | 2 +- sdk/go/stackit/getSfsExportPolicy.go | 7 + sdk/go/stackit/getSfsResourcePool.go | 7 + sdk/go/stackit/getSfsShare.go | 7 + sdk/go/stackit/getTelemetrylink.go | 144 + .../stackit/getTelemetryrouterAccessToken.go | 155 + .../stackit/getTelemetryrouterDestination.go | 162 + sdk/go/stackit/getTelemetryrouterInstance.go | 151 + sdk/go/stackit/getVpnGateway.go | 147 + sdk/go/stackit/init.go | 49 + sdk/go/stackit/logsAccessToken.go | 15 + sdk/go/stackit/logsInstance.go | 8 +- sdk/go/stackit/mariadbCredential.go | 27 +- sdk/go/stackit/mongodbflexUser.go | 29 +- sdk/go/stackit/objectstorageCredential.go | 27 +- sdk/go/stackit/observabilityCredential.go | 15 + sdk/go/stackit/opensearchCredential.go | 33 +- sdk/go/stackit/postgresflexUser.go | 29 +- sdk/go/stackit/provider.go | 48 +- sdk/go/stackit/pulumiTypes.go | 21983 ++++++++++------ sdk/go/stackit/rabbitmqCredential.go | 37 +- sdk/go/stackit/redisCredential.go | 15 + sdk/go/stackit/secretsmanagerUser.go | 15 + sdk/go/stackit/serviceAccount.go | 2 +- ...serviceAccountFederatedIdentityProvider.go | 2 +- sdk/go/stackit/serviceAccountKey.go | 2 +- sdk/go/stackit/sfsExportPolicy.go | 15 + sdk/go/stackit/sfsResourcePool.go | 15 + sdk/go/stackit/sfsShare.go | 15 + sdk/go/stackit/sqlserverflexUser.go | 15 + sdk/go/stackit/telemetrylink.go | 349 + sdk/go/stackit/telemetryrouterAccessToken.go | 361 + sdk/go/stackit/telemetryrouterDestination.go | 349 + sdk/go/stackit/telemetryrouterInstance.go | 328 + sdk/go/stackit/vpnGateway.go | 349 + sdk/nodejs/config/vars.ts | 46 +- sdk/nodejs/dremioInstance.ts | 180 + sdk/nodejs/dremioUser.ts | 237 + sdk/nodejs/getDremioInstance.ts | 122 + sdk/nodejs/getDremioUser.ts | 138 + sdk/nodejs/getLogsInstance.ts | 2 +- sdk/nodejs/getServiceAccount.ts | 4 +- ...ServiceAccountFederatedIdentityProvider.ts | 4 +- sdk/nodejs/getServiceAccounts.ts | 4 +- sdk/nodejs/getSfsExportPolicy.ts | 4 + sdk/nodejs/getSfsResourcePool.ts | 4 + sdk/nodejs/getSfsShare.ts | 4 + sdk/nodejs/getTelemetrylink.ts | 110 + sdk/nodejs/getTelemetryrouterAccessToken.ts | 124 + sdk/nodejs/getTelemetryrouterDestination.ts | 130 + sdk/nodejs/getTelemetryrouterInstance.ts | 116 + sdk/nodejs/getVpnGateway.ts | 106 + sdk/nodejs/index.ts | 91 + sdk/nodejs/logsAccessToken.ts | 14 + sdk/nodejs/logsInstance.ts | 4 +- sdk/nodejs/mariadbCredential.ts | 14 + sdk/nodejs/mongodbflexUser.ts | 14 + sdk/nodejs/objectstorageCredential.ts | 14 + sdk/nodejs/observabilityCredential.ts | 14 + sdk/nodejs/opensearchCredential.ts | 14 + sdk/nodejs/postgresflexUser.ts | 14 + sdk/nodejs/provider.ts | 38 +- sdk/nodejs/rabbitmqCredential.ts | 14 + sdk/nodejs/redisCredential.ts | 14 + sdk/nodejs/secretsmanagerUser.ts | 14 + sdk/nodejs/serviceAccount.ts | 2 +- ...serviceAccountFederatedIdentityProvider.ts | 2 +- sdk/nodejs/serviceAccountKey.ts | 2 +- sdk/nodejs/sfsExportPolicy.ts | 14 + sdk/nodejs/sfsResourcePool.ts | 14 + sdk/nodejs/sfsShare.ts | 14 + sdk/nodejs/sqlserverflexUser.ts | 14 + sdk/nodejs/telemetrylink.ts | 204 + sdk/nodejs/telemetryrouterAccessToken.ts | 217 + sdk/nodejs/telemetryrouterDestination.ts | 210 + sdk/nodejs/telemetryrouterInstance.ts | 190 + sdk/nodejs/tsconfig.json | 16 +- sdk/nodejs/types/input.ts | 302 + sdk/nodejs/types/output.ts | 511 + sdk/nodejs/vpnGateway.ts | 211 + sdk/python/pulumi_stackit/__init__.py | 70 + sdk/python/pulumi_stackit/_inputs.py | 5502 ++-- sdk/python/pulumi_stackit/config/__init__.pyi | 22 +- sdk/python/pulumi_stackit/config/vars.py | 30 +- sdk/python/pulumi_stackit/dremio_instance.py | 446 + sdk/python/pulumi_stackit/dremio_user.py | 611 + .../pulumi_stackit/get_dremio_instance.py | 205 + sdk/python/pulumi_stackit/get_dremio_user.py | 238 + .../pulumi_stackit/get_logs_instance.py | 2 +- .../pulumi_stackit/get_service_account.py | 4 +- ...ice_account_federated_identity_provider.py | 4 +- .../pulumi_stackit/get_service_accounts.py | 4 +- .../pulumi_stackit/get_sfs_export_policy.py | 16 +- .../pulumi_stackit/get_sfs_resource_pool.py | 16 +- sdk/python/pulumi_stackit/get_sfs_share.py | 16 +- .../pulumi_stackit/get_telemetrylink.py | 208 + .../get_telemetryrouter_access_token.py | 228 + .../get_telemetryrouter_destination.py | 243 + .../get_telemetryrouter_instance.py | 223 + sdk/python/pulumi_stackit/get_vpn_gateway.py | 217 + .../pulumi_stackit/logs_access_token.py | 49 +- sdk/python/pulumi_stackit/logs_instance.py | 8 +- .../pulumi_stackit/mariadb_credential.py | 49 +- sdk/python/pulumi_stackit/mongodbflex_user.py | 47 + .../objectstorage_credential.py | 49 +- .../observability_credential.py | 49 +- .../pulumi_stackit/opensearch_credential.py | 49 +- sdk/python/pulumi_stackit/outputs.py | 1711 +- .../pulumi_stackit/postgresflex_user.py | 49 +- sdk/python/pulumi_stackit/provider.py | 120 +- .../pulumi_stackit/rabbitmq_credential.py | 49 +- sdk/python/pulumi_stackit/redis_credential.py | 49 +- .../pulumi_stackit/secretsmanager_user.py | 49 +- sdk/python/pulumi_stackit/service_account.py | 4 +- ...ice_account_federated_identity_provider.py | 4 +- .../pulumi_stackit/service_account_key.py | 4 +- .../pulumi_stackit/sfs_export_policy.py | 47 + .../pulumi_stackit/sfs_resource_pool.py | 47 + sdk/python/pulumi_stackit/sfs_share.py | 47 + .../pulumi_stackit/sqlserverflex_user.py | 49 +- sdk/python/pulumi_stackit/telemetrylink.py | 503 + .../telemetryrouter_access_token.py | 539 + .../telemetryrouter_destination.py | 512 + .../telemetryrouter_instance.py | 463 + sdk/python/pulumi_stackit/vpn_gateway.py | 523 + 256 files changed, 38566 insertions(+), 11039 deletions(-) create mode 100644 sdk/dotnet/DremioInstance.cs create mode 100644 sdk/dotnet/DremioUser.cs create mode 100644 sdk/dotnet/GetDremioInstance.cs create mode 100644 sdk/dotnet/GetDremioUser.cs create mode 100644 sdk/dotnet/GetTelemetrylink.cs create mode 100644 sdk/dotnet/GetTelemetryrouterAccessToken.cs create mode 100644 sdk/dotnet/GetTelemetryrouterDestination.cs create mode 100644 sdk/dotnet/GetTelemetryrouterInstance.cs create mode 100644 sdk/dotnet/GetVpnGateway.cs create mode 100644 sdk/dotnet/Inputs/DremioInstanceAuthenticationArgs.cs create mode 100644 sdk/dotnet/Inputs/DremioInstanceAuthenticationAzureadArgs.cs create mode 100644 sdk/dotnet/Inputs/DremioInstanceAuthenticationAzureadGetArgs.cs create mode 100644 sdk/dotnet/Inputs/DremioInstanceAuthenticationGetArgs.cs create mode 100644 sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthArgs.cs create mode 100644 sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthGetArgs.cs create mode 100644 sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthJwtClaimsArgs.cs create mode 100644 sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthJwtClaimsGetArgs.cs create mode 100644 sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthParameterArgs.cs create mode 100644 sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthParameterGetArgs.cs create mode 100644 sdk/dotnet/Inputs/DremioInstanceEndpointsArgs.cs create mode 100644 sdk/dotnet/Inputs/DremioInstanceEndpointsGetArgs.cs create mode 100644 sdk/dotnet/Inputs/DremioInstanceTimeoutsArgs.cs create mode 100644 sdk/dotnet/Inputs/DremioInstanceTimeoutsGetArgs.cs create mode 100644 sdk/dotnet/Inputs/DremioUserTimeoutsArgs.cs create mode 100644 sdk/dotnet/Inputs/DremioUserTimeoutsGetArgs.cs create mode 100644 sdk/dotnet/Inputs/TelemetryrouterDestinationConfigArgs.cs create mode 100644 sdk/dotnet/Inputs/TelemetryrouterDestinationConfigFilterArgs.cs create mode 100644 sdk/dotnet/Inputs/TelemetryrouterDestinationConfigFilterAttributeArgs.cs create mode 100644 sdk/dotnet/Inputs/TelemetryrouterDestinationConfigFilterAttributeGetArgs.cs create mode 100644 sdk/dotnet/Inputs/TelemetryrouterDestinationConfigFilterGetArgs.cs create mode 100644 sdk/dotnet/Inputs/TelemetryrouterDestinationConfigGetArgs.cs create mode 100644 sdk/dotnet/Inputs/TelemetryrouterDestinationConfigOpentelemetryArgs.cs create mode 100644 sdk/dotnet/Inputs/TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs.cs create mode 100644 sdk/dotnet/Inputs/TelemetryrouterDestinationConfigOpentelemetryBasicAuthGetArgs.cs create mode 100644 sdk/dotnet/Inputs/TelemetryrouterDestinationConfigOpentelemetryGetArgs.cs create mode 100644 sdk/dotnet/Inputs/TelemetryrouterDestinationConfigS3AccessKeyArgs.cs create mode 100644 sdk/dotnet/Inputs/TelemetryrouterDestinationConfigS3AccessKeyGetArgs.cs create mode 100644 sdk/dotnet/Inputs/TelemetryrouterDestinationConfigS3Args.cs create mode 100644 sdk/dotnet/Inputs/TelemetryrouterDestinationConfigS3GetArgs.cs create mode 100644 sdk/dotnet/Inputs/TelemetryrouterInstanceFilterArgs.cs create mode 100644 sdk/dotnet/Inputs/TelemetryrouterInstanceFilterAttributeArgs.cs create mode 100644 sdk/dotnet/Inputs/TelemetryrouterInstanceFilterAttributeGetArgs.cs create mode 100644 sdk/dotnet/Inputs/TelemetryrouterInstanceFilterGetArgs.cs create mode 100644 sdk/dotnet/Inputs/VpnGatewayAvailabilityZonesArgs.cs create mode 100644 sdk/dotnet/Inputs/VpnGatewayAvailabilityZonesGetArgs.cs create mode 100644 sdk/dotnet/Inputs/VpnGatewayBgpArgs.cs create mode 100644 sdk/dotnet/Inputs/VpnGatewayBgpGetArgs.cs create mode 100644 sdk/dotnet/Outputs/DremioInstanceAuthentication.cs create mode 100644 sdk/dotnet/Outputs/DremioInstanceAuthenticationAzuread.cs create mode 100644 sdk/dotnet/Outputs/DremioInstanceAuthenticationOauth.cs create mode 100644 sdk/dotnet/Outputs/DremioInstanceAuthenticationOauthJwtClaims.cs create mode 100644 sdk/dotnet/Outputs/DremioInstanceAuthenticationOauthParameter.cs create mode 100644 sdk/dotnet/Outputs/DremioInstanceEndpoints.cs create mode 100644 sdk/dotnet/Outputs/DremioInstanceTimeouts.cs create mode 100644 sdk/dotnet/Outputs/DremioUserTimeouts.cs create mode 100644 sdk/dotnet/Outputs/GetDremioInstanceAuthenticationAzureadResult.cs create mode 100644 sdk/dotnet/Outputs/GetDremioInstanceAuthenticationOauthJwtClaimsResult.cs create mode 100644 sdk/dotnet/Outputs/GetDremioInstanceAuthenticationOauthParameterResult.cs create mode 100644 sdk/dotnet/Outputs/GetDremioInstanceAuthenticationOauthResult.cs create mode 100644 sdk/dotnet/Outputs/GetDremioInstanceAuthenticationResult.cs create mode 100644 sdk/dotnet/Outputs/GetDremioInstanceEndpointsResult.cs create mode 100644 sdk/dotnet/Outputs/GetTelemetryrouterDestinationConfigFilterAttributeResult.cs create mode 100644 sdk/dotnet/Outputs/GetTelemetryrouterDestinationConfigFilterResult.cs create mode 100644 sdk/dotnet/Outputs/GetTelemetryrouterDestinationConfigOpentelemetryResult.cs create mode 100644 sdk/dotnet/Outputs/GetTelemetryrouterDestinationConfigResult.cs create mode 100644 sdk/dotnet/Outputs/GetTelemetryrouterDestinationConfigS3Result.cs create mode 100644 sdk/dotnet/Outputs/GetTelemetryrouterInstanceFilterAttributeResult.cs create mode 100644 sdk/dotnet/Outputs/GetTelemetryrouterInstanceFilterResult.cs create mode 100644 sdk/dotnet/Outputs/GetVpnGatewayAvailabilityZonesResult.cs create mode 100644 sdk/dotnet/Outputs/GetVpnGatewayBgpResult.cs create mode 100644 sdk/dotnet/Outputs/TelemetryrouterDestinationConfig.cs create mode 100644 sdk/dotnet/Outputs/TelemetryrouterDestinationConfigFilter.cs create mode 100644 sdk/dotnet/Outputs/TelemetryrouterDestinationConfigFilterAttribute.cs create mode 100644 sdk/dotnet/Outputs/TelemetryrouterDestinationConfigOpentelemetry.cs create mode 100644 sdk/dotnet/Outputs/TelemetryrouterDestinationConfigOpentelemetryBasicAuth.cs create mode 100644 sdk/dotnet/Outputs/TelemetryrouterDestinationConfigS3.cs create mode 100644 sdk/dotnet/Outputs/TelemetryrouterDestinationConfigS3AccessKey.cs create mode 100644 sdk/dotnet/Outputs/TelemetryrouterInstanceFilter.cs create mode 100644 sdk/dotnet/Outputs/TelemetryrouterInstanceFilterAttribute.cs create mode 100644 sdk/dotnet/Outputs/VpnGatewayAvailabilityZones.cs create mode 100644 sdk/dotnet/Outputs/VpnGatewayBgp.cs create mode 100644 sdk/dotnet/Telemetrylink.cs create mode 100644 sdk/dotnet/TelemetryrouterAccessToken.cs create mode 100644 sdk/dotnet/TelemetryrouterDestination.cs create mode 100644 sdk/dotnet/TelemetryrouterInstance.cs create mode 100644 sdk/dotnet/VpnGateway.cs create mode 100644 sdk/go/stackit/dremioInstance.go create mode 100644 sdk/go/stackit/dremioUser.go create mode 100644 sdk/go/stackit/getDremioInstance.go create mode 100644 sdk/go/stackit/getDremioUser.go create mode 100644 sdk/go/stackit/getTelemetrylink.go create mode 100644 sdk/go/stackit/getTelemetryrouterAccessToken.go create mode 100644 sdk/go/stackit/getTelemetryrouterDestination.go create mode 100644 sdk/go/stackit/getTelemetryrouterInstance.go create mode 100644 sdk/go/stackit/getVpnGateway.go create mode 100644 sdk/go/stackit/telemetrylink.go create mode 100644 sdk/go/stackit/telemetryrouterAccessToken.go create mode 100644 sdk/go/stackit/telemetryrouterDestination.go create mode 100644 sdk/go/stackit/telemetryrouterInstance.go create mode 100644 sdk/go/stackit/vpnGateway.go create mode 100644 sdk/nodejs/dremioInstance.ts create mode 100644 sdk/nodejs/dremioUser.ts create mode 100644 sdk/nodejs/getDremioInstance.ts create mode 100644 sdk/nodejs/getDremioUser.ts create mode 100644 sdk/nodejs/getTelemetrylink.ts create mode 100644 sdk/nodejs/getTelemetryrouterAccessToken.ts create mode 100644 sdk/nodejs/getTelemetryrouterDestination.ts create mode 100644 sdk/nodejs/getTelemetryrouterInstance.ts create mode 100644 sdk/nodejs/getVpnGateway.ts create mode 100644 sdk/nodejs/telemetrylink.ts create mode 100644 sdk/nodejs/telemetryrouterAccessToken.ts create mode 100644 sdk/nodejs/telemetryrouterDestination.ts create mode 100644 sdk/nodejs/telemetryrouterInstance.ts create mode 100644 sdk/nodejs/vpnGateway.ts create mode 100644 sdk/python/pulumi_stackit/dremio_instance.py create mode 100644 sdk/python/pulumi_stackit/dremio_user.py create mode 100644 sdk/python/pulumi_stackit/get_dremio_instance.py create mode 100644 sdk/python/pulumi_stackit/get_dremio_user.py create mode 100644 sdk/python/pulumi_stackit/get_telemetrylink.py create mode 100644 sdk/python/pulumi_stackit/get_telemetryrouter_access_token.py create mode 100644 sdk/python/pulumi_stackit/get_telemetryrouter_destination.py create mode 100644 sdk/python/pulumi_stackit/get_telemetryrouter_instance.py create mode 100644 sdk/python/pulumi_stackit/get_vpn_gateway.py create mode 100644 sdk/python/pulumi_stackit/telemetrylink.py create mode 100644 sdk/python/pulumi_stackit/telemetryrouter_access_token.py create mode 100644 sdk/python/pulumi_stackit/telemetryrouter_destination.py create mode 100644 sdk/python/pulumi_stackit/telemetryrouter_instance.py create mode 100644 sdk/python/pulumi_stackit/vpn_gateway.py diff --git a/sdk/dotnet/Config/Config.cs b/sdk/dotnet/Config/Config.cs index ca755c6..ec142a5 100644 --- a/sdk/dotnet/Config/Config.cs +++ b/sdk/dotnet/Config/Config.cs @@ -102,6 +102,16 @@ public static string? DnsCustomEndpoint set => _dnsCustomEndpoint.Set(value); } + private static readonly __Value _dremioCustomEndpoint = new __Value(() => __config.Get("dremioCustomEndpoint")); + /// + /// Custom endpoint for the Dremio service + /// + public static string? DremioCustomEndpoint + { + get => _dremioCustomEndpoint.Get(); + set => _dremioCustomEndpoint.Set(value); + } + private static readonly __Value _edgecloudCustomEndpoint = new __Value(() => __config.Get("edgecloudCustomEndpoint")); /// /// Custom endpoint for the Edge Cloud service @@ -124,7 +134,7 @@ public static bool? EnableBetaResources private static readonly __Value> _experiments = new __Value>(() => __config.GetObject>("experiments")); /// - /// Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network + /// Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: dremio, iam, routing-tables, network /// public static ImmutableArray Experiments { @@ -502,6 +512,26 @@ public static string? SqlserverflexCustomEndpoint set => _sqlserverflexCustomEndpoint.Set(value); } + private static readonly __Value _telemetrylinkCustomEndpoint = new __Value(() => __config.Get("telemetrylinkCustomEndpoint")); + /// + /// Custom endpoint for the Telemetry Link service + /// + public static string? TelemetrylinkCustomEndpoint + { + get => _telemetrylinkCustomEndpoint.Get(); + set => _telemetrylinkCustomEndpoint.Set(value); + } + + private static readonly __Value _telemetryrouterCustomEndpoint = new __Value(() => __config.Get("telemetryrouterCustomEndpoint")); + /// + /// Custom endpoint for the Telemetry Router service + /// + public static string? TelemetryrouterCustomEndpoint + { + get => _telemetryrouterCustomEndpoint.Get(); + set => _telemetryrouterCustomEndpoint.Set(value); + } + private static readonly __Value _tokenCustomEndpoint = new __Value(() => __config.Get("tokenCustomEndpoint")); /// /// Custom endpoint for the token API, which is used to request access tokens when using the key flow @@ -522,5 +552,15 @@ public static bool? UseOidc set => _useOidc.Set(value); } + private static readonly __Value _vpnCustomEndpoint = new __Value(() => __config.Get("vpnCustomEndpoint")); + /// + /// Custom endpoint for the VPN service + /// + public static string? VpnCustomEndpoint + { + get => _vpnCustomEndpoint.Get(); + set => _vpnCustomEndpoint.Set(value); + } + } } diff --git a/sdk/dotnet/DremioInstance.cs b/sdk/dotnet/DremioInstance.cs new file mode 100644 index 0000000..975e864 --- /dev/null +++ b/sdk/dotnet/DremioInstance.cs @@ -0,0 +1,205 @@ +// *** 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 +{ + /// + /// Manages a STACKIT Dremio instance. + /// + /// > This resource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// + /// ## Example Usage + /// + [StackitResourceType("stackit:index/dremioInstance:DremioInstance")] + public partial class DremioInstance : global::Pulumi.CustomResource + { + /// + /// Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + /// + [Output("authentication")] + public Output Authentication { get; private set; } = null!; + + /// + /// The description is a longer text chosen by the user to provide more context for the resource. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The display name is a short name chosen by the user to identify the resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// The available endpoints of the Dremio instance. + /// + [Output("endpoints")] + public Output Endpoints { get; private set; } = null!; + + /// + /// The Dremio instance ID. + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// STACKIT Project ID to which the resource is associated. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + + /// + /// Create a DremioInstance 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 DremioInstance(string name, DremioInstanceArgs args, CustomResourceOptions? options = null) + : base("stackit:index/dremioInstance:DremioInstance", name, args ?? new DremioInstanceArgs(), MakeResourceOptions(options, "")) + { + } + + private DremioInstance(string name, Input id, DremioInstanceState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/dremioInstance:DremioInstance", 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 DremioInstance 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 DremioInstance Get(string name, Input id, DremioInstanceState? state = null, CustomResourceOptions? options = null) + { + return new DremioInstance(name, id, state, options); + } + } + + public sealed class DremioInstanceArgs : global::Pulumi.ResourceArgs + { + /// + /// Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + /// + [Input("authentication", required: true)] + public Input Authentication { get; set; } = null!; + + /// + /// The description is a longer text chosen by the user to provide more context for the resource. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The display name is a short name chosen by the user to identify the resource. + /// + [Input("displayName", required: true)] + public Input DisplayName { get; set; } = null!; + + /// + /// STACKIT Project ID to which the resource is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public DremioInstanceArgs() + { + } + public static new DremioInstanceArgs Empty => new DremioInstanceArgs(); + } + + public sealed class DremioInstanceState : global::Pulumi.ResourceArgs + { + /// + /// Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + /// + [Input("authentication")] + public Input? Authentication { get; set; } + + /// + /// The description is a longer text chosen by the user to provide more context for the resource. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The display name is a short name chosen by the user to identify the resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// The available endpoints of the Dremio instance. + /// + [Input("endpoints")] + public Input? Endpoints { get; set; } + + /// + /// The Dremio instance ID. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// STACKIT Project ID to which the resource is associated. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public DremioInstanceState() + { + } + public static new DremioInstanceState Empty => new DremioInstanceState(); + } +} diff --git a/sdk/dotnet/DremioUser.cs b/sdk/dotnet/DremioUser.cs new file mode 100644 index 0000000..22e8f81 --- /dev/null +++ b/sdk/dotnet/DremioUser.cs @@ -0,0 +1,289 @@ +// *** 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 +{ + /// + /// Manages a STACKIT Dremio instances user. + /// + /// > This resource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// + /// ## Example Usage + /// + [StackitResourceType("stackit:index/dremioUser:DremioUser")] + public partial class DremioUser : global::Pulumi.CustomResource + { + /// + /// The description of the user. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The email address of the user. + /// + [Output("email")] + public Output Email { get; private set; } = null!; + + /// + /// The first name of the user. + /// + [Output("firstName")] + public Output FirstName { get; private set; } = null!; + + /// + /// The Dremio instance ID. + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// The last name of the user. + /// + [Output("lastName")] + public Output LastName { get; private set; } = null!; + + /// + /// The username of the user. + /// + [Output("name")] + public Output Name { get; private set; } = null!; + + /// + /// The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character. + /// + [Output("password")] + public Output Password { get; private set; } = null!; + + /// + /// STACKIT Project ID to which the resource is associated. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + [Output("timeouts")] + public Output Timeouts { get; private set; } = null!; + + /// + /// The Dremio user ID. + /// + [Output("userId")] + public Output UserId { get; private set; } = null!; + + + /// + /// Create a DremioUser 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 DremioUser(string name, DremioUserArgs args, CustomResourceOptions? options = null) + : base("stackit:index/dremioUser:DremioUser", name, args ?? new DremioUserArgs(), MakeResourceOptions(options, "")) + { + } + + private DremioUser(string name, Input id, DremioUserState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/dremioUser:DremioUser", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/stackitcloud/pulumi-stackit", + AdditionalSecretOutputs = + { + "password", + }, + }; + 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 DremioUser 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 DremioUser Get(string name, Input id, DremioUserState? state = null, CustomResourceOptions? options = null) + { + return new DremioUser(name, id, state, options); + } + } + + public sealed class DremioUserArgs : global::Pulumi.ResourceArgs + { + /// + /// The description of the user. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The email address of the user. + /// + [Input("email", required: true)] + public Input Email { get; set; } = null!; + + /// + /// The first name of the user. + /// + [Input("firstName", required: true)] + public Input FirstName { get; set; } = null!; + + /// + /// The Dremio instance ID. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// The last name of the user. + /// + [Input("lastName", required: true)] + public Input LastName { get; set; } = null!; + + /// + /// The username of the user. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("password", required: true)] + private Input? _password; + + /// + /// The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character. + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// STACKIT Project ID to which the resource is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + public DremioUserArgs() + { + } + public static new DremioUserArgs Empty => new DremioUserArgs(); + } + + public sealed class DremioUserState : global::Pulumi.ResourceArgs + { + /// + /// The description of the user. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The email address of the user. + /// + [Input("email")] + public Input? Email { get; set; } + + /// + /// The first name of the user. + /// + [Input("firstName")] + public Input? FirstName { get; set; } + + /// + /// The Dremio instance ID. + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// The last name of the user. + /// + [Input("lastName")] + public Input? LastName { get; set; } + + /// + /// The username of the user. + /// + [Input("name")] + public Input? Name { get; set; } + + [Input("password")] + private Input? _password; + + /// + /// The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character. + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// STACKIT Project ID to which the resource is associated. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + [Input("timeouts")] + public Input? Timeouts { get; set; } + + /// + /// The Dremio user ID. + /// + [Input("userId")] + public Input? UserId { get; set; } + + public DremioUserState() + { + } + public static new DremioUserState Empty => new DremioUserState(); + } +} diff --git a/sdk/dotnet/GetDremioInstance.cs b/sdk/dotnet/GetDremioInstance.cs new file mode 100644 index 0000000..2cfa618 --- /dev/null +++ b/sdk/dotnet/GetDremioInstance.cs @@ -0,0 +1,199 @@ +// *** 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 GetDremioInstance + { + /// + /// Manages a STACKIT Dremio instance. + /// + /// > This datasource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_dremio_instance" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "example-instance-id" + /// } + /// ``` + /// + public static Task InvokeAsync(GetDremioInstanceArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getDremioInstance:getDremioInstance", args ?? new GetDremioInstanceArgs(), options.WithDefaults()); + + /// + /// Manages a STACKIT Dremio instance. + /// + /// > This datasource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_dremio_instance" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "example-instance-id" + /// } + /// ``` + /// + public static Output Invoke(GetDremioInstanceInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getDremioInstance:getDremioInstance", args ?? new GetDremioInstanceInvokeArgs(), options.WithDefaults()); + + /// + /// Manages a STACKIT Dremio instance. + /// + /// > This datasource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_dremio_instance" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "example-instance-id" + /// } + /// ``` + /// + public static Output Invoke(GetDremioInstanceInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getDremioInstance:getDremioInstance", args ?? new GetDremioInstanceInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDremioInstanceArgs : global::Pulumi.InvokeArgs + { + /// + /// The description is a longer text chosen by the user to provide more context for the resource. + /// + [Input("description")] + public string? Description { get; set; } + + /// + /// The Dremio instance ID. + /// + [Input("instanceId", required: true)] + public string InstanceId { get; set; } = null!; + + /// + /// STACKIT Project ID to which the resource is associated. + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + + public GetDremioInstanceArgs() + { + } + public static new GetDremioInstanceArgs Empty => new GetDremioInstanceArgs(); + } + + public sealed class GetDremioInstanceInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The description is a longer text chosen by the user to provide more context for the resource. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The Dremio instance ID. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// STACKIT Project ID to which the resource is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + public GetDremioInstanceInvokeArgs() + { + } + public static new GetDremioInstanceInvokeArgs Empty => new GetDremioInstanceInvokeArgs(); + } + + + [OutputType] + public sealed class GetDremioInstanceResult + { + /// + /// Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + /// + public readonly Outputs.GetDremioInstanceAuthenticationResult Authentication; + /// + /// The description is a longer text chosen by the user to provide more context for the resource. + /// + public readonly string Description; + /// + /// The display name is a short name chosen by the user to identify the resource. + /// + public readonly string DisplayName; + /// + /// The available endpoints of the Dremio instance. + /// + public readonly Outputs.GetDremioInstanceEndpointsResult Endpoints; + /// + /// Terraform's internal resource identifier. It is structured as "`ProjectId`,`Region`,`InstanceId`". + /// + public readonly string Id; + /// + /// The Dremio instance ID. + /// + public readonly string InstanceId; + /// + /// STACKIT Project ID to which the resource is associated. + /// + public readonly string ProjectId; + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + public readonly string? Region; + + [OutputConstructor] + private GetDremioInstanceResult( + Outputs.GetDremioInstanceAuthenticationResult authentication, + + string description, + + string displayName, + + Outputs.GetDremioInstanceEndpointsResult endpoints, + + string id, + + string instanceId, + + string projectId, + + string? region) + { + Authentication = authentication; + Description = description; + DisplayName = displayName; + Endpoints = endpoints; + Id = id; + InstanceId = instanceId; + ProjectId = projectId; + Region = region; + } + } +} diff --git a/sdk/dotnet/GetDremioUser.cs b/sdk/dotnet/GetDremioUser.cs new file mode 100644 index 0000000..3962e46 --- /dev/null +++ b/sdk/dotnet/GetDremioUser.cs @@ -0,0 +1,228 @@ +// *** 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 GetDremioUser + { + /// + /// Manages a STACKIT Dremio instances user. + /// + /// > This datasource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_dremio_user" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "example-instance-id" + /// user_id = "example-user-id" + /// } + /// ``` + /// + public static Task InvokeAsync(GetDremioUserArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getDremioUser:getDremioUser", args ?? new GetDremioUserArgs(), options.WithDefaults()); + + /// + /// Manages a STACKIT Dremio instances user. + /// + /// > This datasource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_dremio_user" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "example-instance-id" + /// user_id = "example-user-id" + /// } + /// ``` + /// + public static Output Invoke(GetDremioUserInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getDremioUser:getDremioUser", args ?? new GetDremioUserInvokeArgs(), options.WithDefaults()); + + /// + /// Manages a STACKIT Dremio instances user. + /// + /// > This datasource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + /// + /// ## Example Usage + /// + /// ```terraform + /// data "stackit_dremio_user" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "example-instance-id" + /// user_id = "example-user-id" + /// } + /// ``` + /// + public static Output Invoke(GetDremioUserInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getDremioUser:getDremioUser", args ?? new GetDremioUserInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetDremioUserArgs : global::Pulumi.InvokeArgs + { + /// + /// The description of the user. + /// + [Input("description")] + public string? Description { get; set; } + + /// + /// The Dremio instance ID. + /// + [Input("instanceId", required: true)] + public string InstanceId { get; set; } = null!; + + /// + /// STACKIT Project ID to which the resource is associated. + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + + /// + /// The Dremio user ID. + /// + [Input("userId", required: true)] + public string UserId { get; set; } = null!; + + public GetDremioUserArgs() + { + } + public static new GetDremioUserArgs Empty => new GetDremioUserArgs(); + } + + public sealed class GetDremioUserInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The description of the user. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The Dremio instance ID. + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// STACKIT Project ID to which the resource is associated. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// The Dremio user ID. + /// + [Input("userId", required: true)] + public Input UserId { get; set; } = null!; + + public GetDremioUserInvokeArgs() + { + } + public static new GetDremioUserInvokeArgs Empty => new GetDremioUserInvokeArgs(); + } + + + [OutputType] + public sealed class GetDremioUserResult + { + /// + /// The description of the user. + /// + public readonly string Description; + /// + /// The email address of the user. + /// + public readonly string Email; + /// + /// The first name of the user. + /// + public readonly string FirstName; + /// + /// Terraform's internal resource identifier. It is structured as "`ProjectId`,`Region`,`InstanceId`,`UserId`". + /// + public readonly string Id; + /// + /// The Dremio instance ID. + /// + public readonly string InstanceId; + /// + /// The last name of the user. + /// + public readonly string LastName; + /// + /// The username of the user. + /// + public readonly string Name; + /// + /// STACKIT Project ID to which the resource is associated. + /// + public readonly string ProjectId; + /// + /// The STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + public readonly string? Region; + /// + /// The Dremio user ID. + /// + public readonly string UserId; + + [OutputConstructor] + private GetDremioUserResult( + string description, + + string email, + + string firstName, + + string id, + + string instanceId, + + string lastName, + + string name, + + string projectId, + + string? region, + + string userId) + { + Description = description; + Email = email; + FirstName = firstName; + Id = id; + InstanceId = instanceId; + LastName = lastName; + Name = name; + ProjectId = projectId; + Region = region; + UserId = userId; + } + } +} diff --git a/sdk/dotnet/GetLogsInstance.cs b/sdk/dotnet/GetLogsInstance.cs index 7a64be5..096ce5a 100644 --- a/sdk/dotnet/GetLogsInstance.cs +++ b/sdk/dotnet/GetLogsInstance.cs @@ -174,7 +174,7 @@ public sealed class GetLogsInstanceResult /// public readonly int RetentionDays; /// - /// The status of the Logs instance, possible values: Possible values are: `Active`, `Deleting`, `Reconciling`. + /// The status of the Logs instance. Possible values are: `Active`, `Deleting`, `Reconciling`. /// public readonly string Status; diff --git a/sdk/dotnet/GetServiceAccount.cs b/sdk/dotnet/GetServiceAccount.cs index 0ca462a..1beb2d6 100644 --- a/sdk/dotnet/GetServiceAccount.cs +++ b/sdk/dotnet/GetServiceAccount.cs @@ -12,7 +12,7 @@ namespace Pulumi.Stackit public static class GetServiceAccount { /// - /// Service account data source schema. + /// Gets details about a STACKIT service account in a project by email. /// /// ## Example Usage /// @@ -27,7 +27,7 @@ public static Task InvokeAsync(GetServiceAccountArgs ar => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getServiceAccount:getServiceAccount", args ?? new GetServiceAccountArgs(), options.WithDefaults()); /// - /// Service account data source schema. + /// Gets details about a STACKIT service account in a project by email. /// /// ## Example Usage /// @@ -42,7 +42,7 @@ public static Output Invoke(GetServiceAccountInvokeArgs => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getServiceAccount:getServiceAccount", args ?? new GetServiceAccountInvokeArgs(), options.WithDefaults()); /// - /// Service account data source schema. + /// Gets details about a STACKIT service account in a project by email. /// /// ## Example Usage /// diff --git a/sdk/dotnet/GetServiceAccountFederatedIdentityProvider.cs b/sdk/dotnet/GetServiceAccountFederatedIdentityProvider.cs index 8f0087b..695af90 100644 --- a/sdk/dotnet/GetServiceAccountFederatedIdentityProvider.cs +++ b/sdk/dotnet/GetServiceAccountFederatedIdentityProvider.cs @@ -12,7 +12,7 @@ namespace Pulumi.Stackit public static class GetServiceAccountFederatedIdentityProvider { /// - /// Service account federated identity provider schema. + /// Gets details about a federated identity provider configured for a STACKIT service account. /// /// ## Example Usage /// @@ -33,7 +33,7 @@ public static Task InvokeAsync => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getServiceAccountFederatedIdentityProvider:getServiceAccountFederatedIdentityProvider", args ?? new GetServiceAccountFederatedIdentityProviderArgs(), options.WithDefaults()); /// - /// Service account federated identity provider schema. + /// Gets details about a federated identity provider configured for a STACKIT service account. /// /// ## Example Usage /// @@ -54,7 +54,7 @@ public static Output Invoke(Ge => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getServiceAccountFederatedIdentityProvider:getServiceAccountFederatedIdentityProvider", args ?? new GetServiceAccountFederatedIdentityProviderInvokeArgs(), options.WithDefaults()); /// - /// Service account federated identity provider schema. + /// Gets details about a federated identity provider configured for a STACKIT service account. /// /// ## Example Usage /// diff --git a/sdk/dotnet/GetServiceAccounts.cs b/sdk/dotnet/GetServiceAccounts.cs index 00d380a..604ff67 100644 --- a/sdk/dotnet/GetServiceAccounts.cs +++ b/sdk/dotnet/GetServiceAccounts.cs @@ -12,7 +12,7 @@ namespace Pulumi.Stackit public static class GetServiceAccounts { /// - /// Service accounts plural data source schema. Returns a list of all service accounts in a project, optionally filtered. + /// Lists STACKIT service accounts in a project, optionally filtered by email. /// /// ## Example Usage /// @@ -47,7 +47,7 @@ public static Task InvokeAsync(GetServiceAccountsArgs => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getServiceAccounts:getServiceAccounts", args ?? new GetServiceAccountsArgs(), options.WithDefaults()); /// - /// Service accounts plural data source schema. Returns a list of all service accounts in a project, optionally filtered. + /// Lists STACKIT service accounts in a project, optionally filtered by email. /// /// ## Example Usage /// @@ -82,7 +82,7 @@ public static Output Invoke(GetServiceAccountsInvokeAr => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getServiceAccounts:getServiceAccounts", args ?? new GetServiceAccountsInvokeArgs(), options.WithDefaults()); /// - /// Service accounts plural data source schema. Returns a list of all service accounts in a project, optionally filtered. + /// Lists STACKIT service accounts in a project, optionally filtered by email. /// /// ## Example Usage /// diff --git a/sdk/dotnet/GetSfsExportPolicy.cs b/sdk/dotnet/GetSfsExportPolicy.cs index 81be809..9abfc4e 100644 --- a/sdk/dotnet/GetSfsExportPolicy.cs +++ b/sdk/dotnet/GetSfsExportPolicy.cs @@ -125,6 +125,10 @@ public sealed class GetSfsExportPolicyResult /// public readonly string Id; /// + /// Labels are key-value string pairs which can be attached to an export policy + /// + public readonly ImmutableDictionary Labels; + /// /// Name of the export policy. /// public readonly string Name; @@ -146,6 +150,8 @@ public sealed class GetSfsExportPolicyResult private GetSfsExportPolicyResult( string id, + ImmutableDictionary labels, + string name, string policyId, @@ -157,6 +163,7 @@ private GetSfsExportPolicyResult( ImmutableArray rules) { Id = id; + Labels = labels; Name = name; PolicyId = policyId; ProjectId = projectId; diff --git a/sdk/dotnet/GetSfsResourcePool.cs b/sdk/dotnet/GetSfsResourcePool.cs index 091454b..e9368e7 100644 --- a/sdk/dotnet/GetSfsResourcePool.cs +++ b/sdk/dotnet/GetSfsResourcePool.cs @@ -133,6 +133,10 @@ public sealed class GetSfsResourcePoolResult /// public readonly ImmutableArray IpAcls; /// + /// Labels are key-value string pairs which can be attached to a resource pool + /// + public readonly ImmutableDictionary Labels; + /// /// Name of the resource pool. /// public readonly string Name; @@ -181,6 +185,8 @@ private GetSfsResourcePoolResult( ImmutableArray ipAcls, + ImmutableDictionary labels, + string name, string performanceClass, @@ -204,6 +210,7 @@ private GetSfsResourcePoolResult( AvailabilityZone = availabilityZone; Id = id; IpAcls = ipAcls; + Labels = labels; Name = name; PerformanceClass = performanceClass; PerformanceClassDowngradableAt = performanceClassDowngradableAt; diff --git a/sdk/dotnet/GetSfsShare.cs b/sdk/dotnet/GetSfsShare.cs index 0239583..925a6d5 100644 --- a/sdk/dotnet/GetSfsShare.cs +++ b/sdk/dotnet/GetSfsShare.cs @@ -147,6 +147,10 @@ public sealed class GetSfsShareResult /// public readonly string Id; /// + /// Labels are key-value string pairs which can be attached to a share + /// + public readonly ImmutableDictionary Labels; + /// /// Mount path of the Share, used to mount the Share /// public readonly string MountPath; @@ -183,6 +187,8 @@ private GetSfsShareResult( string id, + ImmutableDictionary labels, + string mountPath, string name, @@ -199,6 +205,7 @@ private GetSfsShareResult( { ExportPolicy = exportPolicy; Id = id; + Labels = labels; MountPath = mountPath; Name = name; ProjectId = projectId; diff --git a/sdk/dotnet/GetTelemetrylink.cs b/sdk/dotnet/GetTelemetrylink.cs new file mode 100644 index 0000000..68dcf6a --- /dev/null +++ b/sdk/dotnet/GetTelemetrylink.cs @@ -0,0 +1,188 @@ +// *** 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 GetTelemetrylink + { + /// + /// TelemetryLink 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_telemetrylink" "link" { + /// resource_type = "project" + /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// } + /// ``` + /// + public static Task InvokeAsync(GetTelemetrylinkArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getTelemetrylink:getTelemetrylink", args ?? new GetTelemetrylinkArgs(), options.WithDefaults()); + + /// + /// TelemetryLink 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_telemetrylink" "link" { + /// resource_type = "project" + /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// } + /// ``` + /// + public static Output Invoke(GetTelemetrylinkInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getTelemetrylink:getTelemetrylink", args ?? new GetTelemetrylinkInvokeArgs(), options.WithDefaults()); + + /// + /// TelemetryLink 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_telemetrylink" "link" { + /// resource_type = "project" + /// resource_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// } + /// ``` + /// + public static Output Invoke(GetTelemetrylinkInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getTelemetrylink:getTelemetrylink", args ?? new GetTelemetrylinkInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetTelemetrylinkArgs : global::Pulumi.InvokeArgs + { + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + + /// + /// STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + /// + [Input("resourceId", required: true)] + public string ResourceId { get; set; } = null!; + + /// + /// The resource type of the TelemetryLink resource, possible values: Possible values are: `Organization`, `Folder`, `Project`. + /// + [Input("resourceType", required: true)] + public string ResourceType { get; set; } = null!; + + public GetTelemetrylinkArgs() + { + } + public static new GetTelemetrylinkArgs Empty => new GetTelemetrylinkArgs(); + } + + public sealed class GetTelemetrylinkInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + /// + [Input("resourceId", required: true)] + public Input ResourceId { get; set; } = null!; + + /// + /// The resource type of the TelemetryLink resource, possible values: Possible values are: `Organization`, `Folder`, `Project`. + /// + [Input("resourceType", required: true)] + public Input ResourceType { get; set; } = null!; + + public GetTelemetrylinkInvokeArgs() + { + } + public static new GetTelemetrylinkInvokeArgs Empty => new GetTelemetrylinkInvokeArgs(); + } + + + [OutputType] + public sealed class GetTelemetrylinkResult + { + /// + /// The time the Telemetry Link was created. + /// + public readonly string CreateTime; + /// + /// The description of the Telemetry Link resource. + /// + public readonly string Description; + /// + /// The displayed name of the Telemetry Link resource. + /// + public readonly string DisplayName; + /// + /// Terraform's internal resource identifier. It is structured as "`ResourceType`, `ResourceId`,`Region`". + /// + public readonly string Id; + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + public readonly string? Region; + /// + /// STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + /// + public readonly string ResourceId; + /// + /// The resource type of the TelemetryLink resource, possible values: Possible values are: `Organization`, `Folder`, `Project`. + /// + public readonly string ResourceType; + /// + /// The status of the TelemetryLink, possible values: Possible values are: `Active`, `Inactive`, `Failed`, `Reconciling`, `Deleting`. + /// + public readonly string Status; + /// + /// The Telemetry Router ID. + /// + public readonly string TelemetryRouterId; + + [OutputConstructor] + private GetTelemetrylinkResult( + string createTime, + + string description, + + string displayName, + + string id, + + string? region, + + string resourceId, + + string resourceType, + + string status, + + string telemetryRouterId) + { + CreateTime = createTime; + Description = description; + DisplayName = displayName; + Id = id; + Region = region; + ResourceId = resourceId; + ResourceType = resourceType; + Status = status; + TelemetryRouterId = telemetryRouterId; + } + } +} diff --git a/sdk/dotnet/GetTelemetryrouterAccessToken.cs b/sdk/dotnet/GetTelemetryrouterAccessToken.cs new file mode 100644 index 0000000..82bf29e --- /dev/null +++ b/sdk/dotnet/GetTelemetryrouterAccessToken.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 GetTelemetryrouterAccessToken + { + /// + /// TelemetryRouter access token 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_telemetryrouter_access_token" "accessToken" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// access_token_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Task InvokeAsync(GetTelemetryrouterAccessTokenArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getTelemetryrouterAccessToken:getTelemetryrouterAccessToken", args ?? new GetTelemetryrouterAccessTokenArgs(), options.WithDefaults()); + + /// + /// TelemetryRouter access token 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_telemetryrouter_access_token" "accessToken" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// access_token_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Output Invoke(GetTelemetryrouterAccessTokenInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getTelemetryrouterAccessToken:getTelemetryrouterAccessToken", args ?? new GetTelemetryrouterAccessTokenInvokeArgs(), options.WithDefaults()); + + /// + /// TelemetryRouter access token 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_telemetryrouter_access_token" "accessToken" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// access_token_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Output Invoke(GetTelemetryrouterAccessTokenInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getTelemetryrouterAccessToken:getTelemetryrouterAccessToken", args ?? new GetTelemetryrouterAccessTokenInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetTelemetryrouterAccessTokenArgs : global::Pulumi.InvokeArgs + { + /// + /// The access token ID + /// + [Input("accessTokenId", required: true)] + public string AccessTokenId { get; set; } = null!; + + /// + /// The TelemetryRouter instance ID associated with the access token + /// + [Input("instanceId", required: true)] + public string InstanceId { get; set; } = null!; + + /// + /// STACKIT project ID associated with the TelemetryRouter access token + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + + public GetTelemetryrouterAccessTokenArgs() + { + } + public static new GetTelemetryrouterAccessTokenArgs Empty => new GetTelemetryrouterAccessTokenArgs(); + } + + public sealed class GetTelemetryrouterAccessTokenInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The access token ID + /// + [Input("accessTokenId", required: true)] + public Input AccessTokenId { get; set; } = null!; + + /// + /// The TelemetryRouter instance ID associated with the access token + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// STACKIT project ID associated with the TelemetryRouter access token + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + public GetTelemetryrouterAccessTokenInvokeArgs() + { + } + public static new GetTelemetryrouterAccessTokenInvokeArgs Empty => new GetTelemetryrouterAccessTokenInvokeArgs(); + } + + + [OutputType] + public sealed class GetTelemetryrouterAccessTokenResult + { + /// + /// The access token ID + /// + public readonly string AccessTokenId; + /// + /// The user who created the access token + /// + public readonly string CreatorId; + /// + /// The description of the access token + /// + public readonly string Description; + /// + /// The displayed name of the access token + /// + public readonly string DisplayName; + /// + /// The date and time an access token will expire at (inclusively) + /// + public readonly string ExpirationTime; + /// + /// Terraform's internal resource identifier. It is structured as "`ProjectId`,`Region`,`InstanceId`,`AccessTokenId`". + /// + public readonly string Id; + /// + /// The TelemetryRouter instance ID associated with the access token + /// + public readonly string InstanceId; + /// + /// STACKIT project ID associated with the TelemetryRouter access token + /// + public readonly string ProjectId; + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + public readonly string? Region; + /// + /// The status of the access token. Possible values are: `Active`, `Expired`, `Deleting`. + /// + public readonly string Status; + + [OutputConstructor] + private GetTelemetryrouterAccessTokenResult( + string accessTokenId, + + string creatorId, + + string description, + + string displayName, + + string expirationTime, + + string id, + + string instanceId, + + string projectId, + + string? region, + + string status) + { + AccessTokenId = accessTokenId; + CreatorId = creatorId; + Description = description; + DisplayName = displayName; + ExpirationTime = expirationTime; + Id = id; + InstanceId = instanceId; + ProjectId = projectId; + Region = region; + Status = status; + } + } +} diff --git a/sdk/dotnet/GetTelemetryrouterDestination.cs b/sdk/dotnet/GetTelemetryrouterDestination.cs new file mode 100644 index 0000000..3bdf2e5 --- /dev/null +++ b/sdk/dotnet/GetTelemetryrouterDestination.cs @@ -0,0 +1,217 @@ +// *** 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 GetTelemetryrouterDestination + { + /// + /// TelemetryRouter destination 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_telemetryrouter_destination" "destination" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// destination_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Task InvokeAsync(GetTelemetryrouterDestinationArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getTelemetryrouterDestination:getTelemetryrouterDestination", args ?? new GetTelemetryrouterDestinationArgs(), options.WithDefaults()); + + /// + /// TelemetryRouter destination 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_telemetryrouter_destination" "destination" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// destination_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Output Invoke(GetTelemetryrouterDestinationInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getTelemetryrouterDestination:getTelemetryrouterDestination", args ?? new GetTelemetryrouterDestinationInvokeArgs(), options.WithDefaults()); + + /// + /// TelemetryRouter destination 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_telemetryrouter_destination" "destination" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// destination_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Output Invoke(GetTelemetryrouterDestinationInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getTelemetryrouterDestination:getTelemetryrouterDestination", args ?? new GetTelemetryrouterDestinationInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetTelemetryrouterDestinationArgs : global::Pulumi.InvokeArgs + { + /// + /// The TelemetryRouter destination ID + /// + [Input("destinationId", required: true)] + public string DestinationId { get; set; } = null!; + + /// + /// The TelemetryRouter instance ID + /// + [Input("instanceId", required: true)] + public string InstanceId { get; set; } = null!; + + /// + /// STACKIT project ID associated with the TelemetryRouter instance + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + + public GetTelemetryrouterDestinationArgs() + { + } + public static new GetTelemetryrouterDestinationArgs Empty => new GetTelemetryrouterDestinationArgs(); + } + + public sealed class GetTelemetryrouterDestinationInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The TelemetryRouter destination ID + /// + [Input("destinationId", required: true)] + public Input DestinationId { get; set; } = null!; + + /// + /// The TelemetryRouter instance ID + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// STACKIT project ID associated with the TelemetryRouter instance + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + public GetTelemetryrouterDestinationInvokeArgs() + { + } + public static new GetTelemetryrouterDestinationInvokeArgs Empty => new GetTelemetryrouterDestinationInvokeArgs(); + } + + + [OutputType] + public sealed class GetTelemetryrouterDestinationResult + { + /// + /// The configuration of the TelemetryRouter destination + /// + public readonly Outputs.GetTelemetryrouterDestinationConfigResult Config; + /// + /// The date and time the creation of the TelemetryRouter destination was initiated + /// + public readonly string CreationTime; + /// + /// The TelemetryRouter destination's credential type + /// + public readonly string CredentialType; + /// + /// The description of the TelemetryRouter destination + /// + public readonly string Description; + /// + /// The TelemetryRouter destination ID + /// + public readonly string DestinationId; + /// + /// The displayed name of the TelemetryRouter destination + /// + public readonly string DisplayName; + /// + /// Terraform's internal resource identifier. It is structured as "`ProjectId`,`Region`,`InstanceId`,`DestionationId`". + /// + public readonly string Id; + /// + /// The TelemetryRouter instance ID + /// + public readonly string InstanceId; + /// + /// STACKIT project ID associated with the TelemetryRouter instance + /// + public readonly string ProjectId; + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + public readonly string Region; + /// + /// The status of the TelemetryRouter destination, possible values: Possible values are: `Reconciling`, `Active`, `Deleting`. + /// + public readonly string Status; + + [OutputConstructor] + private GetTelemetryrouterDestinationResult( + Outputs.GetTelemetryrouterDestinationConfigResult config, + + string creationTime, + + string credentialType, + + string description, + + string destinationId, + + string displayName, + + string id, + + string instanceId, + + string projectId, + + string region, + + string status) + { + Config = config; + CreationTime = creationTime; + CredentialType = credentialType; + Description = description; + DestinationId = destinationId; + DisplayName = displayName; + Id = id; + InstanceId = instanceId; + ProjectId = projectId; + Region = region; + Status = status; + } + } +} diff --git a/sdk/dotnet/GetTelemetryrouterInstance.cs b/sdk/dotnet/GetTelemetryrouterInstance.cs new file mode 100644 index 0000000..a2cebc5 --- /dev/null +++ b/sdk/dotnet/GetTelemetryrouterInstance.cs @@ -0,0 +1,195 @@ +// *** 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 GetTelemetryrouterInstance + { + /// + /// TelemetryRouter instance 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_telemetryrouter_instance" "router" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Task InvokeAsync(GetTelemetryrouterInstanceArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getTelemetryrouterInstance:getTelemetryrouterInstance", args ?? new GetTelemetryrouterInstanceArgs(), options.WithDefaults()); + + /// + /// TelemetryRouter instance 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_telemetryrouter_instance" "router" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Output Invoke(GetTelemetryrouterInstanceInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getTelemetryrouterInstance:getTelemetryrouterInstance", args ?? new GetTelemetryrouterInstanceInvokeArgs(), options.WithDefaults()); + + /// + /// TelemetryRouter instance 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_telemetryrouter_instance" "router" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// region = "eu01" + /// instance_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Output Invoke(GetTelemetryrouterInstanceInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getTelemetryrouterInstance:getTelemetryrouterInstance", args ?? new GetTelemetryrouterInstanceInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetTelemetryrouterInstanceArgs : global::Pulumi.InvokeArgs + { + /// + /// The TelemetryRouter instance ID + /// + [Input("instanceId", required: true)] + public string InstanceId { get; set; } = null!; + + /// + /// STACKIT project ID associated with the TelemetryRouter instance + /// + [Input("projectId", required: true)] + public string ProjectId { get; set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public string? Region { get; set; } + + public GetTelemetryrouterInstanceArgs() + { + } + public static new GetTelemetryrouterInstanceArgs Empty => new GetTelemetryrouterInstanceArgs(); + } + + public sealed class GetTelemetryrouterInstanceInvokeArgs : global::Pulumi.InvokeArgs + { + /// + /// The TelemetryRouter instance ID + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// STACKIT project ID associated with the TelemetryRouter instance + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + public GetTelemetryrouterInstanceInvokeArgs() + { + } + public static new GetTelemetryrouterInstanceInvokeArgs Empty => new GetTelemetryrouterInstanceInvokeArgs(); + } + + + [OutputType] + public sealed class GetTelemetryrouterInstanceResult + { + /// + /// The date and time the creation of the TelemetryRouter instance was initiated + /// + public readonly string CreationTime; + /// + /// The description of the TelemetryRouter instance + /// + public readonly string Description; + /// + /// The display name of the TelemetryRouter instance + /// + public readonly string DisplayName; + /// + /// The TelemetryRouter global filter settings + /// + public readonly Outputs.GetTelemetryrouterInstanceFilterResult Filter; + /// + /// Terraform's internal resource identifier. It is structured as "`ProjectId`,`Region`,`InstanceId`". + /// + public readonly string Id; + /// + /// The TelemetryRouter instance ID + /// + public readonly string InstanceId; + /// + /// STACKIT project ID associated with the TelemetryRouter instance + /// + public readonly string ProjectId; + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + public readonly string? Region; + /// + /// The status of the TelemetryRouter instance, possible values: Possible values are: `Reconciling`, `Active`, `Deleting`. + /// + public readonly string Status; + /// + /// The TelemetryRouter instance's URI + /// + public readonly string Uri; + + [OutputConstructor] + private GetTelemetryrouterInstanceResult( + string creationTime, + + string description, + + string displayName, + + Outputs.GetTelemetryrouterInstanceFilterResult filter, + + string id, + + string instanceId, + + string projectId, + + string? region, + + string status, + + string uri) + { + CreationTime = creationTime; + Description = description; + DisplayName = displayName; + Filter = filter; + Id = id; + InstanceId = instanceId; + ProjectId = projectId; + Region = region; + Status = status; + Uri = uri; + } + } +} diff --git a/sdk/dotnet/GetVpnGateway.cs b/sdk/dotnet/GetVpnGateway.cs new file mode 100644 index 0000000..96cb1c7 --- /dev/null +++ b/sdk/dotnet/GetVpnGateway.cs @@ -0,0 +1,180 @@ +// *** 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 GetVpnGateway + { + /// + /// VPN Gateway 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" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// gateway_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Task InvokeAsync(GetVpnGatewayArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.InvokeAsync("stackit:index/getVpnGateway:getVpnGateway", args ?? new GetVpnGatewayArgs(), options.WithDefaults()); + + /// + /// VPN Gateway 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" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// gateway_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Output Invoke(GetVpnGatewayInvokeArgs args, InvokeOptions? options = null) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getVpnGateway:getVpnGateway", args ?? new GetVpnGatewayInvokeArgs(), options.WithDefaults()); + + /// + /// VPN Gateway 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" "example" { + /// project_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// gateway_id = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" + /// } + /// ``` + /// + public static Output Invoke(GetVpnGatewayInvokeArgs args, InvokeOutputOptions options) + => global::Pulumi.Deployment.Instance.Invoke("stackit:index/getVpnGateway:getVpnGateway", args ?? new GetVpnGatewayInvokeArgs(), options.WithDefaults()); + } + + + public sealed class GetVpnGatewayArgs : 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 GetVpnGatewayArgs() + { + } + public static new GetVpnGatewayArgs Empty => new GetVpnGatewayArgs(); + } + + public sealed class GetVpnGatewayInvokeArgs : 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 GetVpnGatewayInvokeArgs() + { + } + public static new GetVpnGatewayInvokeArgs Empty => new GetVpnGatewayInvokeArgs(); + } + + + [OutputType] + public sealed class GetVpnGatewayResult + { + /// + /// Availability zones for the two tunnel endpoints. + /// + public readonly Outputs.GetVpnGatewayAvailabilityZonesResult AvailabilityZones; + /// + /// BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + /// + public readonly Outputs.GetVpnGatewayBgpResult Bgp; + /// + /// 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; + /// + /// Map of custom labels (key-value string pairs). + /// + public readonly ImmutableDictionary Labels; + /// + /// The service plan identifier (e.g. `P500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + /// + public readonly string PlanId; + /// + /// 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; + /// + /// Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + /// + public readonly string RoutingType; + + [OutputConstructor] + private GetVpnGatewayResult( + Outputs.GetVpnGatewayAvailabilityZonesResult availabilityZones, + + Outputs.GetVpnGatewayBgpResult bgp, + + string displayName, + + string gatewayId, + + string id, + + ImmutableDictionary labels, + + string planId, + + string projectId, + + string region, + + string routingType) + { + AvailabilityZones = availabilityZones; + Bgp = bgp; + DisplayName = displayName; + GatewayId = gatewayId; + Id = id; + Labels = labels; + PlanId = planId; + ProjectId = projectId; + Region = region; + RoutingType = routingType; + } + } +} diff --git a/sdk/dotnet/Inputs/DremioInstanceAuthenticationArgs.cs b/sdk/dotnet/Inputs/DremioInstanceAuthenticationArgs.cs new file mode 100644 index 0000000..b4056cb --- /dev/null +++ b/sdk/dotnet/Inputs/DremioInstanceAuthenticationArgs.cs @@ -0,0 +1,38 @@ +// *** 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 DremioInstanceAuthenticationArgs : global::Pulumi.ResourceArgs + { + /// + /// Azure Active Directory authentication configuration. + /// + [Input("azuread")] + public Input? Azuread { get; set; } + + /// + /// OIDC authentication configuration. + /// + [Input("oauth")] + public Input? Oauth { get; set; } + + /// + /// Type of authentication (local-only, azuread, oauth). + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public DremioInstanceAuthenticationArgs() + { + } + public static new DremioInstanceAuthenticationArgs Empty => new DremioInstanceAuthenticationArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DremioInstanceAuthenticationAzureadArgs.cs b/sdk/dotnet/Inputs/DremioInstanceAuthenticationAzureadArgs.cs new file mode 100644 index 0000000..26431e3 --- /dev/null +++ b/sdk/dotnet/Inputs/DremioInstanceAuthenticationAzureadArgs.cs @@ -0,0 +1,54 @@ +// *** 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 DremioInstanceAuthenticationAzureadArgs : global::Pulumi.ResourceArgs + { + /// + /// The Azure AD authority URL. + /// + [Input("authorityUrl", required: true)] + public Input AuthorityUrl { get; set; } = null!; + + /// + /// The Azure AD client ID. + /// + [Input("clientId", required: true)] + public Input ClientId { get; set; } = null!; + + [Input("clientSecret", required: true)] + private Input? _clientSecret; + + /// + /// The Azure AD client secret. + /// + public Input? ClientSecret + { + get => _clientSecret; + set + { + var emptySecret = Output.CreateSecret(0); + _clientSecret = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The Azure AD redirect URL. + /// + [Input("redirectUrl")] + public Input? RedirectUrl { get; set; } + + public DremioInstanceAuthenticationAzureadArgs() + { + } + public static new DremioInstanceAuthenticationAzureadArgs Empty => new DremioInstanceAuthenticationAzureadArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DremioInstanceAuthenticationAzureadGetArgs.cs b/sdk/dotnet/Inputs/DremioInstanceAuthenticationAzureadGetArgs.cs new file mode 100644 index 0000000..8d20dba --- /dev/null +++ b/sdk/dotnet/Inputs/DremioInstanceAuthenticationAzureadGetArgs.cs @@ -0,0 +1,54 @@ +// *** 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 DremioInstanceAuthenticationAzureadGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The Azure AD authority URL. + /// + [Input("authorityUrl", required: true)] + public Input AuthorityUrl { get; set; } = null!; + + /// + /// The Azure AD client ID. + /// + [Input("clientId", required: true)] + public Input ClientId { get; set; } = null!; + + [Input("clientSecret", required: true)] + private Input? _clientSecret; + + /// + /// The Azure AD client secret. + /// + public Input? ClientSecret + { + get => _clientSecret; + set + { + var emptySecret = Output.CreateSecret(0); + _clientSecret = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The Azure AD redirect URL. + /// + [Input("redirectUrl")] + public Input? RedirectUrl { get; set; } + + public DremioInstanceAuthenticationAzureadGetArgs() + { + } + public static new DremioInstanceAuthenticationAzureadGetArgs Empty => new DremioInstanceAuthenticationAzureadGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DremioInstanceAuthenticationGetArgs.cs b/sdk/dotnet/Inputs/DremioInstanceAuthenticationGetArgs.cs new file mode 100644 index 0000000..f547d63 --- /dev/null +++ b/sdk/dotnet/Inputs/DremioInstanceAuthenticationGetArgs.cs @@ -0,0 +1,38 @@ +// *** 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 DremioInstanceAuthenticationGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Azure Active Directory authentication configuration. + /// + [Input("azuread")] + public Input? Azuread { get; set; } + + /// + /// OIDC authentication configuration. + /// + [Input("oauth")] + public Input? Oauth { get; set; } + + /// + /// Type of authentication (local-only, azuread, oauth). + /// + [Input("type", required: true)] + public Input Type { get; set; } = null!; + + public DremioInstanceAuthenticationGetArgs() + { + } + public static new DremioInstanceAuthenticationGetArgs Empty => new DremioInstanceAuthenticationGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthArgs.cs b/sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthArgs.cs new file mode 100644 index 0000000..9faa3a0 --- /dev/null +++ b/sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthArgs.cs @@ -0,0 +1,78 @@ +// *** 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 DremioInstanceAuthenticationOauthArgs : global::Pulumi.ResourceArgs + { + /// + /// The Issuer location URI, where the OIDC provider configuration can be found. + /// + [Input("authorityUrl", required: true)] + public Input AuthorityUrl { get; set; } = null!; + + /// + /// The client ID assigned by the Identity Provider. + /// + [Input("clientId", required: true)] + public Input ClientId { get; set; } = null!; + + [Input("clientSecret", required: true)] + private Input? _clientSecret; + + /// + /// The client secret generated by the Identity Provider. + /// + public Input? ClientSecret + { + get => _clientSecret; + set + { + var emptySecret = Output.CreateSecret(0); + _clientSecret = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Maps fields from the JWT token to fields Dremio requires. + /// + [Input("jwtClaims", required: true)] + public Input JwtClaims { get; set; } = null!; + + [Input("parameters")] + private InputList? _parameters; + + /// + /// Any additional parameters the Identity Provider requires. + /// + public InputList Parameters + { + get => _parameters ?? (_parameters = new InputList()); + set => _parameters = value; + } + + /// + /// The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. + /// + [Input("redirectUrl")] + public Input? RedirectUrl { get; set; } + + /// + /// A list of space-separated scopes. The `Openid` scope is always required; other scopes can vary by provider. + /// + [Input("scope")] + public Input? Scope { get; set; } + + public DremioInstanceAuthenticationOauthArgs() + { + } + public static new DremioInstanceAuthenticationOauthArgs Empty => new DremioInstanceAuthenticationOauthArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthGetArgs.cs b/sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthGetArgs.cs new file mode 100644 index 0000000..8b06601 --- /dev/null +++ b/sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthGetArgs.cs @@ -0,0 +1,78 @@ +// *** 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 DremioInstanceAuthenticationOauthGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The Issuer location URI, where the OIDC provider configuration can be found. + /// + [Input("authorityUrl", required: true)] + public Input AuthorityUrl { get; set; } = null!; + + /// + /// The client ID assigned by the Identity Provider. + /// + [Input("clientId", required: true)] + public Input ClientId { get; set; } = null!; + + [Input("clientSecret", required: true)] + private Input? _clientSecret; + + /// + /// The client secret generated by the Identity Provider. + /// + public Input? ClientSecret + { + get => _clientSecret; + set + { + var emptySecret = Output.CreateSecret(0); + _clientSecret = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// Maps fields from the JWT token to fields Dremio requires. + /// + [Input("jwtClaims", required: true)] + public Input JwtClaims { get; set; } = null!; + + [Input("parameters")] + private InputList? _parameters; + + /// + /// Any additional parameters the Identity Provider requires. + /// + public InputList Parameters + { + get => _parameters ?? (_parameters = new InputList()); + set => _parameters = value; + } + + /// + /// The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. + /// + [Input("redirectUrl")] + public Input? RedirectUrl { get; set; } + + /// + /// A list of space-separated scopes. The `Openid` scope is always required; other scopes can vary by provider. + /// + [Input("scope")] + public Input? Scope { get; set; } + + public DremioInstanceAuthenticationOauthGetArgs() + { + } + public static new DremioInstanceAuthenticationOauthGetArgs Empty => new DremioInstanceAuthenticationOauthGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthJwtClaimsArgs.cs b/sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthJwtClaimsArgs.cs new file mode 100644 index 0000000..2903bc4 --- /dev/null +++ b/sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthJwtClaimsArgs.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 DremioInstanceAuthenticationOauthJwtClaimsArgs : global::Pulumi.ResourceArgs + { + /// + /// Mapped user name claim (e.g. email). + /// + [Input("userName", required: true)] + public Input UserName { get; set; } = null!; + + public DremioInstanceAuthenticationOauthJwtClaimsArgs() + { + } + public static new DremioInstanceAuthenticationOauthJwtClaimsArgs Empty => new DremioInstanceAuthenticationOauthJwtClaimsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthJwtClaimsGetArgs.cs b/sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthJwtClaimsGetArgs.cs new file mode 100644 index 0000000..05e5bd7 --- /dev/null +++ b/sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthJwtClaimsGetArgs.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 DremioInstanceAuthenticationOauthJwtClaimsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Mapped user name claim (e.g. email). + /// + [Input("userName", required: true)] + public Input UserName { get; set; } = null!; + + public DremioInstanceAuthenticationOauthJwtClaimsGetArgs() + { + } + public static new DremioInstanceAuthenticationOauthJwtClaimsGetArgs Empty => new DremioInstanceAuthenticationOauthJwtClaimsGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthParameterArgs.cs b/sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthParameterArgs.cs new file mode 100644 index 0000000..e1c712c --- /dev/null +++ b/sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthParameterArgs.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 DremioInstanceAuthenticationOauthParameterArgs : global::Pulumi.ResourceArgs + { + /// + /// Parameter name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Parameter value. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DremioInstanceAuthenticationOauthParameterArgs() + { + } + public static new DremioInstanceAuthenticationOauthParameterArgs Empty => new DremioInstanceAuthenticationOauthParameterArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthParameterGetArgs.cs b/sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthParameterGetArgs.cs new file mode 100644 index 0000000..9febb19 --- /dev/null +++ b/sdk/dotnet/Inputs/DremioInstanceAuthenticationOauthParameterGetArgs.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 DremioInstanceAuthenticationOauthParameterGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Parameter name. + /// + [Input("name", required: true)] + public Input Name { get; set; } = null!; + + /// + /// Parameter value. + /// + [Input("value", required: true)] + public Input Value { get; set; } = null!; + + public DremioInstanceAuthenticationOauthParameterGetArgs() + { + } + public static new DremioInstanceAuthenticationOauthParameterGetArgs Empty => new DremioInstanceAuthenticationOauthParameterGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DremioInstanceEndpointsArgs.cs b/sdk/dotnet/Inputs/DremioInstanceEndpointsArgs.cs new file mode 100644 index 0000000..ddf3dbd --- /dev/null +++ b/sdk/dotnet/Inputs/DremioInstanceEndpointsArgs.cs @@ -0,0 +1,38 @@ +// *** 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 DremioInstanceEndpointsArgs : global::Pulumi.ResourceArgs + { + /// + /// The arrow flight endpoint of the Dremio instance. + /// + [Input("arrowFlight")] + public Input? ArrowFlight { get; set; } + + /// + /// The Apache Iceberg endpoint of the Dremio instance. + /// + [Input("catalog")] + public Input? Catalog { get; set; } + + /// + /// The UI endpoint of the Dremio instance. + /// + [Input("ui")] + public Input? Ui { get; set; } + + public DremioInstanceEndpointsArgs() + { + } + public static new DremioInstanceEndpointsArgs Empty => new DremioInstanceEndpointsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DremioInstanceEndpointsGetArgs.cs b/sdk/dotnet/Inputs/DremioInstanceEndpointsGetArgs.cs new file mode 100644 index 0000000..17fd0fd --- /dev/null +++ b/sdk/dotnet/Inputs/DremioInstanceEndpointsGetArgs.cs @@ -0,0 +1,38 @@ +// *** 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 DremioInstanceEndpointsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The arrow flight endpoint of the Dremio instance. + /// + [Input("arrowFlight")] + public Input? ArrowFlight { get; set; } + + /// + /// The Apache Iceberg endpoint of the Dremio instance. + /// + [Input("catalog")] + public Input? Catalog { get; set; } + + /// + /// The UI endpoint of the Dremio instance. + /// + [Input("ui")] + public Input? Ui { get; set; } + + public DremioInstanceEndpointsGetArgs() + { + } + public static new DremioInstanceEndpointsGetArgs Empty => new DremioInstanceEndpointsGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DremioInstanceTimeoutsArgs.cs b/sdk/dotnet/Inputs/DremioInstanceTimeoutsArgs.cs new file mode 100644 index 0000000..74ae949 --- /dev/null +++ b/sdk/dotnet/Inputs/DremioInstanceTimeoutsArgs.cs @@ -0,0 +1,44 @@ +// *** 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 DremioInstanceTimeoutsArgs : global::Pulumi.ResourceArgs + { + /// + /// 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). + /// + [Input("create")] + public Input? Create { get; set; } + + /// + /// 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + /// + [Input("delete")] + public Input? Delete { get; set; } + + /// + /// 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 operations occur during any refresh or planning operation when refresh is enabled. + /// + [Input("read")] + public Input? Read { get; set; } + + /// + /// 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). + /// + [Input("update")] + public Input? Update { get; set; } + + public DremioInstanceTimeoutsArgs() + { + } + public static new DremioInstanceTimeoutsArgs Empty => new DremioInstanceTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DremioInstanceTimeoutsGetArgs.cs b/sdk/dotnet/Inputs/DremioInstanceTimeoutsGetArgs.cs new file mode 100644 index 0000000..8a68e86 --- /dev/null +++ b/sdk/dotnet/Inputs/DremioInstanceTimeoutsGetArgs.cs @@ -0,0 +1,44 @@ +// *** 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 DremioInstanceTimeoutsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// 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). + /// + [Input("create")] + public Input? Create { get; set; } + + /// + /// 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + /// + [Input("delete")] + public Input? Delete { get; set; } + + /// + /// 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 operations occur during any refresh or planning operation when refresh is enabled. + /// + [Input("read")] + public Input? Read { get; set; } + + /// + /// 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). + /// + [Input("update")] + public Input? Update { get; set; } + + public DremioInstanceTimeoutsGetArgs() + { + } + public static new DremioInstanceTimeoutsGetArgs Empty => new DremioInstanceTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DremioUserTimeoutsArgs.cs b/sdk/dotnet/Inputs/DremioUserTimeoutsArgs.cs new file mode 100644 index 0000000..96cf42c --- /dev/null +++ b/sdk/dotnet/Inputs/DremioUserTimeoutsArgs.cs @@ -0,0 +1,44 @@ +// *** 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 DremioUserTimeoutsArgs : global::Pulumi.ResourceArgs + { + /// + /// 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). + /// + [Input("create")] + public Input? Create { get; set; } + + /// + /// 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + /// + [Input("delete")] + public Input? Delete { get; set; } + + /// + /// 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 operations occur during any refresh or planning operation when refresh is enabled. + /// + [Input("read")] + public Input? Read { get; set; } + + /// + /// 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). + /// + [Input("update")] + public Input? Update { get; set; } + + public DremioUserTimeoutsArgs() + { + } + public static new DremioUserTimeoutsArgs Empty => new DremioUserTimeoutsArgs(); + } +} diff --git a/sdk/dotnet/Inputs/DremioUserTimeoutsGetArgs.cs b/sdk/dotnet/Inputs/DremioUserTimeoutsGetArgs.cs new file mode 100644 index 0000000..bf171ff --- /dev/null +++ b/sdk/dotnet/Inputs/DremioUserTimeoutsGetArgs.cs @@ -0,0 +1,44 @@ +// *** 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 DremioUserTimeoutsGetArgs : global::Pulumi.ResourceArgs + { + /// + /// 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). + /// + [Input("create")] + public Input? Create { get; set; } + + /// + /// 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + /// + [Input("delete")] + public Input? Delete { get; set; } + + /// + /// 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 operations occur during any refresh or planning operation when refresh is enabled. + /// + [Input("read")] + public Input? Read { get; set; } + + /// + /// 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). + /// + [Input("update")] + public Input? Update { get; set; } + + public DremioUserTimeoutsGetArgs() + { + } + public static new DremioUserTimeoutsGetArgs Empty => new DremioUserTimeoutsGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/MongodbflexInstanceStorageArgs.cs b/sdk/dotnet/Inputs/MongodbflexInstanceStorageArgs.cs index 7164c85..eb21bd9 100644 --- a/sdk/dotnet/Inputs/MongodbflexInstanceStorageArgs.cs +++ b/sdk/dotnet/Inputs/MongodbflexInstanceStorageArgs.cs @@ -12,6 +12,13 @@ namespace Pulumi.Stackit.Inputs public sealed class MongodbflexInstanceStorageArgs : global::Pulumi.ResourceArgs { + /// + /// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + /// `bash + /// stackit mongodbflex options --storages --flavor-id FLAVOR_ID + /// ` + /// - `Size` (Number) + /// [Input("class", required: true)] public Input Class { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/MongodbflexInstanceStorageGetArgs.cs b/sdk/dotnet/Inputs/MongodbflexInstanceStorageGetArgs.cs index 100ab1a..777d967 100644 --- a/sdk/dotnet/Inputs/MongodbflexInstanceStorageGetArgs.cs +++ b/sdk/dotnet/Inputs/MongodbflexInstanceStorageGetArgs.cs @@ -12,6 +12,13 @@ namespace Pulumi.Stackit.Inputs public sealed class MongodbflexInstanceStorageGetArgs : global::Pulumi.ResourceArgs { + /// + /// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + /// `bash + /// stackit mongodbflex options --storages --flavor-id FLAVOR_ID + /// ` + /// - `Size` (Number) + /// [Input("class", required: true)] public Input Class { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/PostgresflexInstanceStorageArgs.cs b/sdk/dotnet/Inputs/PostgresflexInstanceStorageArgs.cs index 9e74139..104d68b 100644 --- a/sdk/dotnet/Inputs/PostgresflexInstanceStorageArgs.cs +++ b/sdk/dotnet/Inputs/PostgresflexInstanceStorageArgs.cs @@ -12,6 +12,13 @@ namespace Pulumi.Stackit.Inputs public sealed class PostgresflexInstanceStorageArgs : global::Pulumi.ResourceArgs { + /// + /// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + /// `bash + /// stackit postgresflex options --storages --flavor-id FLAVOR_ID + /// ` + /// - `Size` (Number) + /// [Input("class", required: true)] public Input Class { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/PostgresflexInstanceStorageGetArgs.cs b/sdk/dotnet/Inputs/PostgresflexInstanceStorageGetArgs.cs index 1a1f9cd..bc7f00c 100644 --- a/sdk/dotnet/Inputs/PostgresflexInstanceStorageGetArgs.cs +++ b/sdk/dotnet/Inputs/PostgresflexInstanceStorageGetArgs.cs @@ -12,6 +12,13 @@ namespace Pulumi.Stackit.Inputs public sealed class PostgresflexInstanceStorageGetArgs : global::Pulumi.ResourceArgs { + /// + /// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + /// `bash + /// stackit postgresflex options --storages --flavor-id FLAVOR_ID + /// ` + /// - `Size` (Number) + /// [Input("class", required: true)] public Input Class { get; set; } = null!; diff --git a/sdk/dotnet/Inputs/SqlserverflexInstanceStorageArgs.cs b/sdk/dotnet/Inputs/SqlserverflexInstanceStorageArgs.cs index aca2310..f5ea6a8 100644 --- a/sdk/dotnet/Inputs/SqlserverflexInstanceStorageArgs.cs +++ b/sdk/dotnet/Inputs/SqlserverflexInstanceStorageArgs.cs @@ -12,6 +12,13 @@ namespace Pulumi.Stackit.Inputs public sealed class SqlserverflexInstanceStorageArgs : global::Pulumi.ResourceArgs { + /// + /// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + /// `bash + /// stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID + /// ` + /// - `Size` (Number) + /// [Input("class")] public Input? Class { get; set; } diff --git a/sdk/dotnet/Inputs/SqlserverflexInstanceStorageGetArgs.cs b/sdk/dotnet/Inputs/SqlserverflexInstanceStorageGetArgs.cs index 08c039b..a665798 100644 --- a/sdk/dotnet/Inputs/SqlserverflexInstanceStorageGetArgs.cs +++ b/sdk/dotnet/Inputs/SqlserverflexInstanceStorageGetArgs.cs @@ -12,6 +12,13 @@ namespace Pulumi.Stackit.Inputs public sealed class SqlserverflexInstanceStorageGetArgs : global::Pulumi.ResourceArgs { + /// + /// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + /// `bash + /// stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID + /// ` + /// - `Size` (Number) + /// [Input("class")] public Input? Class { get; set; } diff --git a/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigArgs.cs b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigArgs.cs new file mode 100644 index 0000000..ec087f3 --- /dev/null +++ b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigArgs.cs @@ -0,0 +1,44 @@ +// *** 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 TelemetryrouterDestinationConfigArgs : global::Pulumi.ResourceArgs + { + /// + /// The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. + /// + [Input("configType", required: true)] + public Input ConfigType { get; set; } = null!; + + /// + /// The TelemetryRouter destination's filter settings + /// + [Input("filter")] + public Input? Filter { get; set; } + + /// + /// OpenTelemetry configuration + /// + [Input("opentelemetry")] + public Input? Opentelemetry { get; set; } + + /// + /// S3 configuration + /// + [Input("s3")] + public Input? S3 { get; set; } + + public TelemetryrouterDestinationConfigArgs() + { + } + public static new TelemetryrouterDestinationConfigArgs Empty => new TelemetryrouterDestinationConfigArgs(); + } +} diff --git a/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigFilterArgs.cs b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigFilterArgs.cs new file mode 100644 index 0000000..96b4b81 --- /dev/null +++ b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigFilterArgs.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 TelemetryrouterDestinationConfigFilterArgs : global::Pulumi.ResourceArgs + { + [Input("attributes", required: true)] + private InputList? _attributes; + + /// + /// The TelemetryRouter destination's filter attributes + /// + public InputList Attributes + { + get => _attributes ?? (_attributes = new InputList()); + set => _attributes = value; + } + + public TelemetryrouterDestinationConfigFilterArgs() + { + } + public static new TelemetryrouterDestinationConfigFilterArgs Empty => new TelemetryrouterDestinationConfigFilterArgs(); + } +} diff --git a/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigFilterAttributeArgs.cs b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigFilterAttributeArgs.cs new file mode 100644 index 0000000..a69c3d9 --- /dev/null +++ b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigFilterAttributeArgs.cs @@ -0,0 +1,50 @@ +// *** 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 TelemetryrouterDestinationConfigFilterAttributeArgs : global::Pulumi.ResourceArgs + { + /// + /// The TelemetryRouter destination's filter attribute key + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `Resource`, `Scope`, `logRecord`. + /// + [Input("level", required: true)] + public Input Level { get; set; } = null!; + + /// + /// The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. + /// + [Input("matcher", required: true)] + public Input Matcher { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// The TelemetryRouter destination's filter attribute values + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public TelemetryrouterDestinationConfigFilterAttributeArgs() + { + } + public static new TelemetryrouterDestinationConfigFilterAttributeArgs Empty => new TelemetryrouterDestinationConfigFilterAttributeArgs(); + } +} diff --git a/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigFilterAttributeGetArgs.cs b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigFilterAttributeGetArgs.cs new file mode 100644 index 0000000..bb8fe35 --- /dev/null +++ b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigFilterAttributeGetArgs.cs @@ -0,0 +1,50 @@ +// *** 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 TelemetryrouterDestinationConfigFilterAttributeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The TelemetryRouter destination's filter attribute key + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `Resource`, `Scope`, `logRecord`. + /// + [Input("level", required: true)] + public Input Level { get; set; } = null!; + + /// + /// The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. + /// + [Input("matcher", required: true)] + public Input Matcher { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// The TelemetryRouter destination's filter attribute values + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public TelemetryrouterDestinationConfigFilterAttributeGetArgs() + { + } + public static new TelemetryrouterDestinationConfigFilterAttributeGetArgs Empty => new TelemetryrouterDestinationConfigFilterAttributeGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigFilterGetArgs.cs b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigFilterGetArgs.cs new file mode 100644 index 0000000..3154592 --- /dev/null +++ b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigFilterGetArgs.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 TelemetryrouterDestinationConfigFilterGetArgs : global::Pulumi.ResourceArgs + { + [Input("attributes", required: true)] + private InputList? _attributes; + + /// + /// The TelemetryRouter destination's filter attributes + /// + public InputList Attributes + { + get => _attributes ?? (_attributes = new InputList()); + set => _attributes = value; + } + + public TelemetryrouterDestinationConfigFilterGetArgs() + { + } + public static new TelemetryrouterDestinationConfigFilterGetArgs Empty => new TelemetryrouterDestinationConfigFilterGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigGetArgs.cs b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigGetArgs.cs new file mode 100644 index 0000000..8db7ebf --- /dev/null +++ b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigGetArgs.cs @@ -0,0 +1,44 @@ +// *** 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 TelemetryrouterDestinationConfigGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. + /// + [Input("configType", required: true)] + public Input ConfigType { get; set; } = null!; + + /// + /// The TelemetryRouter destination's filter settings + /// + [Input("filter")] + public Input? Filter { get; set; } + + /// + /// OpenTelemetry configuration + /// + [Input("opentelemetry")] + public Input? Opentelemetry { get; set; } + + /// + /// S3 configuration + /// + [Input("s3")] + public Input? S3 { get; set; } + + public TelemetryrouterDestinationConfigGetArgs() + { + } + public static new TelemetryrouterDestinationConfigGetArgs Empty => new TelemetryrouterDestinationConfigGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigOpentelemetryArgs.cs b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigOpentelemetryArgs.cs new file mode 100644 index 0000000..f49edd7 --- /dev/null +++ b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigOpentelemetryArgs.cs @@ -0,0 +1,48 @@ +// *** 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 TelemetryrouterDestinationConfigOpentelemetryArgs : global::Pulumi.ResourceArgs + { + /// + /// OpenTelemetry basic auth configuration + /// + [Input("basicAuth")] + public Input? BasicAuth { get; set; } + + [Input("bearerToken")] + private Input? _bearerToken; + + /// + /// OpenTelemetry bearer token + /// + public Input? BearerToken + { + get => _bearerToken; + set + { + var emptySecret = Output.CreateSecret(0); + _bearerToken = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// OpenTelemetry destination URI + /// + [Input("uri", required: true)] + public Input Uri { get; set; } = null!; + + public TelemetryrouterDestinationConfigOpentelemetryArgs() + { + } + public static new TelemetryrouterDestinationConfigOpentelemetryArgs Empty => new TelemetryrouterDestinationConfigOpentelemetryArgs(); + } +} diff --git a/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs.cs b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs.cs new file mode 100644 index 0000000..72f83a8 --- /dev/null +++ b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs.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.Inputs +{ + + public sealed class TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs : global::Pulumi.ResourceArgs + { + [Input("password", required: true)] + private Input? _password; + + /// + /// OpenTelemetry basic auth username + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// OpenTelemetry basic auth username + /// + [Input("username", required: true)] + public Input Username { get; set; } = null!; + + public TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs() + { + } + public static new TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs Empty => new TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs(); + } +} diff --git a/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigOpentelemetryBasicAuthGetArgs.cs b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigOpentelemetryBasicAuthGetArgs.cs new file mode 100644 index 0000000..0e5fb62 --- /dev/null +++ b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigOpentelemetryBasicAuthGetArgs.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.Inputs +{ + + public sealed class TelemetryrouterDestinationConfigOpentelemetryBasicAuthGetArgs : global::Pulumi.ResourceArgs + { + [Input("password", required: true)] + private Input? _password; + + /// + /// OpenTelemetry basic auth username + /// + public Input? Password + { + get => _password; + set + { + var emptySecret = Output.CreateSecret(0); + _password = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// OpenTelemetry basic auth username + /// + [Input("username", required: true)] + public Input Username { get; set; } = null!; + + public TelemetryrouterDestinationConfigOpentelemetryBasicAuthGetArgs() + { + } + public static new TelemetryrouterDestinationConfigOpentelemetryBasicAuthGetArgs Empty => new TelemetryrouterDestinationConfigOpentelemetryBasicAuthGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigOpentelemetryGetArgs.cs b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigOpentelemetryGetArgs.cs new file mode 100644 index 0000000..6fed61f --- /dev/null +++ b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigOpentelemetryGetArgs.cs @@ -0,0 +1,48 @@ +// *** 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 TelemetryrouterDestinationConfigOpentelemetryGetArgs : global::Pulumi.ResourceArgs + { + /// + /// OpenTelemetry basic auth configuration + /// + [Input("basicAuth")] + public Input? BasicAuth { get; set; } + + [Input("bearerToken")] + private Input? _bearerToken; + + /// + /// OpenTelemetry bearer token + /// + public Input? BearerToken + { + get => _bearerToken; + set + { + var emptySecret = Output.CreateSecret(0); + _bearerToken = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// OpenTelemetry destination URI + /// + [Input("uri", required: true)] + public Input Uri { get; set; } = null!; + + public TelemetryrouterDestinationConfigOpentelemetryGetArgs() + { + } + public static new TelemetryrouterDestinationConfigOpentelemetryGetArgs Empty => new TelemetryrouterDestinationConfigOpentelemetryGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigS3AccessKeyArgs.cs b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigS3AccessKeyArgs.cs new file mode 100644 index 0000000..80ed267 --- /dev/null +++ b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigS3AccessKeyArgs.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.Inputs +{ + + public sealed class TelemetryrouterDestinationConfigS3AccessKeyArgs : global::Pulumi.ResourceArgs + { + /// + /// S3 access key ID + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + [Input("secret", required: true)] + private Input? _secret; + + /// + /// S3 access key secret + /// + public Input? Secret + { + get => _secret; + set + { + var emptySecret = Output.CreateSecret(0); + _secret = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public TelemetryrouterDestinationConfigS3AccessKeyArgs() + { + } + public static new TelemetryrouterDestinationConfigS3AccessKeyArgs Empty => new TelemetryrouterDestinationConfigS3AccessKeyArgs(); + } +} diff --git a/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigS3AccessKeyGetArgs.cs b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigS3AccessKeyGetArgs.cs new file mode 100644 index 0000000..c42389a --- /dev/null +++ b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigS3AccessKeyGetArgs.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.Inputs +{ + + public sealed class TelemetryrouterDestinationConfigS3AccessKeyGetArgs : global::Pulumi.ResourceArgs + { + /// + /// S3 access key ID + /// + [Input("id", required: true)] + public Input Id { get; set; } = null!; + + [Input("secret", required: true)] + private Input? _secret; + + /// + /// S3 access key secret + /// + public Input? Secret + { + get => _secret; + set + { + var emptySecret = Output.CreateSecret(0); + _secret = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + public TelemetryrouterDestinationConfigS3AccessKeyGetArgs() + { + } + public static new TelemetryrouterDestinationConfigS3AccessKeyGetArgs Empty => new TelemetryrouterDestinationConfigS3AccessKeyGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigS3Args.cs b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigS3Args.cs new file mode 100644 index 0000000..8f70ccf --- /dev/null +++ b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigS3Args.cs @@ -0,0 +1,38 @@ +// *** 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 TelemetryrouterDestinationConfigS3Args : global::Pulumi.ResourceArgs + { + /// + /// S3 access key configuration + /// + [Input("accessKey")] + public Input? AccessKey { get; set; } + + /// + /// S3 bucket name + /// + [Input("bucket", required: true)] + public Input Bucket { get; set; } = null!; + + /// + /// S3 endpoint + /// + [Input("endpoint", required: true)] + public Input Endpoint { get; set; } = null!; + + public TelemetryrouterDestinationConfigS3Args() + { + } + public static new TelemetryrouterDestinationConfigS3Args Empty => new TelemetryrouterDestinationConfigS3Args(); + } +} diff --git a/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigS3GetArgs.cs b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigS3GetArgs.cs new file mode 100644 index 0000000..bfa9962 --- /dev/null +++ b/sdk/dotnet/Inputs/TelemetryrouterDestinationConfigS3GetArgs.cs @@ -0,0 +1,38 @@ +// *** 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 TelemetryrouterDestinationConfigS3GetArgs : global::Pulumi.ResourceArgs + { + /// + /// S3 access key configuration + /// + [Input("accessKey")] + public Input? AccessKey { get; set; } + + /// + /// S3 bucket name + /// + [Input("bucket", required: true)] + public Input Bucket { get; set; } = null!; + + /// + /// S3 endpoint + /// + [Input("endpoint", required: true)] + public Input Endpoint { get; set; } = null!; + + public TelemetryrouterDestinationConfigS3GetArgs() + { + } + public static new TelemetryrouterDestinationConfigS3GetArgs Empty => new TelemetryrouterDestinationConfigS3GetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/TelemetryrouterInstanceFilterArgs.cs b/sdk/dotnet/Inputs/TelemetryrouterInstanceFilterArgs.cs new file mode 100644 index 0000000..4adb73e --- /dev/null +++ b/sdk/dotnet/Inputs/TelemetryrouterInstanceFilterArgs.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 TelemetryrouterInstanceFilterArgs : global::Pulumi.ResourceArgs + { + [Input("attributes", required: true)] + private InputList? _attributes; + + /// + /// The TelemetryRouter global filter attributes + /// + public InputList Attributes + { + get => _attributes ?? (_attributes = new InputList()); + set => _attributes = value; + } + + public TelemetryrouterInstanceFilterArgs() + { + } + public static new TelemetryrouterInstanceFilterArgs Empty => new TelemetryrouterInstanceFilterArgs(); + } +} diff --git a/sdk/dotnet/Inputs/TelemetryrouterInstanceFilterAttributeArgs.cs b/sdk/dotnet/Inputs/TelemetryrouterInstanceFilterAttributeArgs.cs new file mode 100644 index 0000000..e19571d --- /dev/null +++ b/sdk/dotnet/Inputs/TelemetryrouterInstanceFilterAttributeArgs.cs @@ -0,0 +1,50 @@ +// *** 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 TelemetryrouterInstanceFilterAttributeArgs : global::Pulumi.ResourceArgs + { + /// + /// The TelemetryRouter global filter attribute key + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// The TelemetryRouter global filter attribute level, possible values: Possible values are: `Resource`, `Scope`, `logRecord`. + /// + [Input("level", required: true)] + public Input Level { get; set; } = null!; + + /// + /// The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. + /// + [Input("matcher", required: true)] + public Input Matcher { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// The TelemetryRouter global filter attributes + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public TelemetryrouterInstanceFilterAttributeArgs() + { + } + public static new TelemetryrouterInstanceFilterAttributeArgs Empty => new TelemetryrouterInstanceFilterAttributeArgs(); + } +} diff --git a/sdk/dotnet/Inputs/TelemetryrouterInstanceFilterAttributeGetArgs.cs b/sdk/dotnet/Inputs/TelemetryrouterInstanceFilterAttributeGetArgs.cs new file mode 100644 index 0000000..a0ca40f --- /dev/null +++ b/sdk/dotnet/Inputs/TelemetryrouterInstanceFilterAttributeGetArgs.cs @@ -0,0 +1,50 @@ +// *** 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 TelemetryrouterInstanceFilterAttributeGetArgs : global::Pulumi.ResourceArgs + { + /// + /// The TelemetryRouter global filter attribute key + /// + [Input("key", required: true)] + public Input Key { get; set; } = null!; + + /// + /// The TelemetryRouter global filter attribute level, possible values: Possible values are: `Resource`, `Scope`, `logRecord`. + /// + [Input("level", required: true)] + public Input Level { get; set; } = null!; + + /// + /// The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. + /// + [Input("matcher", required: true)] + public Input Matcher { get; set; } = null!; + + [Input("values", required: true)] + private InputList? _values; + + /// + /// The TelemetryRouter global filter attributes + /// + public InputList Values + { + get => _values ?? (_values = new InputList()); + set => _values = value; + } + + public TelemetryrouterInstanceFilterAttributeGetArgs() + { + } + public static new TelemetryrouterInstanceFilterAttributeGetArgs Empty => new TelemetryrouterInstanceFilterAttributeGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/TelemetryrouterInstanceFilterGetArgs.cs b/sdk/dotnet/Inputs/TelemetryrouterInstanceFilterGetArgs.cs new file mode 100644 index 0000000..1b62955 --- /dev/null +++ b/sdk/dotnet/Inputs/TelemetryrouterInstanceFilterGetArgs.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 TelemetryrouterInstanceFilterGetArgs : global::Pulumi.ResourceArgs + { + [Input("attributes", required: true)] + private InputList? _attributes; + + /// + /// The TelemetryRouter global filter attributes + /// + public InputList Attributes + { + get => _attributes ?? (_attributes = new InputList()); + set => _attributes = value; + } + + public TelemetryrouterInstanceFilterGetArgs() + { + } + public static new TelemetryrouterInstanceFilterGetArgs Empty => new TelemetryrouterInstanceFilterGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/VpnGatewayAvailabilityZonesArgs.cs b/sdk/dotnet/Inputs/VpnGatewayAvailabilityZonesArgs.cs new file mode 100644 index 0000000..9aa231f --- /dev/null +++ b/sdk/dotnet/Inputs/VpnGatewayAvailabilityZonesArgs.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 VpnGatewayAvailabilityZonesArgs : global::Pulumi.ResourceArgs + { + /// + /// Availability zone for tunnel 1. + /// + [Input("tunnel1", required: true)] + public Input Tunnel1 { get; set; } = null!; + + /// + /// Availability zone for tunnel 2. + /// + [Input("tunnel2", required: true)] + public Input Tunnel2 { get; set; } = null!; + + public VpnGatewayAvailabilityZonesArgs() + { + } + public static new VpnGatewayAvailabilityZonesArgs Empty => new VpnGatewayAvailabilityZonesArgs(); + } +} diff --git a/sdk/dotnet/Inputs/VpnGatewayAvailabilityZonesGetArgs.cs b/sdk/dotnet/Inputs/VpnGatewayAvailabilityZonesGetArgs.cs new file mode 100644 index 0000000..683c84d --- /dev/null +++ b/sdk/dotnet/Inputs/VpnGatewayAvailabilityZonesGetArgs.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 VpnGatewayAvailabilityZonesGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Availability zone for tunnel 1. + /// + [Input("tunnel1", required: true)] + public Input Tunnel1 { get; set; } = null!; + + /// + /// Availability zone for tunnel 2. + /// + [Input("tunnel2", required: true)] + public Input Tunnel2 { get; set; } = null!; + + public VpnGatewayAvailabilityZonesGetArgs() + { + } + public static new VpnGatewayAvailabilityZonesGetArgs Empty => new VpnGatewayAvailabilityZonesGetArgs(); + } +} diff --git a/sdk/dotnet/Inputs/VpnGatewayBgpArgs.cs b/sdk/dotnet/Inputs/VpnGatewayBgpArgs.cs new file mode 100644 index 0000000..672fd99 --- /dev/null +++ b/sdk/dotnet/Inputs/VpnGatewayBgpArgs.cs @@ -0,0 +1,38 @@ +// *** 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 VpnGatewayBgpArgs : global::Pulumi.ResourceArgs + { + /// + /// Local ASN for BGP (private ASN range, 64512-4294967294). + /// + [Input("localAsn", required: true)] + public Input LocalAsn { get; set; } = null!; + + [Input("overrideAdvertisedRoutes")] + private InputList? _overrideAdvertisedRoutes; + + /// + /// List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. + /// + public InputList OverrideAdvertisedRoutes + { + get => _overrideAdvertisedRoutes ?? (_overrideAdvertisedRoutes = new InputList()); + set => _overrideAdvertisedRoutes = value; + } + + public VpnGatewayBgpArgs() + { + } + public static new VpnGatewayBgpArgs Empty => new VpnGatewayBgpArgs(); + } +} diff --git a/sdk/dotnet/Inputs/VpnGatewayBgpGetArgs.cs b/sdk/dotnet/Inputs/VpnGatewayBgpGetArgs.cs new file mode 100644 index 0000000..a37be7c --- /dev/null +++ b/sdk/dotnet/Inputs/VpnGatewayBgpGetArgs.cs @@ -0,0 +1,38 @@ +// *** 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 VpnGatewayBgpGetArgs : global::Pulumi.ResourceArgs + { + /// + /// Local ASN for BGP (private ASN range, 64512-4294967294). + /// + [Input("localAsn", required: true)] + public Input LocalAsn { get; set; } = null!; + + [Input("overrideAdvertisedRoutes")] + private InputList? _overrideAdvertisedRoutes; + + /// + /// List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. + /// + public InputList OverrideAdvertisedRoutes + { + get => _overrideAdvertisedRoutes ?? (_overrideAdvertisedRoutes = new InputList()); + set => _overrideAdvertisedRoutes = value; + } + + public VpnGatewayBgpGetArgs() + { + } + public static new VpnGatewayBgpGetArgs Empty => new VpnGatewayBgpGetArgs(); + } +} diff --git a/sdk/dotnet/LogsAccessToken.cs b/sdk/dotnet/LogsAccessToken.cs index d48689a..7f2c379 100644 --- a/sdk/dotnet/LogsAccessToken.cs +++ b/sdk/dotnet/LogsAccessToken.cs @@ -83,6 +83,12 @@ public partial class LogsAccessToken : global::Pulumi.CustomResource [Output("region")] public Output Region { get; private set; } = null!; + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + [Output("rotateWhenChanged")] + public Output?> RotateWhenChanged { get; private set; } = null!; + /// /// The status of the access token. Possible values are: `Active`, `Expired`. /// @@ -194,6 +200,18 @@ public InputList Permissions [Input("region")] public Input? Region { get; set; } + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + public LogsAccessTokenArgs() { } @@ -284,6 +302,18 @@ public InputList Permissions [Input("region")] public Input? Region { get; set; } + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + /// /// The status of the access token. Possible values are: `Active`, `Expired`. /// diff --git a/sdk/dotnet/LogsInstance.cs b/sdk/dotnet/LogsInstance.cs index 3acd0e8..808cdc0 100644 --- a/sdk/dotnet/LogsInstance.cs +++ b/sdk/dotnet/LogsInstance.cs @@ -96,7 +96,7 @@ public partial class LogsInstance : global::Pulumi.CustomResource public Output RetentionDays { get; private set; } = null!; /// - /// The status of the Logs instance, possible values: Possible values are: `Active`, `Deleting`, `Reconciling`. + /// The status of the Logs instance. Possible values are: `Active`, `Deleting`, `Reconciling`. /// [Output("status")] public Output Status { get; private set; } = null!; @@ -283,7 +283,7 @@ public InputList Acls public Input? RetentionDays { get; set; } /// - /// The status of the Logs instance, possible values: Possible values are: `Active`, `Deleting`, `Reconciling`. + /// The status of the Logs instance. Possible values are: `Active`, `Deleting`, `Reconciling`. /// [Input("status")] public Input? Status { get; set; } diff --git a/sdk/dotnet/MariadbCredential.cs b/sdk/dotnet/MariadbCredential.cs index d0e4e48..61c1cea 100644 --- a/sdk/dotnet/MariadbCredential.cs +++ b/sdk/dotnet/MariadbCredential.cs @@ -50,6 +50,12 @@ public partial class MariadbCredential : global::Pulumi.CustomResource [Output("projectId")] public Output ProjectId { get; private set; } = null!; + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + [Output("rotateWhenChanged")] + public Output?> RotateWhenChanged { get; private set; } = null!; + [Output("uri")] public Output Uri { get; private set; } = null!; @@ -120,6 +126,18 @@ public sealed class MariadbCredentialArgs : global::Pulumi.ResourceArgs [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + public MariadbCredentialArgs() { } @@ -175,6 +193,18 @@ public Input? Password [Input("projectId")] public Input? ProjectId { get; set; } + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + [Input("uri")] private Input? _uri; public Input? Uri diff --git a/sdk/dotnet/MongodbflexUser.cs b/sdk/dotnet/MongodbflexUser.cs index 144059f..9e1d231 100644 --- a/sdk/dotnet/MongodbflexUser.cs +++ b/sdk/dotnet/MongodbflexUser.cs @@ -53,6 +53,12 @@ public partial class MongodbflexUser : global::Pulumi.CustomResource [Output("roles")] public Output> Roles { get; private set; } = null!; + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + [Output("rotateWhenChanged")] + public Output?> RotateWhenChanged { get; private set; } = null!; + [Output("uri")] public Output Uri { get; private set; } = null!; @@ -150,6 +156,18 @@ public InputList Roles set => _roles = value; } + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + [Input("username")] public Input? Username { get; set; } @@ -212,6 +230,18 @@ public InputList Roles set => _roles = value; } + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + [Input("uri")] private Input? _uri; public Input? Uri diff --git a/sdk/dotnet/ObjectstorageCredential.cs b/sdk/dotnet/ObjectstorageCredential.cs index e3a395e..0ce7e91 100644 --- a/sdk/dotnet/ObjectstorageCredential.cs +++ b/sdk/dotnet/ObjectstorageCredential.cs @@ -53,6 +53,12 @@ public partial class ObjectstorageCredential : global::Pulumi.CustomResource [Output("region")] public Output Region { get; private set; } = null!; + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + [Output("rotateWhenChanged")] + public Output?> RotateWhenChanged { get; private set; } = null!; + [Output("secretAccessKey")] public Output SecretAccessKey { get; private set; } = null!; @@ -131,6 +137,18 @@ public sealed class ObjectstorageCredentialArgs : global::Pulumi.ResourceArgs [Input("region")] public Input? Region { get; set; } + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + public ObjectstorageCredentialArgs() { } @@ -175,6 +193,18 @@ public sealed class ObjectstorageCredentialState : global::Pulumi.ResourceArgs [Input("region")] public Input? Region { get; set; } + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + [Input("secretAccessKey")] private Input? _secretAccessKey; public Input? SecretAccessKey diff --git a/sdk/dotnet/ObservabilityCredential.cs b/sdk/dotnet/ObservabilityCredential.cs index c21da54..f564ce3 100644 --- a/sdk/dotnet/ObservabilityCredential.cs +++ b/sdk/dotnet/ObservabilityCredential.cs @@ -41,6 +41,12 @@ public partial class ObservabilityCredential : global::Pulumi.CustomResource [Output("projectId")] public Output ProjectId { get; private set; } = null!; + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + [Output("rotateWhenChanged")] + public Output?> RotateWhenChanged { get; private set; } = null!; + /// /// Credential username /// @@ -116,6 +122,18 @@ public sealed class ObservabilityCredentialArgs : global::Pulumi.ResourceArgs [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + public ObservabilityCredentialArgs() { } @@ -158,6 +176,18 @@ public Input? Password [Input("projectId")] public Input? ProjectId { get; set; } + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + /// /// Credential username /// diff --git a/sdk/dotnet/OpensearchCredential.cs b/sdk/dotnet/OpensearchCredential.cs index 936455d..e8a59a6 100644 --- a/sdk/dotnet/OpensearchCredential.cs +++ b/sdk/dotnet/OpensearchCredential.cs @@ -47,6 +47,12 @@ public partial class OpensearchCredential : global::Pulumi.CustomResource [Output("projectId")] public Output ProjectId { get; private set; } = null!; + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + [Output("rotateWhenChanged")] + public Output?> RotateWhenChanged { get; private set; } = null!; + [Output("scheme")] public Output Scheme { get; private set; } = null!; @@ -120,6 +126,18 @@ public sealed class OpensearchCredentialArgs : global::Pulumi.ResourceArgs [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + public OpensearchCredentialArgs() { } @@ -172,6 +190,18 @@ public Input? Password [Input("projectId")] public Input? ProjectId { get; set; } + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + [Input("scheme")] public Input? Scheme { get; set; } diff --git a/sdk/dotnet/Outputs/DremioInstanceAuthentication.cs b/sdk/dotnet/Outputs/DremioInstanceAuthentication.cs new file mode 100644 index 0000000..b2fb6c2 --- /dev/null +++ b/sdk/dotnet/Outputs/DremioInstanceAuthentication.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 DremioInstanceAuthentication + { + /// + /// Azure Active Directory authentication configuration. + /// + public readonly Outputs.DremioInstanceAuthenticationAzuread? Azuread; + /// + /// OIDC authentication configuration. + /// + public readonly Outputs.DremioInstanceAuthenticationOauth? Oauth; + /// + /// Type of authentication (local-only, azuread, oauth). + /// + public readonly string Type; + + [OutputConstructor] + private DremioInstanceAuthentication( + Outputs.DremioInstanceAuthenticationAzuread? azuread, + + Outputs.DremioInstanceAuthenticationOauth? oauth, + + string type) + { + Azuread = azuread; + Oauth = oauth; + Type = type; + } + } +} diff --git a/sdk/dotnet/Outputs/DremioInstanceAuthenticationAzuread.cs b/sdk/dotnet/Outputs/DremioInstanceAuthenticationAzuread.cs new file mode 100644 index 0000000..cecdd75 --- /dev/null +++ b/sdk/dotnet/Outputs/DremioInstanceAuthenticationAzuread.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 DremioInstanceAuthenticationAzuread + { + /// + /// The Azure AD authority URL. + /// + public readonly string AuthorityUrl; + /// + /// The Azure AD client ID. + /// + public readonly string ClientId; + /// + /// The Azure AD client secret. + /// + public readonly string ClientSecret; + /// + /// The Azure AD redirect URL. + /// + public readonly string? RedirectUrl; + + [OutputConstructor] + private DremioInstanceAuthenticationAzuread( + string authorityUrl, + + string clientId, + + string clientSecret, + + string? redirectUrl) + { + AuthorityUrl = authorityUrl; + ClientId = clientId; + ClientSecret = clientSecret; + RedirectUrl = redirectUrl; + } + } +} diff --git a/sdk/dotnet/Outputs/DremioInstanceAuthenticationOauth.cs b/sdk/dotnet/Outputs/DremioInstanceAuthenticationOauth.cs new file mode 100644 index 0000000..d5ee663 --- /dev/null +++ b/sdk/dotnet/Outputs/DremioInstanceAuthenticationOauth.cs @@ -0,0 +1,70 @@ +// *** 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 DremioInstanceAuthenticationOauth + { + /// + /// The Issuer location URI, where the OIDC provider configuration can be found. + /// + public readonly string AuthorityUrl; + /// + /// The client ID assigned by the Identity Provider. + /// + public readonly string ClientId; + /// + /// The client secret generated by the Identity Provider. + /// + public readonly string ClientSecret; + /// + /// Maps fields from the JWT token to fields Dremio requires. + /// + public readonly Outputs.DremioInstanceAuthenticationOauthJwtClaims JwtClaims; + /// + /// Any additional parameters the Identity Provider requires. + /// + public readonly ImmutableArray Parameters; + /// + /// The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. + /// + public readonly string? RedirectUrl; + /// + /// A list of space-separated scopes. The `Openid` scope is always required; other scopes can vary by provider. + /// + public readonly string? Scope; + + [OutputConstructor] + private DremioInstanceAuthenticationOauth( + string authorityUrl, + + string clientId, + + string clientSecret, + + Outputs.DremioInstanceAuthenticationOauthJwtClaims jwtClaims, + + ImmutableArray parameters, + + string? redirectUrl, + + string? scope) + { + AuthorityUrl = authorityUrl; + ClientId = clientId; + ClientSecret = clientSecret; + JwtClaims = jwtClaims; + Parameters = parameters; + RedirectUrl = redirectUrl; + Scope = scope; + } + } +} diff --git a/sdk/dotnet/Outputs/DremioInstanceAuthenticationOauthJwtClaims.cs b/sdk/dotnet/Outputs/DremioInstanceAuthenticationOauthJwtClaims.cs new file mode 100644 index 0000000..ed5abb9 --- /dev/null +++ b/sdk/dotnet/Outputs/DremioInstanceAuthenticationOauthJwtClaims.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 DremioInstanceAuthenticationOauthJwtClaims + { + /// + /// Mapped user name claim (e.g. email). + /// + public readonly string UserName; + + [OutputConstructor] + private DremioInstanceAuthenticationOauthJwtClaims(string userName) + { + UserName = userName; + } + } +} diff --git a/sdk/dotnet/Outputs/DremioInstanceAuthenticationOauthParameter.cs b/sdk/dotnet/Outputs/DremioInstanceAuthenticationOauthParameter.cs new file mode 100644 index 0000000..5470bd2 --- /dev/null +++ b/sdk/dotnet/Outputs/DremioInstanceAuthenticationOauthParameter.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 DremioInstanceAuthenticationOauthParameter + { + /// + /// Parameter name. + /// + public readonly string Name; + /// + /// Parameter value. + /// + public readonly string Value; + + [OutputConstructor] + private DremioInstanceAuthenticationOauthParameter( + string name, + + string value) + { + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/DremioInstanceEndpoints.cs b/sdk/dotnet/Outputs/DremioInstanceEndpoints.cs new file mode 100644 index 0000000..87493f5 --- /dev/null +++ b/sdk/dotnet/Outputs/DremioInstanceEndpoints.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 DremioInstanceEndpoints + { + /// + /// The arrow flight endpoint of the Dremio instance. + /// + public readonly string? ArrowFlight; + /// + /// The Apache Iceberg endpoint of the Dremio instance. + /// + public readonly string? Catalog; + /// + /// The UI endpoint of the Dremio instance. + /// + public readonly string? Ui; + + [OutputConstructor] + private DremioInstanceEndpoints( + string? arrowFlight, + + string? catalog, + + string? ui) + { + ArrowFlight = arrowFlight; + Catalog = catalog; + Ui = ui; + } + } +} diff --git a/sdk/dotnet/Outputs/DremioInstanceTimeouts.cs b/sdk/dotnet/Outputs/DremioInstanceTimeouts.cs new file mode 100644 index 0000000..640df66 --- /dev/null +++ b/sdk/dotnet/Outputs/DremioInstanceTimeouts.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 DremioInstanceTimeouts + { + /// + /// 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). + /// + public readonly string? Create; + /// + /// 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + /// + public readonly string? Delete; + /// + /// 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 operations occur during any refresh or planning operation when refresh is enabled. + /// + public readonly string? 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). + /// + public readonly string? Update; + + [OutputConstructor] + private DremioInstanceTimeouts( + string? create, + + string? delete, + + string? read, + + string? update) + { + Create = create; + Delete = delete; + Read = read; + Update = update; + } + } +} diff --git a/sdk/dotnet/Outputs/DremioUserTimeouts.cs b/sdk/dotnet/Outputs/DremioUserTimeouts.cs new file mode 100644 index 0000000..5e2af01 --- /dev/null +++ b/sdk/dotnet/Outputs/DremioUserTimeouts.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 DremioUserTimeouts + { + /// + /// 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). + /// + public readonly string? Create; + /// + /// 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + /// + public readonly string? Delete; + /// + /// 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 operations occur during any refresh or planning operation when refresh is enabled. + /// + public readonly string? 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). + /// + public readonly string? Update; + + [OutputConstructor] + private DremioUserTimeouts( + string? create, + + string? delete, + + string? read, + + string? update) + { + Create = create; + Delete = delete; + Read = read; + Update = update; + } + } +} diff --git a/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationAzureadResult.cs b/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationAzureadResult.cs new file mode 100644 index 0000000..8cdfcf6 --- /dev/null +++ b/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationAzureadResult.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 GetDremioInstanceAuthenticationAzureadResult + { + /// + /// The Azure AD authority URL. + /// + public readonly string AuthorityUrl; + /// + /// The Azure AD client ID. + /// + public readonly string ClientId; + /// + /// The Azure AD client secret. + /// + public readonly string ClientSecret; + /// + /// The Azure AD redirect URL. + /// + public readonly string RedirectUrl; + + [OutputConstructor] + private GetDremioInstanceAuthenticationAzureadResult( + string authorityUrl, + + string clientId, + + string clientSecret, + + string redirectUrl) + { + AuthorityUrl = authorityUrl; + ClientId = clientId; + ClientSecret = clientSecret; + RedirectUrl = redirectUrl; + } + } +} diff --git a/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationOauthJwtClaimsResult.cs b/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationOauthJwtClaimsResult.cs new file mode 100644 index 0000000..9b01e08 --- /dev/null +++ b/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationOauthJwtClaimsResult.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 GetDremioInstanceAuthenticationOauthJwtClaimsResult + { + /// + /// Mapped user name claim (e.g. email). + /// + public readonly string UserName; + + [OutputConstructor] + private GetDremioInstanceAuthenticationOauthJwtClaimsResult(string userName) + { + UserName = userName; + } + } +} diff --git a/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationOauthParameterResult.cs b/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationOauthParameterResult.cs new file mode 100644 index 0000000..736608c --- /dev/null +++ b/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationOauthParameterResult.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 GetDremioInstanceAuthenticationOauthParameterResult + { + /// + /// Parameter name. + /// + public readonly string Name; + /// + /// Parameter value. + /// + public readonly string Value; + + [OutputConstructor] + private GetDremioInstanceAuthenticationOauthParameterResult( + string name, + + string value) + { + Name = name; + Value = value; + } + } +} diff --git a/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationOauthResult.cs b/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationOauthResult.cs new file mode 100644 index 0000000..f59f058 --- /dev/null +++ b/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationOauthResult.cs @@ -0,0 +1,70 @@ +// *** 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 GetDremioInstanceAuthenticationOauthResult + { + /// + /// The Issuer location URI, where the OIDC provider configuration can be found. + /// + public readonly string AuthorityUrl; + /// + /// The client ID assigned by the Identity Provider. + /// + public readonly string ClientId; + /// + /// The client secret generated by the Identity Provider. + /// + public readonly string ClientSecret; + /// + /// Maps fields from the JWT token to fields Dremio requires. + /// + public readonly Outputs.GetDremioInstanceAuthenticationOauthJwtClaimsResult JwtClaims; + /// + /// Any additional parameters the Identity Provider requires. + /// + public readonly ImmutableArray Parameters; + /// + /// The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. + /// + public readonly string RedirectUrl; + /// + /// A list of space-separated scopes. The `Openid` scope is always required; other scopes can vary by provider. + /// + public readonly string Scope; + + [OutputConstructor] + private GetDremioInstanceAuthenticationOauthResult( + string authorityUrl, + + string clientId, + + string clientSecret, + + Outputs.GetDremioInstanceAuthenticationOauthJwtClaimsResult jwtClaims, + + ImmutableArray parameters, + + string redirectUrl, + + string scope) + { + AuthorityUrl = authorityUrl; + ClientId = clientId; + ClientSecret = clientSecret; + JwtClaims = jwtClaims; + Parameters = parameters; + RedirectUrl = redirectUrl; + Scope = scope; + } + } +} diff --git a/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationResult.cs b/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationResult.cs new file mode 100644 index 0000000..8d74a6c --- /dev/null +++ b/sdk/dotnet/Outputs/GetDremioInstanceAuthenticationResult.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 GetDremioInstanceAuthenticationResult + { + /// + /// Azure Active Directory authentication configuration. + /// + public readonly Outputs.GetDremioInstanceAuthenticationAzureadResult Azuread; + /// + /// OIDC authentication configuration. + /// + public readonly Outputs.GetDremioInstanceAuthenticationOauthResult Oauth; + /// + /// Type of authentication (local-only, azuread, oauth). + /// + public readonly string Type; + + [OutputConstructor] + private GetDremioInstanceAuthenticationResult( + Outputs.GetDremioInstanceAuthenticationAzureadResult azuread, + + Outputs.GetDremioInstanceAuthenticationOauthResult oauth, + + string type) + { + Azuread = azuread; + Oauth = oauth; + Type = type; + } + } +} diff --git a/sdk/dotnet/Outputs/GetDremioInstanceEndpointsResult.cs b/sdk/dotnet/Outputs/GetDremioInstanceEndpointsResult.cs new file mode 100644 index 0000000..f36f163 --- /dev/null +++ b/sdk/dotnet/Outputs/GetDremioInstanceEndpointsResult.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 GetDremioInstanceEndpointsResult + { + /// + /// The arrow flight endpoint of the Dremio instance. + /// + public readonly string ArrowFlight; + /// + /// The Apache Iceberg endpoint of the Dremio instance. + /// + public readonly string Catalog; + /// + /// The UI endpoint of the Dremio instance. + /// + public readonly string Ui; + + [OutputConstructor] + private GetDremioInstanceEndpointsResult( + string arrowFlight, + + string catalog, + + string ui) + { + ArrowFlight = arrowFlight; + Catalog = catalog; + Ui = ui; + } + } +} diff --git a/sdk/dotnet/Outputs/GetTelemetryrouterDestinationConfigFilterAttributeResult.cs b/sdk/dotnet/Outputs/GetTelemetryrouterDestinationConfigFilterAttributeResult.cs new file mode 100644 index 0000000..f881215 --- /dev/null +++ b/sdk/dotnet/Outputs/GetTelemetryrouterDestinationConfigFilterAttributeResult.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 GetTelemetryrouterDestinationConfigFilterAttributeResult + { + /// + /// The TelemetryRouter destination's filter attribute key + /// + public readonly string Key; + /// + /// The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `Resource`, `Scope`, `logRecord`. + /// + public readonly string Level; + /// + /// The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. + /// + public readonly string Matcher; + /// + /// The TelemetryRouter destination's filter attribute values + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetTelemetryrouterDestinationConfigFilterAttributeResult( + string key, + + string level, + + string matcher, + + ImmutableArray values) + { + Key = key; + Level = level; + Matcher = matcher; + Values = values; + } + } +} diff --git a/sdk/dotnet/Outputs/GetTelemetryrouterDestinationConfigFilterResult.cs b/sdk/dotnet/Outputs/GetTelemetryrouterDestinationConfigFilterResult.cs new file mode 100644 index 0000000..7990e2d --- /dev/null +++ b/sdk/dotnet/Outputs/GetTelemetryrouterDestinationConfigFilterResult.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 GetTelemetryrouterDestinationConfigFilterResult + { + /// + /// The TelemetryRouter destination's filter attributes + /// + public readonly ImmutableArray Attributes; + + [OutputConstructor] + private GetTelemetryrouterDestinationConfigFilterResult(ImmutableArray attributes) + { + Attributes = attributes; + } + } +} diff --git a/sdk/dotnet/Outputs/GetTelemetryrouterDestinationConfigOpentelemetryResult.cs b/sdk/dotnet/Outputs/GetTelemetryrouterDestinationConfigOpentelemetryResult.cs new file mode 100644 index 0000000..4881fa7 --- /dev/null +++ b/sdk/dotnet/Outputs/GetTelemetryrouterDestinationConfigOpentelemetryResult.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 GetTelemetryrouterDestinationConfigOpentelemetryResult + { + /// + /// OpenTelemetry destination URI + /// + public readonly string Uri; + + [OutputConstructor] + private GetTelemetryrouterDestinationConfigOpentelemetryResult(string uri) + { + Uri = uri; + } + } +} diff --git a/sdk/dotnet/Outputs/GetTelemetryrouterDestinationConfigResult.cs b/sdk/dotnet/Outputs/GetTelemetryrouterDestinationConfigResult.cs new file mode 100644 index 0000000..a758f9e --- /dev/null +++ b/sdk/dotnet/Outputs/GetTelemetryrouterDestinationConfigResult.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 GetTelemetryrouterDestinationConfigResult + { + /// + /// The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. + /// + public readonly string ConfigType; + /// + /// The TelemetryRouter destination's filter settings + /// + public readonly Outputs.GetTelemetryrouterDestinationConfigFilterResult Filter; + /// + /// OpenTelemetry configuration + /// + public readonly Outputs.GetTelemetryrouterDestinationConfigOpentelemetryResult Opentelemetry; + /// + /// S3 configuration + /// + public readonly Outputs.GetTelemetryrouterDestinationConfigS3Result S3; + + [OutputConstructor] + private GetTelemetryrouterDestinationConfigResult( + string configType, + + Outputs.GetTelemetryrouterDestinationConfigFilterResult filter, + + Outputs.GetTelemetryrouterDestinationConfigOpentelemetryResult opentelemetry, + + Outputs.GetTelemetryrouterDestinationConfigS3Result s3) + { + ConfigType = configType; + Filter = filter; + Opentelemetry = opentelemetry; + S3 = s3; + } + } +} diff --git a/sdk/dotnet/Outputs/GetTelemetryrouterDestinationConfigS3Result.cs b/sdk/dotnet/Outputs/GetTelemetryrouterDestinationConfigS3Result.cs new file mode 100644 index 0000000..dc7960a --- /dev/null +++ b/sdk/dotnet/Outputs/GetTelemetryrouterDestinationConfigS3Result.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 GetTelemetryrouterDestinationConfigS3Result + { + /// + /// S3 bucket name + /// + public readonly string Bucket; + /// + /// S3 endpoint + /// + public readonly string Endpoint; + + [OutputConstructor] + private GetTelemetryrouterDestinationConfigS3Result( + string bucket, + + string endpoint) + { + Bucket = bucket; + Endpoint = endpoint; + } + } +} diff --git a/sdk/dotnet/Outputs/GetTelemetryrouterInstanceFilterAttributeResult.cs b/sdk/dotnet/Outputs/GetTelemetryrouterInstanceFilterAttributeResult.cs new file mode 100644 index 0000000..1074637 --- /dev/null +++ b/sdk/dotnet/Outputs/GetTelemetryrouterInstanceFilterAttributeResult.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 GetTelemetryrouterInstanceFilterAttributeResult + { + /// + /// The TelemetryRouter global filter attribute key + /// + public readonly string Key; + /// + /// The TelemetryRouter global filter attribute level, possible values: Possible values are: `Resource`, `Scope`, `logRecord`. + /// + public readonly string Level; + /// + /// The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. + /// + public readonly string Matcher; + /// + /// The TelemetryRouter global filter attributes + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private GetTelemetryrouterInstanceFilterAttributeResult( + string key, + + string level, + + string matcher, + + ImmutableArray values) + { + Key = key; + Level = level; + Matcher = matcher; + Values = values; + } + } +} diff --git a/sdk/dotnet/Outputs/GetTelemetryrouterInstanceFilterResult.cs b/sdk/dotnet/Outputs/GetTelemetryrouterInstanceFilterResult.cs new file mode 100644 index 0000000..c79e6bd --- /dev/null +++ b/sdk/dotnet/Outputs/GetTelemetryrouterInstanceFilterResult.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 GetTelemetryrouterInstanceFilterResult + { + /// + /// The TelemetryRouter global filter attributes + /// + public readonly ImmutableArray Attributes; + + [OutputConstructor] + private GetTelemetryrouterInstanceFilterResult(ImmutableArray attributes) + { + Attributes = attributes; + } + } +} diff --git a/sdk/dotnet/Outputs/GetVpnGatewayAvailabilityZonesResult.cs b/sdk/dotnet/Outputs/GetVpnGatewayAvailabilityZonesResult.cs new file mode 100644 index 0000000..76a4fd9 --- /dev/null +++ b/sdk/dotnet/Outputs/GetVpnGatewayAvailabilityZonesResult.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 GetVpnGatewayAvailabilityZonesResult + { + /// + /// Availability zone for tunnel 1. + /// + public readonly string Tunnel1; + /// + /// Availability zone for tunnel 2. + /// + public readonly string Tunnel2; + + [OutputConstructor] + private GetVpnGatewayAvailabilityZonesResult( + string tunnel1, + + string tunnel2) + { + Tunnel1 = tunnel1; + Tunnel2 = tunnel2; + } + } +} diff --git a/sdk/dotnet/Outputs/GetVpnGatewayBgpResult.cs b/sdk/dotnet/Outputs/GetVpnGatewayBgpResult.cs new file mode 100644 index 0000000..96fcaec --- /dev/null +++ b/sdk/dotnet/Outputs/GetVpnGatewayBgpResult.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 GetVpnGatewayBgpResult + { + /// + /// Local ASN for BGP (private ASN range, 64512-4294967294). + /// + public readonly int LocalAsn; + /// + /// List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. + /// + public readonly ImmutableArray OverrideAdvertisedRoutes; + + [OutputConstructor] + private GetVpnGatewayBgpResult( + int localAsn, + + ImmutableArray overrideAdvertisedRoutes) + { + LocalAsn = localAsn; + OverrideAdvertisedRoutes = overrideAdvertisedRoutes; + } + } +} diff --git a/sdk/dotnet/Outputs/MongodbflexInstanceStorage.cs b/sdk/dotnet/Outputs/MongodbflexInstanceStorage.cs index 9d84a1c..41de01a 100644 --- a/sdk/dotnet/Outputs/MongodbflexInstanceStorage.cs +++ b/sdk/dotnet/Outputs/MongodbflexInstanceStorage.cs @@ -13,6 +13,13 @@ namespace Pulumi.Stackit.Outputs [OutputType] public sealed class MongodbflexInstanceStorage { + /// + /// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + /// `bash + /// stackit mongodbflex options --storages --flavor-id FLAVOR_ID + /// ` + /// - `Size` (Number) + /// public readonly string Class; public readonly int Size; diff --git a/sdk/dotnet/Outputs/PostgresflexInstanceStorage.cs b/sdk/dotnet/Outputs/PostgresflexInstanceStorage.cs index c03ffe3..a4a164b 100644 --- a/sdk/dotnet/Outputs/PostgresflexInstanceStorage.cs +++ b/sdk/dotnet/Outputs/PostgresflexInstanceStorage.cs @@ -13,6 +13,13 @@ namespace Pulumi.Stackit.Outputs [OutputType] public sealed class PostgresflexInstanceStorage { + /// + /// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + /// `bash + /// stackit postgresflex options --storages --flavor-id FLAVOR_ID + /// ` + /// - `Size` (Number) + /// public readonly string Class; public readonly int Size; diff --git a/sdk/dotnet/Outputs/SqlserverflexInstanceStorage.cs b/sdk/dotnet/Outputs/SqlserverflexInstanceStorage.cs index d8106b1..5990a33 100644 --- a/sdk/dotnet/Outputs/SqlserverflexInstanceStorage.cs +++ b/sdk/dotnet/Outputs/SqlserverflexInstanceStorage.cs @@ -13,6 +13,13 @@ namespace Pulumi.Stackit.Outputs [OutputType] public sealed class SqlserverflexInstanceStorage { + /// + /// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + /// `bash + /// stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID + /// ` + /// - `Size` (Number) + /// public readonly string? Class; public readonly int? Size; diff --git a/sdk/dotnet/Outputs/TelemetryrouterDestinationConfig.cs b/sdk/dotnet/Outputs/TelemetryrouterDestinationConfig.cs new file mode 100644 index 0000000..d65d2a0 --- /dev/null +++ b/sdk/dotnet/Outputs/TelemetryrouterDestinationConfig.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 TelemetryrouterDestinationConfig + { + /// + /// The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. + /// + public readonly string ConfigType; + /// + /// The TelemetryRouter destination's filter settings + /// + public readonly Outputs.TelemetryrouterDestinationConfigFilter? Filter; + /// + /// OpenTelemetry configuration + /// + public readonly Outputs.TelemetryrouterDestinationConfigOpentelemetry? Opentelemetry; + /// + /// S3 configuration + /// + public readonly Outputs.TelemetryrouterDestinationConfigS3? S3; + + [OutputConstructor] + private TelemetryrouterDestinationConfig( + string configType, + + Outputs.TelemetryrouterDestinationConfigFilter? filter, + + Outputs.TelemetryrouterDestinationConfigOpentelemetry? opentelemetry, + + Outputs.TelemetryrouterDestinationConfigS3? s3) + { + ConfigType = configType; + Filter = filter; + Opentelemetry = opentelemetry; + S3 = s3; + } + } +} diff --git a/sdk/dotnet/Outputs/TelemetryrouterDestinationConfigFilter.cs b/sdk/dotnet/Outputs/TelemetryrouterDestinationConfigFilter.cs new file mode 100644 index 0000000..857b266 --- /dev/null +++ b/sdk/dotnet/Outputs/TelemetryrouterDestinationConfigFilter.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 TelemetryrouterDestinationConfigFilter + { + /// + /// The TelemetryRouter destination's filter attributes + /// + public readonly ImmutableArray Attributes; + + [OutputConstructor] + private TelemetryrouterDestinationConfigFilter(ImmutableArray attributes) + { + Attributes = attributes; + } + } +} diff --git a/sdk/dotnet/Outputs/TelemetryrouterDestinationConfigFilterAttribute.cs b/sdk/dotnet/Outputs/TelemetryrouterDestinationConfigFilterAttribute.cs new file mode 100644 index 0000000..190d028 --- /dev/null +++ b/sdk/dotnet/Outputs/TelemetryrouterDestinationConfigFilterAttribute.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 TelemetryrouterDestinationConfigFilterAttribute + { + /// + /// The TelemetryRouter destination's filter attribute key + /// + public readonly string Key; + /// + /// The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `Resource`, `Scope`, `logRecord`. + /// + public readonly string Level; + /// + /// The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. + /// + public readonly string Matcher; + /// + /// The TelemetryRouter destination's filter attribute values + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private TelemetryrouterDestinationConfigFilterAttribute( + string key, + + string level, + + string matcher, + + ImmutableArray values) + { + Key = key; + Level = level; + Matcher = matcher; + Values = values; + } + } +} diff --git a/sdk/dotnet/Outputs/TelemetryrouterDestinationConfigOpentelemetry.cs b/sdk/dotnet/Outputs/TelemetryrouterDestinationConfigOpentelemetry.cs new file mode 100644 index 0000000..6186915 --- /dev/null +++ b/sdk/dotnet/Outputs/TelemetryrouterDestinationConfigOpentelemetry.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 TelemetryrouterDestinationConfigOpentelemetry + { + /// + /// OpenTelemetry basic auth configuration + /// + public readonly Outputs.TelemetryrouterDestinationConfigOpentelemetryBasicAuth? BasicAuth; + /// + /// OpenTelemetry bearer token + /// + public readonly string? BearerToken; + /// + /// OpenTelemetry destination URI + /// + public readonly string Uri; + + [OutputConstructor] + private TelemetryrouterDestinationConfigOpentelemetry( + Outputs.TelemetryrouterDestinationConfigOpentelemetryBasicAuth? basicAuth, + + string? bearerToken, + + string uri) + { + BasicAuth = basicAuth; + BearerToken = bearerToken; + Uri = uri; + } + } +} diff --git a/sdk/dotnet/Outputs/TelemetryrouterDestinationConfigOpentelemetryBasicAuth.cs b/sdk/dotnet/Outputs/TelemetryrouterDestinationConfigOpentelemetryBasicAuth.cs new file mode 100644 index 0000000..e11d74b --- /dev/null +++ b/sdk/dotnet/Outputs/TelemetryrouterDestinationConfigOpentelemetryBasicAuth.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 TelemetryrouterDestinationConfigOpentelemetryBasicAuth + { + /// + /// OpenTelemetry basic auth username + /// + public readonly string Password; + /// + /// OpenTelemetry basic auth username + /// + public readonly string Username; + + [OutputConstructor] + private TelemetryrouterDestinationConfigOpentelemetryBasicAuth( + string password, + + string username) + { + Password = password; + Username = username; + } + } +} diff --git a/sdk/dotnet/Outputs/TelemetryrouterDestinationConfigS3.cs b/sdk/dotnet/Outputs/TelemetryrouterDestinationConfigS3.cs new file mode 100644 index 0000000..1e2d669 --- /dev/null +++ b/sdk/dotnet/Outputs/TelemetryrouterDestinationConfigS3.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 TelemetryrouterDestinationConfigS3 + { + /// + /// S3 access key configuration + /// + public readonly Outputs.TelemetryrouterDestinationConfigS3AccessKey? AccessKey; + /// + /// S3 bucket name + /// + public readonly string Bucket; + /// + /// S3 endpoint + /// + public readonly string Endpoint; + + [OutputConstructor] + private TelemetryrouterDestinationConfigS3( + Outputs.TelemetryrouterDestinationConfigS3AccessKey? accessKey, + + string bucket, + + string endpoint) + { + AccessKey = accessKey; + Bucket = bucket; + Endpoint = endpoint; + } + } +} diff --git a/sdk/dotnet/Outputs/TelemetryrouterDestinationConfigS3AccessKey.cs b/sdk/dotnet/Outputs/TelemetryrouterDestinationConfigS3AccessKey.cs new file mode 100644 index 0000000..ab87f77 --- /dev/null +++ b/sdk/dotnet/Outputs/TelemetryrouterDestinationConfigS3AccessKey.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 TelemetryrouterDestinationConfigS3AccessKey + { + /// + /// S3 access key ID + /// + public readonly string Id; + /// + /// S3 access key secret + /// + public readonly string Secret; + + [OutputConstructor] + private TelemetryrouterDestinationConfigS3AccessKey( + string id, + + string secret) + { + Id = id; + Secret = secret; + } + } +} diff --git a/sdk/dotnet/Outputs/TelemetryrouterInstanceFilter.cs b/sdk/dotnet/Outputs/TelemetryrouterInstanceFilter.cs new file mode 100644 index 0000000..25121bd --- /dev/null +++ b/sdk/dotnet/Outputs/TelemetryrouterInstanceFilter.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 TelemetryrouterInstanceFilter + { + /// + /// The TelemetryRouter global filter attributes + /// + public readonly ImmutableArray Attributes; + + [OutputConstructor] + private TelemetryrouterInstanceFilter(ImmutableArray attributes) + { + Attributes = attributes; + } + } +} diff --git a/sdk/dotnet/Outputs/TelemetryrouterInstanceFilterAttribute.cs b/sdk/dotnet/Outputs/TelemetryrouterInstanceFilterAttribute.cs new file mode 100644 index 0000000..9289e52 --- /dev/null +++ b/sdk/dotnet/Outputs/TelemetryrouterInstanceFilterAttribute.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 TelemetryrouterInstanceFilterAttribute + { + /// + /// The TelemetryRouter global filter attribute key + /// + public readonly string Key; + /// + /// The TelemetryRouter global filter attribute level, possible values: Possible values are: `Resource`, `Scope`, `logRecord`. + /// + public readonly string Level; + /// + /// The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. + /// + public readonly string Matcher; + /// + /// The TelemetryRouter global filter attributes + /// + public readonly ImmutableArray Values; + + [OutputConstructor] + private TelemetryrouterInstanceFilterAttribute( + string key, + + string level, + + string matcher, + + ImmutableArray values) + { + Key = key; + Level = level; + Matcher = matcher; + Values = values; + } + } +} diff --git a/sdk/dotnet/Outputs/VpnGatewayAvailabilityZones.cs b/sdk/dotnet/Outputs/VpnGatewayAvailabilityZones.cs new file mode 100644 index 0000000..3ee6ab6 --- /dev/null +++ b/sdk/dotnet/Outputs/VpnGatewayAvailabilityZones.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 VpnGatewayAvailabilityZones + { + /// + /// Availability zone for tunnel 1. + /// + public readonly string Tunnel1; + /// + /// Availability zone for tunnel 2. + /// + public readonly string Tunnel2; + + [OutputConstructor] + private VpnGatewayAvailabilityZones( + string tunnel1, + + string tunnel2) + { + Tunnel1 = tunnel1; + Tunnel2 = tunnel2; + } + } +} diff --git a/sdk/dotnet/Outputs/VpnGatewayBgp.cs b/sdk/dotnet/Outputs/VpnGatewayBgp.cs new file mode 100644 index 0000000..35d61c9 --- /dev/null +++ b/sdk/dotnet/Outputs/VpnGatewayBgp.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 VpnGatewayBgp + { + /// + /// Local ASN for BGP (private ASN range, 64512-4294967294). + /// + public readonly int LocalAsn; + /// + /// List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. + /// + public readonly ImmutableArray OverrideAdvertisedRoutes; + + [OutputConstructor] + private VpnGatewayBgp( + int localAsn, + + ImmutableArray overrideAdvertisedRoutes) + { + LocalAsn = localAsn; + OverrideAdvertisedRoutes = overrideAdvertisedRoutes; + } + } +} diff --git a/sdk/dotnet/PostgresflexUser.cs b/sdk/dotnet/PostgresflexUser.cs index 2604365..248aeba 100644 --- a/sdk/dotnet/PostgresflexUser.cs +++ b/sdk/dotnet/PostgresflexUser.cs @@ -50,6 +50,12 @@ public partial class PostgresflexUser : global::Pulumi.CustomResource [Output("roles")] public Output> Roles { get; private set; } = null!; + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + [Output("rotateWhenChanged")] + public Output?> RotateWhenChanged { get; private set; } = null!; + [Output("uri")] public Output Uri { get; private set; } = null!; @@ -144,6 +150,18 @@ public InputList Roles set => _roles = value; } + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + [Input("username", required: true)] public Input Username { get; set; } = null!; @@ -203,6 +221,18 @@ public InputList Roles set => _roles = value; } + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + [Input("uri")] private Input? _uri; public Input? Uri diff --git a/sdk/dotnet/Provider.cs b/sdk/dotnet/Provider.cs index f09fcbb..607f7bc 100644 --- a/sdk/dotnet/Provider.cs +++ b/sdk/dotnet/Provider.cs @@ -60,6 +60,12 @@ public partial class Provider : global::Pulumi.ProviderResource [Output("dnsCustomEndpoint")] public Output DnsCustomEndpoint { get; private set; } = null!; + /// + /// Custom endpoint for the Dremio service + /// + [Output("dremioCustomEndpoint")] + public Output DremioCustomEndpoint { get; private set; } = null!; + /// /// Custom endpoint for the Edge Cloud service /// @@ -288,12 +294,30 @@ public partial class Provider : global::Pulumi.ProviderResource [Output("sqlserverflexCustomEndpoint")] public Output SqlserverflexCustomEndpoint { get; private set; } = null!; + /// + /// Custom endpoint for the Telemetry Link service + /// + [Output("telemetrylinkCustomEndpoint")] + public Output TelemetrylinkCustomEndpoint { get; private set; } = null!; + + /// + /// Custom endpoint for the Telemetry Router service + /// + [Output("telemetryrouterCustomEndpoint")] + public Output TelemetryrouterCustomEndpoint { get; private set; } = null!; + /// /// Custom endpoint for the token API, which is used to request access tokens when using the key flow /// [Output("tokenCustomEndpoint")] public Output TokenCustomEndpoint { get; private set; } = null!; + /// + /// Custom endpoint for the VPN service + /// + [Output("vpnCustomEndpoint")] + public Output VpnCustomEndpoint { get; private set; } = null!; + /// /// Create a Provider resource with the given unique name, arguments, and options. @@ -371,6 +395,12 @@ public sealed class ProviderArgs : global::Pulumi.ResourceArgs [Input("dnsCustomEndpoint")] public Input? DnsCustomEndpoint { get; set; } + /// + /// Custom endpoint for the Dremio service + /// + [Input("dremioCustomEndpoint")] + public Input? DremioCustomEndpoint { get; set; } + /// /// Custom endpoint for the Edge Cloud service /// @@ -387,7 +417,7 @@ public sealed class ProviderArgs : global::Pulumi.ResourceArgs private InputList? _experiments; /// - /// Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network + /// Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: dremio, iam, routing-tables, network /// public InputList Experiments { @@ -617,6 +647,18 @@ public InputList Experiments [Input("sqlserverflexCustomEndpoint")] public Input? SqlserverflexCustomEndpoint { get; set; } + /// + /// Custom endpoint for the Telemetry Link service + /// + [Input("telemetrylinkCustomEndpoint")] + public Input? TelemetrylinkCustomEndpoint { get; set; } + + /// + /// Custom endpoint for the Telemetry Router service + /// + [Input("telemetryrouterCustomEndpoint")] + public Input? TelemetryrouterCustomEndpoint { get; set; } + /// /// Custom endpoint for the token API, which is used to request access tokens when using the key flow /// @@ -629,6 +671,12 @@ public InputList Experiments [Input("useOidc", json: true)] public Input? UseOidc { get; set; } + /// + /// Custom endpoint for the VPN service + /// + [Input("vpnCustomEndpoint")] + public Input? VpnCustomEndpoint { get; set; } + public ProviderArgs() { } diff --git a/sdk/dotnet/Pulumi.Stackit.csproj b/sdk/dotnet/Pulumi.Stackit.csproj index 3722137..c081bcc 100644 --- a/sdk/dotnet/Pulumi.Stackit.csproj +++ b/sdk/dotnet/Pulumi.Stackit.csproj @@ -10,7 +10,7 @@ https://github.com/stackitcloud/pulumi-stackit logo.png - net8.0 + net6.0 enable diff --git a/sdk/dotnet/RabbitmqCredential.cs b/sdk/dotnet/RabbitmqCredential.cs index 48fb8ab..018915c 100644 --- a/sdk/dotnet/RabbitmqCredential.cs +++ b/sdk/dotnet/RabbitmqCredential.cs @@ -56,6 +56,12 @@ public partial class RabbitmqCredential : global::Pulumi.CustomResource [Output("projectId")] public Output ProjectId { get; private set; } = null!; + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + [Output("rotateWhenChanged")] + public Output?> RotateWhenChanged { get; private set; } = null!; + [Output("uri")] public Output Uri { get; private set; } = null!; @@ -129,6 +135,18 @@ public sealed class RabbitmqCredentialArgs : global::Pulumi.ResourceArgs [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + public RabbitmqCredentialArgs() { } @@ -195,6 +213,18 @@ public Input? Password [Input("projectId")] public Input? ProjectId { get; set; } + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + [Input("uri")] private Input? _uri; public Input? Uri diff --git a/sdk/dotnet/RedisCredential.cs b/sdk/dotnet/RedisCredential.cs index 9b878a3..55bb6b4 100644 --- a/sdk/dotnet/RedisCredential.cs +++ b/sdk/dotnet/RedisCredential.cs @@ -50,6 +50,12 @@ public partial class RedisCredential : global::Pulumi.CustomResource [Output("projectId")] public Output ProjectId { get; private set; } = null!; + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + [Output("rotateWhenChanged")] + public Output?> RotateWhenChanged { get; private set; } = null!; + /// /// Connection URI. /// @@ -123,6 +129,18 @@ public sealed class RedisCredentialArgs : global::Pulumi.ResourceArgs [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + public RedisCredentialArgs() { } @@ -178,6 +196,18 @@ public Input? Password [Input("projectId")] public Input? ProjectId { get; set; } + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + [Input("uri")] private Input? _uri; diff --git a/sdk/dotnet/SecretsmanagerUser.cs b/sdk/dotnet/SecretsmanagerUser.cs index 64482cf..29b18ed 100644 --- a/sdk/dotnet/SecretsmanagerUser.cs +++ b/sdk/dotnet/SecretsmanagerUser.cs @@ -41,6 +41,12 @@ public partial class SecretsmanagerUser : global::Pulumi.CustomResource [Output("projectId")] public Output ProjectId { get; private set; } = null!; + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + [Output("rotateWhenChanged")] + public Output?> RotateWhenChanged { get; private set; } = null!; + /// /// The user's ID. /// @@ -128,6 +134,18 @@ public sealed class SecretsmanagerUserArgs : global::Pulumi.ResourceArgs [Input("projectId", required: true)] public Input ProjectId { get; set; } = null!; + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + /// /// If true, the user has writeaccess to the secrets engine. /// @@ -176,6 +194,18 @@ public Input? Password [Input("projectId")] public Input? ProjectId { get; set; } + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + /// /// The user's ID. /// diff --git a/sdk/dotnet/ServiceAccount.cs b/sdk/dotnet/ServiceAccount.cs index 43bbb87..746f6aa 100644 --- a/sdk/dotnet/ServiceAccount.cs +++ b/sdk/dotnet/ServiceAccount.cs @@ -10,7 +10,7 @@ namespace Pulumi.Stackit { /// - /// Service account resource schema. + /// Manages a STACKIT service account in a project. /// /// ## Example Usage /// diff --git a/sdk/dotnet/ServiceAccountFederatedIdentityProvider.cs b/sdk/dotnet/ServiceAccountFederatedIdentityProvider.cs index 306bf41..ed39fea 100644 --- a/sdk/dotnet/ServiceAccountFederatedIdentityProvider.cs +++ b/sdk/dotnet/ServiceAccountFederatedIdentityProvider.cs @@ -10,7 +10,7 @@ namespace Pulumi.Stackit { /// - /// Service account federated identity provider schema. + /// Manages a federated identity provider for a STACKIT service account to enable workload identity federation. /// ## Example Usage /// /// ### Create a federated identity provider diff --git a/sdk/dotnet/ServiceAccountKey.cs b/sdk/dotnet/ServiceAccountKey.cs index 893f2f1..5265102 100644 --- a/sdk/dotnet/ServiceAccountKey.cs +++ b/sdk/dotnet/ServiceAccountKey.cs @@ -10,7 +10,7 @@ namespace Pulumi.Stackit { /// - /// Service account key schema. + /// Creates and manages a key for a STACKIT service account. /// ## Example Usage /// /// ### Automatically rotate service account keys diff --git a/sdk/dotnet/SfsExportPolicy.cs b/sdk/dotnet/SfsExportPolicy.cs index 8532a7f..1089e23 100644 --- a/sdk/dotnet/SfsExportPolicy.cs +++ b/sdk/dotnet/SfsExportPolicy.cs @@ -19,6 +19,12 @@ namespace Pulumi.Stackit [StackitResourceType("stackit:index/sfsExportPolicy:SfsExportPolicy")] public partial class SfsExportPolicy : global::Pulumi.CustomResource { + /// + /// Labels are key-value string pairs which can be attached to the resource. + /// + [Output("labels")] + public Output?> Labels { get; private set; } = null!; + /// /// Name of the export policy. /// @@ -93,6 +99,18 @@ public static SfsExportPolicy Get(string name, Input id, SfsExportPolicy public sealed class SfsExportPolicyArgs : global::Pulumi.ResourceArgs { + [Input("labels")] + private InputMap? _labels; + + /// + /// Labels are key-value string pairs which can be attached to the resource. + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + /// /// Name of the export policy. /// @@ -127,6 +145,18 @@ public SfsExportPolicyArgs() public sealed class SfsExportPolicyState : global::Pulumi.ResourceArgs { + [Input("labels")] + private InputMap? _labels; + + /// + /// Labels are key-value string pairs which can be attached to the resource. + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + /// /// Name of the export policy. /// diff --git a/sdk/dotnet/SfsResourcePool.cs b/sdk/dotnet/SfsResourcePool.cs index d99d402..d7d8bcd 100644 --- a/sdk/dotnet/SfsResourcePool.cs +++ b/sdk/dotnet/SfsResourcePool.cs @@ -31,6 +31,12 @@ public partial class SfsResourcePool : global::Pulumi.CustomResource [Output("ipAcls")] public Output> IpAcls { get; private set; } = null!; + /// + /// Labels are key-value string pairs which can be attached to the resource. + /// + [Output("labels")] + public Output?> Labels { get; private set; } = null!; + /// /// Name of the resource pool. /// @@ -144,6 +150,18 @@ public InputList IpAcls set => _ipAcls = value; } + [Input("labels")] + private InputMap? _labels; + + /// + /// Labels are key-value string pairs which can be attached to the resource. + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + /// /// Name of the resource pool. /// @@ -212,6 +230,18 @@ public InputList IpAcls set => _ipAcls = value; } + [Input("labels")] + private InputMap? _labels; + + /// + /// Labels are key-value string pairs which can be attached to the resource. + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + /// /// Name of the resource pool. /// diff --git a/sdk/dotnet/SfsShare.cs b/sdk/dotnet/SfsShare.cs index bb31813..a41dab2 100644 --- a/sdk/dotnet/SfsShare.cs +++ b/sdk/dotnet/SfsShare.cs @@ -28,6 +28,12 @@ public partial class SfsShare : global::Pulumi.CustomResource [Output("exportPolicy")] public Output ExportPolicy { get; private set; } = null!; + /// + /// Labels are key-value string pairs which can be attached to the resource. + /// + [Output("labels")] + public Output?> Labels { get; private set; } = null!; + /// /// Mount path of the Share, used to mount the Share /// @@ -128,6 +134,18 @@ public sealed class SfsShareArgs : global::Pulumi.ResourceArgs [Input("exportPolicy")] public Input? ExportPolicy { get; set; } + [Input("labels")] + private InputMap? _labels; + + /// + /// Labels are key-value string pairs which can be attached to the resource. + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + /// /// Name of the share. /// @@ -177,6 +195,18 @@ public sealed class SfsShareState : global::Pulumi.ResourceArgs [Input("exportPolicy")] public Input? ExportPolicy { get; set; } + [Input("labels")] + private InputMap? _labels; + + /// + /// Labels are key-value string pairs which can be attached to the resource. + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + /// /// Mount path of the Share, used to mount the Share /// diff --git a/sdk/dotnet/SqlserverflexUser.cs b/sdk/dotnet/SqlserverflexUser.cs index 7e06dd3..7ec7e34 100644 --- a/sdk/dotnet/SqlserverflexUser.cs +++ b/sdk/dotnet/SqlserverflexUser.cs @@ -50,6 +50,12 @@ public partial class SqlserverflexUser : global::Pulumi.CustomResource [Output("roles")] public Output> Roles { get; private set; } = null!; + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + [Output("rotateWhenChanged")] + public Output?> RotateWhenChanged { get; private set; } = null!; + /// /// User ID. /// @@ -140,6 +146,18 @@ public InputList Roles set => _roles = value; } + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + /// /// Username of the SQLServer Flex instance. /// @@ -203,6 +221,18 @@ public InputList Roles set => _roles = value; } + [Input("rotateWhenChanged")] + private InputMap? _rotateWhenChanged; + + /// + /// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + /// + public InputMap RotateWhenChanged + { + get => _rotateWhenChanged ?? (_rotateWhenChanged = new InputMap()); + set => _rotateWhenChanged = value; + } + /// /// User ID. /// diff --git a/sdk/dotnet/Telemetrylink.cs b/sdk/dotnet/Telemetrylink.cs new file mode 100644 index 0000000..4ec0c0e --- /dev/null +++ b/sdk/dotnet/Telemetrylink.cs @@ -0,0 +1,254 @@ +// *** 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 +{ + /// + /// TelemetryLink instance 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/telemetrylink:Telemetrylink")] + public partial class Telemetrylink : global::Pulumi.CustomResource + { + /// + /// The access token of the Telemetry Router instance. + /// + [Output("accessToken")] + public Output AccessToken { get; private set; } = null!; + + /// + /// The time the Telemetry Link was created. + /// + [Output("createTime")] + public Output CreateTime { get; private set; } = null!; + + /// + /// The description of the Telemetry Link resource. + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The displayed name of the Telemetry Link resource. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + /// + [Output("resourceId")] + public Output ResourceId { get; private set; } = null!; + + /// + /// The resource type of the TelemetryLink resource, possible values: Possible values are: `Organization`, `Folder`, `Project`. + /// + [Output("resourceType")] + public Output ResourceType { get; private set; } = null!; + + /// + /// The status of the TelemetryLink, possible values: Possible values are: `Active`, `Inactive`, `Failed`, `Reconciling`, `Deleting`. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// The Telemetry Router ID. + /// + [Output("telemetryRouterId")] + public Output TelemetryRouterId { get; private set; } = null!; + + + /// + /// Create a Telemetrylink 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 Telemetrylink(string name, TelemetrylinkArgs args, CustomResourceOptions? options = null) + : base("stackit:index/telemetrylink:Telemetrylink", name, args ?? new TelemetrylinkArgs(), MakeResourceOptions(options, "")) + { + } + + private Telemetrylink(string name, Input id, TelemetrylinkState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/telemetrylink:Telemetrylink", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/stackitcloud/pulumi-stackit", + AdditionalSecretOutputs = + { + "accessToken", + }, + }; + 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 Telemetrylink 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 Telemetrylink Get(string name, Input id, TelemetrylinkState? state = null, CustomResourceOptions? options = null) + { + return new Telemetrylink(name, id, state, options); + } + } + + public sealed class TelemetrylinkArgs : global::Pulumi.ResourceArgs + { + [Input("accessToken")] + private Input? _accessToken; + + /// + /// The access token of the Telemetry Router instance. + /// + public Input? AccessToken + { + get => _accessToken; + set + { + var emptySecret = Output.CreateSecret(0); + _accessToken = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The description of the Telemetry Link resource. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The displayed name of the Telemetry Link resource. + /// + [Input("displayName", required: true)] + public Input DisplayName { get; set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + /// + [Input("resourceId", required: true)] + public Input ResourceId { get; set; } = null!; + + /// + /// The resource type of the TelemetryLink resource, possible values: Possible values are: `Organization`, `Folder`, `Project`. + /// + [Input("resourceType", required: true)] + public Input ResourceType { get; set; } = null!; + + /// + /// The Telemetry Router ID. + /// + [Input("telemetryRouterId", required: true)] + public Input TelemetryRouterId { get; set; } = null!; + + public TelemetrylinkArgs() + { + } + public static new TelemetrylinkArgs Empty => new TelemetrylinkArgs(); + } + + public sealed class TelemetrylinkState : global::Pulumi.ResourceArgs + { + [Input("accessToken")] + private Input? _accessToken; + + /// + /// The access token of the Telemetry Router instance. + /// + public Input? AccessToken + { + get => _accessToken; + set + { + var emptySecret = Output.CreateSecret(0); + _accessToken = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The time the Telemetry Link was created. + /// + [Input("createTime")] + public Input? CreateTime { get; set; } + + /// + /// The description of the Telemetry Link resource. + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The displayed name of the Telemetry Link resource. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + /// + [Input("resourceId")] + public Input? ResourceId { get; set; } + + /// + /// The resource type of the TelemetryLink resource, possible values: Possible values are: `Organization`, `Folder`, `Project`. + /// + [Input("resourceType")] + public Input? ResourceType { get; set; } + + /// + /// The status of the TelemetryLink, possible values: Possible values are: `Active`, `Inactive`, `Failed`, `Reconciling`, `Deleting`. + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// The Telemetry Router ID. + /// + [Input("telemetryRouterId")] + public Input? TelemetryRouterId { get; set; } + + public TelemetrylinkState() + { + } + public static new TelemetrylinkState Empty => new TelemetrylinkState(); + } +} diff --git a/sdk/dotnet/TelemetryrouterAccessToken.cs b/sdk/dotnet/TelemetryrouterAccessToken.cs new file mode 100644 index 0000000..a4ef9e4 --- /dev/null +++ b/sdk/dotnet/TelemetryrouterAccessToken.cs @@ -0,0 +1,262 @@ +// *** 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 +{ + /// + /// TelemetryRouter access token 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/telemetryrouterAccessToken:TelemetryrouterAccessToken")] + public partial class TelemetryrouterAccessToken : global::Pulumi.CustomResource + { + /// + /// The generated access token + /// + [Output("accessToken")] + public Output AccessToken { get; private set; } = null!; + + /// + /// The access token ID + /// + [Output("accessTokenId")] + public Output AccessTokenId { get; private set; } = null!; + + /// + /// The user who created the access token + /// + [Output("creatorId")] + public Output CreatorId { get; private set; } = null!; + + /// + /// The description of the access token + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The displayed name of the access token + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// The date and time an access token will expire at (inclusively) + /// + [Output("expirationTime")] + public Output ExpirationTime { get; private set; } = null!; + + /// + /// The TelemetryRouter instance ID associated with the access token + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// STACKIT project ID associated with the TelemetryRouter access token + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// The status of the access token. Possible values are: `Active`, `Expired`, `Deleting`. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// The time-to-live (TTL) in days for the access token. If not set, token will not expire + /// + [Output("ttl")] + public Output Ttl { get; private set; } = null!; + + + /// + /// Create a TelemetryrouterAccessToken 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 TelemetryrouterAccessToken(string name, TelemetryrouterAccessTokenArgs args, CustomResourceOptions? options = null) + : base("stackit:index/telemetryrouterAccessToken:TelemetryrouterAccessToken", name, args ?? new TelemetryrouterAccessTokenArgs(), MakeResourceOptions(options, "")) + { + } + + private TelemetryrouterAccessToken(string name, Input id, TelemetryrouterAccessTokenState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/telemetryrouterAccessToken:TelemetryrouterAccessToken", name, state, MakeResourceOptions(options, id)) + { + } + + private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id) + { + var defaultOptions = new CustomResourceOptions + { + Version = Utilities.Version, + PluginDownloadURL = "github://api.github.com/stackitcloud/pulumi-stackit", + AdditionalSecretOutputs = + { + "accessToken", + }, + }; + 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 TelemetryrouterAccessToken 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 TelemetryrouterAccessToken Get(string name, Input id, TelemetryrouterAccessTokenState? state = null, CustomResourceOptions? options = null) + { + return new TelemetryrouterAccessToken(name, id, state, options); + } + } + + public sealed class TelemetryrouterAccessTokenArgs : global::Pulumi.ResourceArgs + { + /// + /// The description of the access token + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The displayed name of the access token + /// + [Input("displayName", required: true)] + public Input DisplayName { get; set; } = null!; + + /// + /// The TelemetryRouter instance ID associated with the access token + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// STACKIT project ID associated with the TelemetryRouter access token + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// The time-to-live (TTL) in days for the access token. If not set, token will not expire + /// + [Input("ttl")] + public Input? Ttl { get; set; } + + public TelemetryrouterAccessTokenArgs() + { + } + public static new TelemetryrouterAccessTokenArgs Empty => new TelemetryrouterAccessTokenArgs(); + } + + public sealed class TelemetryrouterAccessTokenState : global::Pulumi.ResourceArgs + { + [Input("accessToken")] + private Input? _accessToken; + + /// + /// The generated access token + /// + public Input? AccessToken + { + get => _accessToken; + set + { + var emptySecret = Output.CreateSecret(0); + _accessToken = Output.Tuple?, int>(value, emptySecret).Apply(t => t.Item1); + } + } + + /// + /// The access token ID + /// + [Input("accessTokenId")] + public Input? AccessTokenId { get; set; } + + /// + /// The user who created the access token + /// + [Input("creatorId")] + public Input? CreatorId { get; set; } + + /// + /// The description of the access token + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The displayed name of the access token + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// The date and time an access token will expire at (inclusively) + /// + [Input("expirationTime")] + public Input? ExpirationTime { get; set; } + + /// + /// The TelemetryRouter instance ID associated with the access token + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// STACKIT project ID associated with the TelemetryRouter access token + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// The status of the access token. Possible values are: `Active`, `Expired`, `Deleting`. + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// The time-to-live (TTL) in days for the access token. If not set, token will not expire + /// + [Input("ttl")] + public Input? Ttl { get; set; } + + public TelemetryrouterAccessTokenState() + { + } + public static new TelemetryrouterAccessTokenState Empty => new TelemetryrouterAccessTokenState(); + } +} diff --git a/sdk/dotnet/TelemetryrouterDestination.cs b/sdk/dotnet/TelemetryrouterDestination.cs new file mode 100644 index 0000000..02ec116 --- /dev/null +++ b/sdk/dotnet/TelemetryrouterDestination.cs @@ -0,0 +1,236 @@ +// *** 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 +{ + /// + /// TelemetryRouter destination 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/telemetryrouterDestination:TelemetryrouterDestination")] + public partial class TelemetryrouterDestination : global::Pulumi.CustomResource + { + /// + /// The configuration of the TelemetryRouter destination + /// + [Output("config")] + public Output Config { get; private set; } = null!; + + /// + /// The date and time the creation of the TelemetryRouter destination was initiated + /// + [Output("creationTime")] + public Output CreationTime { get; private set; } = null!; + + /// + /// The TelemetryRouter destination's credential type + /// + [Output("credentialType")] + public Output CredentialType { get; private set; } = null!; + + /// + /// The description of the TelemetryRouter destination + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The TelemetryRouter destination ID + /// + [Output("destinationId")] + public Output DestinationId { get; private set; } = null!; + + /// + /// The displayed name of the TelemetryRouter destination + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// The TelemetryRouter instance ID + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// STACKIT project ID associated with the TelemetryRouter instance + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// The status of the TelemetryRouter destination, possible values: Possible values are: `Reconciling`, `Active`, `Deleting`. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + + /// + /// Create a TelemetryrouterDestination 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 TelemetryrouterDestination(string name, TelemetryrouterDestinationArgs args, CustomResourceOptions? options = null) + : base("stackit:index/telemetryrouterDestination:TelemetryrouterDestination", name, args ?? new TelemetryrouterDestinationArgs(), MakeResourceOptions(options, "")) + { + } + + private TelemetryrouterDestination(string name, Input id, TelemetryrouterDestinationState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/telemetryrouterDestination:TelemetryrouterDestination", 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 TelemetryrouterDestination 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 TelemetryrouterDestination Get(string name, Input id, TelemetryrouterDestinationState? state = null, CustomResourceOptions? options = null) + { + return new TelemetryrouterDestination(name, id, state, options); + } + } + + public sealed class TelemetryrouterDestinationArgs : global::Pulumi.ResourceArgs + { + /// + /// The configuration of the TelemetryRouter destination + /// + [Input("config", required: true)] + public Input Config { get; set; } = null!; + + /// + /// The description of the TelemetryRouter destination + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The displayed name of the TelemetryRouter destination + /// + [Input("displayName", required: true)] + public Input DisplayName { get; set; } = null!; + + /// + /// The TelemetryRouter instance ID + /// + [Input("instanceId", required: true)] + public Input InstanceId { get; set; } = null!; + + /// + /// STACKIT project ID associated with the TelemetryRouter instance + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + public TelemetryrouterDestinationArgs() + { + } + public static new TelemetryrouterDestinationArgs Empty => new TelemetryrouterDestinationArgs(); + } + + public sealed class TelemetryrouterDestinationState : global::Pulumi.ResourceArgs + { + /// + /// The configuration of the TelemetryRouter destination + /// + [Input("config")] + public Input? Config { get; set; } + + /// + /// The date and time the creation of the TelemetryRouter destination was initiated + /// + [Input("creationTime")] + public Input? CreationTime { get; set; } + + /// + /// The TelemetryRouter destination's credential type + /// + [Input("credentialType")] + public Input? CredentialType { get; set; } + + /// + /// The description of the TelemetryRouter destination + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The TelemetryRouter destination ID + /// + [Input("destinationId")] + public Input? DestinationId { get; set; } + + /// + /// The displayed name of the TelemetryRouter destination + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// The TelemetryRouter instance ID + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// STACKIT project ID associated with the TelemetryRouter instance + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// The status of the TelemetryRouter destination, possible values: Possible values are: `Reconciling`, `Active`, `Deleting`. + /// + [Input("status")] + public Input? Status { get; set; } + + public TelemetryrouterDestinationState() + { + } + public static new TelemetryrouterDestinationState Empty => new TelemetryrouterDestinationState(); + } +} diff --git a/sdk/dotnet/TelemetryrouterInstance.cs b/sdk/dotnet/TelemetryrouterInstance.cs new file mode 100644 index 0000000..56895b4 --- /dev/null +++ b/sdk/dotnet/TelemetryrouterInstance.cs @@ -0,0 +1,218 @@ +// *** 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 +{ + /// + /// TelemetryRouter instance 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/telemetryrouterInstance:TelemetryrouterInstance")] + public partial class TelemetryrouterInstance : global::Pulumi.CustomResource + { + /// + /// The date and time the creation of the TelemetryRouter instance was initiated + /// + [Output("creationTime")] + public Output CreationTime { get; private set; } = null!; + + /// + /// The description of the TelemetryRouter instance + /// + [Output("description")] + public Output Description { get; private set; } = null!; + + /// + /// The display name of the TelemetryRouter instance + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// The TelemetryRouter global filter settings + /// + [Output("filter")] + public Output Filter { get; private set; } = null!; + + /// + /// The TelemetryRouter instance ID + /// + [Output("instanceId")] + public Output InstanceId { get; private set; } = null!; + + /// + /// STACKIT project ID associated with the TelemetryRouter instance + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// The status of the TelemetryRouter instance, possible values: Possible values are: `Reconciling`, `Active`, `Deleting`. + /// + [Output("status")] + public Output Status { get; private set; } = null!; + + /// + /// The TelemetryRouter instance's URI + /// + [Output("uri")] + public Output Uri { get; private set; } = null!; + + + /// + /// Create a TelemetryrouterInstance 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 TelemetryrouterInstance(string name, TelemetryrouterInstanceArgs args, CustomResourceOptions? options = null) + : base("stackit:index/telemetryrouterInstance:TelemetryrouterInstance", name, args ?? new TelemetryrouterInstanceArgs(), MakeResourceOptions(options, "")) + { + } + + private TelemetryrouterInstance(string name, Input id, TelemetryrouterInstanceState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/telemetryrouterInstance:TelemetryrouterInstance", 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 TelemetryrouterInstance 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 TelemetryrouterInstance Get(string name, Input id, TelemetryrouterInstanceState? state = null, CustomResourceOptions? options = null) + { + return new TelemetryrouterInstance(name, id, state, options); + } + } + + public sealed class TelemetryrouterInstanceArgs : global::Pulumi.ResourceArgs + { + /// + /// The description of the TelemetryRouter instance + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The display name of the TelemetryRouter instance + /// + [Input("displayName", required: true)] + public Input DisplayName { get; set; } = null!; + + /// + /// The TelemetryRouter global filter settings + /// + [Input("filter")] + public Input? Filter { get; set; } + + /// + /// STACKIT project ID associated with the TelemetryRouter instance + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + public TelemetryrouterInstanceArgs() + { + } + public static new TelemetryrouterInstanceArgs Empty => new TelemetryrouterInstanceArgs(); + } + + public sealed class TelemetryrouterInstanceState : global::Pulumi.ResourceArgs + { + /// + /// The date and time the creation of the TelemetryRouter instance was initiated + /// + [Input("creationTime")] + public Input? CreationTime { get; set; } + + /// + /// The description of the TelemetryRouter instance + /// + [Input("description")] + public Input? Description { get; set; } + + /// + /// The display name of the TelemetryRouter instance + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// The TelemetryRouter global filter settings + /// + [Input("filter")] + public Input? Filter { get; set; } + + /// + /// The TelemetryRouter instance ID + /// + [Input("instanceId")] + public Input? InstanceId { get; set; } + + /// + /// STACKIT project ID associated with the TelemetryRouter instance + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// The status of the TelemetryRouter instance, possible values: Possible values are: `Reconciling`, `Active`, `Deleting`. + /// + [Input("status")] + public Input? Status { get; set; } + + /// + /// The TelemetryRouter instance's URI + /// + [Input("uri")] + public Input? Uri { get; set; } + + public TelemetryrouterInstanceState() + { + } + public static new TelemetryrouterInstanceState Empty => new TelemetryrouterInstanceState(); + } +} diff --git a/sdk/dotnet/VpnGateway.cs b/sdk/dotnet/VpnGateway.cs new file mode 100644 index 0000000..430b063 --- /dev/null +++ b/sdk/dotnet/VpnGateway.cs @@ -0,0 +1,248 @@ +// *** 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 Gateway 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/vpnGateway:VpnGateway")] + public partial class VpnGateway : global::Pulumi.CustomResource + { + /// + /// Availability zones for the two tunnel endpoints. + /// + [Output("availabilityZones")] + public Output AvailabilityZones { get; private set; } = null!; + + /// + /// BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + /// + [Output("bgp")] + public Output Bgp { get; private set; } = null!; + + /// + /// A user-friendly name for the VPN gateway. + /// + [Output("displayName")] + public Output DisplayName { get; private set; } = null!; + + /// + /// The server-generated UUID of the VPN gateway. + /// + [Output("gatewayId")] + public Output GatewayId { get; private set; } = null!; + + /// + /// Map of custom labels (key-value string pairs). + /// + [Output("labels")] + public Output?> Labels { get; private set; } = null!; + + /// + /// The service plan identifier (e.g. `P500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + /// + [Output("planId")] + public Output PlanId { get; private set; } = null!; + + /// + /// STACKIT project ID associated with the VPN gateway. + /// + [Output("projectId")] + public Output ProjectId { get; private set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Output("region")] + public Output Region { get; private set; } = null!; + + /// + /// Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + /// + [Output("routingType")] + public Output RoutingType { get; private set; } = null!; + + + /// + /// Create a VpnGateway 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 VpnGateway(string name, VpnGatewayArgs args, CustomResourceOptions? options = null) + : base("stackit:index/vpnGateway:VpnGateway", name, args ?? new VpnGatewayArgs(), MakeResourceOptions(options, "")) + { + } + + private VpnGateway(string name, Input id, VpnGatewayState? state = null, CustomResourceOptions? options = null) + : base("stackit:index/vpnGateway:VpnGateway", 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 VpnGateway 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 VpnGateway Get(string name, Input id, VpnGatewayState? state = null, CustomResourceOptions? options = null) + { + return new VpnGateway(name, id, state, options); + } + } + + public sealed class VpnGatewayArgs : global::Pulumi.ResourceArgs + { + /// + /// Availability zones for the two tunnel endpoints. + /// + [Input("availabilityZones", required: true)] + public Input AvailabilityZones { get; set; } = null!; + + /// + /// BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + /// + [Input("bgp")] + public Input? Bgp { get; set; } + + /// + /// A user-friendly name for the VPN gateway. + /// + [Input("displayName", required: true)] + public Input DisplayName { get; set; } = null!; + + [Input("labels")] + private InputMap? _labels; + + /// + /// Map of custom labels (key-value string pairs). + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + /// + /// The service plan identifier (e.g. `P500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + /// + [Input("planId", required: true)] + public Input PlanId { get; set; } = null!; + + /// + /// STACKIT project ID associated with the VPN gateway. + /// + [Input("projectId", required: true)] + public Input ProjectId { get; set; } = null!; + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + /// + [Input("routingType", required: true)] + public Input RoutingType { get; set; } = null!; + + public VpnGatewayArgs() + { + } + public static new VpnGatewayArgs Empty => new VpnGatewayArgs(); + } + + public sealed class VpnGatewayState : global::Pulumi.ResourceArgs + { + /// + /// Availability zones for the two tunnel endpoints. + /// + [Input("availabilityZones")] + public Input? AvailabilityZones { get; set; } + + /// + /// BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + /// + [Input("bgp")] + public Input? Bgp { get; set; } + + /// + /// A user-friendly name for the VPN gateway. + /// + [Input("displayName")] + public Input? DisplayName { get; set; } + + /// + /// The server-generated UUID of the VPN gateway. + /// + [Input("gatewayId")] + public Input? GatewayId { get; set; } + + [Input("labels")] + private InputMap? _labels; + + /// + /// Map of custom labels (key-value string pairs). + /// + public InputMap Labels + { + get => _labels ?? (_labels = new InputMap()); + set => _labels = value; + } + + /// + /// The service plan identifier (e.g. `P500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + /// + [Input("planId")] + public Input? PlanId { get; set; } + + /// + /// STACKIT project ID associated with the VPN gateway. + /// + [Input("projectId")] + public Input? ProjectId { get; set; } + + /// + /// STACKIT region name the resource is located in. If not defined, the provider region is used. + /// + [Input("region")] + public Input? Region { get; set; } + + /// + /// Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + /// + [Input("routingType")] + public Input? RoutingType { get; set; } + + public VpnGatewayState() + { + } + public static new VpnGatewayState Empty => new VpnGatewayState(); + } +} diff --git a/sdk/go/stackit/config/config.go b/sdk/go/stackit/config/config.go index dd12461..e0905d4 100644 --- a/sdk/go/stackit/config/config.go +++ b/sdk/go/stackit/config/config.go @@ -46,6 +46,11 @@ func GetDnsCustomEndpoint(ctx *pulumi.Context) string { return config.Get(ctx, "stackit:dnsCustomEndpoint") } +// Custom endpoint for the Dremio service +func GetDremioCustomEndpoint(ctx *pulumi.Context) string { + return config.Get(ctx, "stackit:dremioCustomEndpoint") +} + // Custom endpoint for the Edge Cloud service func GetEdgecloudCustomEndpoint(ctx *pulumi.Context) string { return config.Get(ctx, "stackit:edgecloudCustomEndpoint") @@ -56,7 +61,7 @@ func GetEnableBetaResources(ctx *pulumi.Context) bool { return config.GetBool(ctx, "stackit:enableBetaResources") } -// Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network +// Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: dremio, iam, routing-tables, network func GetExperiments(ctx *pulumi.Context) string { return config.Get(ctx, "stackit:experiments") } @@ -250,6 +255,16 @@ func GetSqlserverflexCustomEndpoint(ctx *pulumi.Context) string { return config.Get(ctx, "stackit:sqlserverflexCustomEndpoint") } +// Custom endpoint for the Telemetry Link service +func GetTelemetrylinkCustomEndpoint(ctx *pulumi.Context) string { + return config.Get(ctx, "stackit:telemetrylinkCustomEndpoint") +} + +// Custom endpoint for the Telemetry Router service +func GetTelemetryrouterCustomEndpoint(ctx *pulumi.Context) string { + return config.Get(ctx, "stackit:telemetryrouterCustomEndpoint") +} + // Custom endpoint for the token API, which is used to request access tokens when using the key flow func GetTokenCustomEndpoint(ctx *pulumi.Context) string { return config.Get(ctx, "stackit:tokenCustomEndpoint") @@ -259,3 +274,8 @@ func GetTokenCustomEndpoint(ctx *pulumi.Context) string { func GetUseOidc(ctx *pulumi.Context) bool { return config.GetBool(ctx, "stackit:useOidc") } + +// Custom endpoint for the VPN service +func GetVpnCustomEndpoint(ctx *pulumi.Context) string { + return config.Get(ctx, "stackit:vpnCustomEndpoint") +} diff --git a/sdk/go/stackit/dremioInstance.go b/sdk/go/stackit/dremioInstance.go new file mode 100644 index 0000000..eb7f750 --- /dev/null +++ b/sdk/go/stackit/dremioInstance.go @@ -0,0 +1,320 @@ +// 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" +) + +// Manages a STACKIT Dremio instance. +// +// > This resource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// +// ## Example Usage +type DremioInstance struct { + pulumi.CustomResourceState + + // Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + Authentication DremioInstanceAuthenticationOutput `pulumi:"authentication"` + // The description is a longer text chosen by the user to provide more context for the resource. + Description pulumi.StringOutput `pulumi:"description"` + // The display name is a short name chosen by the user to identify the resource. + DisplayName pulumi.StringOutput `pulumi:"displayName"` + // The available endpoints of the Dremio instance. + Endpoints DremioInstanceEndpointsOutput `pulumi:"endpoints"` + // The Dremio instance ID. + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // STACKIT Project ID to which the resource is associated. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` + Timeouts DremioInstanceTimeoutsPtrOutput `pulumi:"timeouts"` +} + +// NewDremioInstance registers a new resource with the given unique name, arguments, and options. +func NewDremioInstance(ctx *pulumi.Context, + name string, args *DremioInstanceArgs, opts ...pulumi.ResourceOption) (*DremioInstance, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Authentication == nil { + return nil, errors.New("invalid value for required argument 'Authentication'") + } + if args.DisplayName == nil { + return nil, errors.New("invalid value for required argument 'DisplayName'") + } + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource DremioInstance + err := ctx.RegisterResource("stackit:index/dremioInstance:DremioInstance", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDremioInstance gets an existing DremioInstance 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 GetDremioInstance(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DremioInstanceState, opts ...pulumi.ResourceOption) (*DremioInstance, error) { + var resource DremioInstance + err := ctx.ReadResource("stackit:index/dremioInstance:DremioInstance", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DremioInstance resources. +type dremioInstanceState struct { + // Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + Authentication *DremioInstanceAuthentication `pulumi:"authentication"` + // The description is a longer text chosen by the user to provide more context for the resource. + Description *string `pulumi:"description"` + // The display name is a short name chosen by the user to identify the resource. + DisplayName *string `pulumi:"displayName"` + // The available endpoints of the Dremio instance. + Endpoints *DremioInstanceEndpoints `pulumi:"endpoints"` + // The Dremio instance ID. + InstanceId *string `pulumi:"instanceId"` + // STACKIT Project ID to which the resource is associated. + ProjectId *string `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + Timeouts *DremioInstanceTimeouts `pulumi:"timeouts"` +} + +type DremioInstanceState struct { + // Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + Authentication DremioInstanceAuthenticationPtrInput + // The description is a longer text chosen by the user to provide more context for the resource. + Description pulumi.StringPtrInput + // The display name is a short name chosen by the user to identify the resource. + DisplayName pulumi.StringPtrInput + // The available endpoints of the Dremio instance. + Endpoints DremioInstanceEndpointsPtrInput + // The Dremio instance ID. + InstanceId pulumi.StringPtrInput + // STACKIT Project ID to which the resource is associated. + ProjectId pulumi.StringPtrInput + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput + Timeouts DremioInstanceTimeoutsPtrInput +} + +func (DremioInstanceState) ElementType() reflect.Type { + return reflect.TypeOf((*dremioInstanceState)(nil)).Elem() +} + +type dremioInstanceArgs struct { + // Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + Authentication DremioInstanceAuthentication `pulumi:"authentication"` + // The description is a longer text chosen by the user to provide more context for the resource. + Description *string `pulumi:"description"` + // The display name is a short name chosen by the user to identify the resource. + DisplayName string `pulumi:"displayName"` + // STACKIT Project ID to which the resource is associated. + ProjectId string `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + Timeouts *DremioInstanceTimeouts `pulumi:"timeouts"` +} + +// The set of arguments for constructing a DremioInstance resource. +type DremioInstanceArgs struct { + // Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + Authentication DremioInstanceAuthenticationInput + // The description is a longer text chosen by the user to provide more context for the resource. + Description pulumi.StringPtrInput + // The display name is a short name chosen by the user to identify the resource. + DisplayName pulumi.StringInput + // STACKIT Project ID to which the resource is associated. + ProjectId pulumi.StringInput + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput + Timeouts DremioInstanceTimeoutsPtrInput +} + +func (DremioInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*dremioInstanceArgs)(nil)).Elem() +} + +type DremioInstanceInput interface { + pulumi.Input + + ToDremioInstanceOutput() DremioInstanceOutput + ToDremioInstanceOutputWithContext(ctx context.Context) DremioInstanceOutput +} + +func (*DremioInstance) ElementType() reflect.Type { + return reflect.TypeOf((**DremioInstance)(nil)).Elem() +} + +func (i *DremioInstance) ToDremioInstanceOutput() DremioInstanceOutput { + return i.ToDremioInstanceOutputWithContext(context.Background()) +} + +func (i *DremioInstance) ToDremioInstanceOutputWithContext(ctx context.Context) DremioInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceOutput) +} + +// DremioInstanceArrayInput is an input type that accepts DremioInstanceArray and DremioInstanceArrayOutput values. +// You can construct a concrete instance of `DremioInstanceArrayInput` via: +// +// DremioInstanceArray{ DremioInstanceArgs{...} } +type DremioInstanceArrayInput interface { + pulumi.Input + + ToDremioInstanceArrayOutput() DremioInstanceArrayOutput + ToDremioInstanceArrayOutputWithContext(context.Context) DremioInstanceArrayOutput +} + +type DremioInstanceArray []DremioInstanceInput + +func (DremioInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DremioInstance)(nil)).Elem() +} + +func (i DremioInstanceArray) ToDremioInstanceArrayOutput() DremioInstanceArrayOutput { + return i.ToDremioInstanceArrayOutputWithContext(context.Background()) +} + +func (i DremioInstanceArray) ToDremioInstanceArrayOutputWithContext(ctx context.Context) DremioInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceArrayOutput) +} + +// DremioInstanceMapInput is an input type that accepts DremioInstanceMap and DremioInstanceMapOutput values. +// You can construct a concrete instance of `DremioInstanceMapInput` via: +// +// DremioInstanceMap{ "key": DremioInstanceArgs{...} } +type DremioInstanceMapInput interface { + pulumi.Input + + ToDremioInstanceMapOutput() DremioInstanceMapOutput + ToDremioInstanceMapOutputWithContext(context.Context) DremioInstanceMapOutput +} + +type DremioInstanceMap map[string]DremioInstanceInput + +func (DremioInstanceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DremioInstance)(nil)).Elem() +} + +func (i DremioInstanceMap) ToDremioInstanceMapOutput() DremioInstanceMapOutput { + return i.ToDremioInstanceMapOutputWithContext(context.Background()) +} + +func (i DremioInstanceMap) ToDremioInstanceMapOutputWithContext(ctx context.Context) DremioInstanceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceMapOutput) +} + +type DremioInstanceOutput struct{ *pulumi.OutputState } + +func (DremioInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DremioInstance)(nil)).Elem() +} + +func (o DremioInstanceOutput) ToDremioInstanceOutput() DremioInstanceOutput { + return o +} + +func (o DremioInstanceOutput) ToDremioInstanceOutputWithContext(ctx context.Context) DremioInstanceOutput { + return o +} + +// Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. +func (o DremioInstanceOutput) Authentication() DremioInstanceAuthenticationOutput { + return o.ApplyT(func(v *DremioInstance) DremioInstanceAuthenticationOutput { return v.Authentication }).(DremioInstanceAuthenticationOutput) +} + +// The description is a longer text chosen by the user to provide more context for the resource. +func (o DremioInstanceOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *DremioInstance) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// The display name is a short name chosen by the user to identify the resource. +func (o DremioInstanceOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *DremioInstance) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// The available endpoints of the Dremio instance. +func (o DremioInstanceOutput) Endpoints() DremioInstanceEndpointsOutput { + return o.ApplyT(func(v *DremioInstance) DremioInstanceEndpointsOutput { return v.Endpoints }).(DremioInstanceEndpointsOutput) +} + +// The Dremio instance ID. +func (o DremioInstanceOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *DremioInstance) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// STACKIT Project ID to which the resource is associated. +func (o DremioInstanceOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *DremioInstance) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// The STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o DremioInstanceOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *DremioInstance) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +func (o DremioInstanceOutput) Timeouts() DremioInstanceTimeoutsPtrOutput { + return o.ApplyT(func(v *DremioInstance) DremioInstanceTimeoutsPtrOutput { return v.Timeouts }).(DremioInstanceTimeoutsPtrOutput) +} + +type DremioInstanceArrayOutput struct{ *pulumi.OutputState } + +func (DremioInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DremioInstance)(nil)).Elem() +} + +func (o DremioInstanceArrayOutput) ToDremioInstanceArrayOutput() DremioInstanceArrayOutput { + return o +} + +func (o DremioInstanceArrayOutput) ToDremioInstanceArrayOutputWithContext(ctx context.Context) DremioInstanceArrayOutput { + return o +} + +func (o DremioInstanceArrayOutput) Index(i pulumi.IntInput) DremioInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DremioInstance { + return vs[0].([]*DremioInstance)[vs[1].(int)] + }).(DremioInstanceOutput) +} + +type DremioInstanceMapOutput struct{ *pulumi.OutputState } + +func (DremioInstanceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DremioInstance)(nil)).Elem() +} + +func (o DremioInstanceMapOutput) ToDremioInstanceMapOutput() DremioInstanceMapOutput { + return o +} + +func (o DremioInstanceMapOutput) ToDremioInstanceMapOutputWithContext(ctx context.Context) DremioInstanceMapOutput { + return o +} + +func (o DremioInstanceMapOutput) MapIndex(k pulumi.StringInput) DremioInstanceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DremioInstance { + return vs[0].(map[string]*DremioInstance)[vs[1].(string)] + }).(DremioInstanceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DremioInstanceInput)(nil)).Elem(), &DremioInstance{}) + pulumi.RegisterInputType(reflect.TypeOf((*DremioInstanceArrayInput)(nil)).Elem(), DremioInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DremioInstanceMapInput)(nil)).Elem(), DremioInstanceMap{}) + pulumi.RegisterOutputType(DremioInstanceOutput{}) + pulumi.RegisterOutputType(DremioInstanceArrayOutput{}) + pulumi.RegisterOutputType(DremioInstanceMapOutput{}) +} diff --git a/sdk/go/stackit/dremioUser.go b/sdk/go/stackit/dremioUser.go new file mode 100644 index 0000000..ad4c975 --- /dev/null +++ b/sdk/go/stackit/dremioUser.go @@ -0,0 +1,385 @@ +// 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" +) + +// Manages a STACKIT Dremio instances user. +// +// > This resource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// +// ## Example Usage +type DremioUser struct { + pulumi.CustomResourceState + + // The description of the user. + Description pulumi.StringOutput `pulumi:"description"` + // The email address of the user. + Email pulumi.StringOutput `pulumi:"email"` + // The first name of the user. + FirstName pulumi.StringOutput `pulumi:"firstName"` + // The Dremio instance ID. + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // The last name of the user. + LastName pulumi.StringOutput `pulumi:"lastName"` + // The username of the user. + Name pulumi.StringOutput `pulumi:"name"` + // The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character. + Password pulumi.StringOutput `pulumi:"password"` + // STACKIT Project ID to which the resource is associated. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` + Timeouts DremioUserTimeoutsPtrOutput `pulumi:"timeouts"` + // The Dremio user ID. + UserId pulumi.StringOutput `pulumi:"userId"` +} + +// NewDremioUser registers a new resource with the given unique name, arguments, and options. +func NewDremioUser(ctx *pulumi.Context, + name string, args *DremioUserArgs, opts ...pulumi.ResourceOption) (*DremioUser, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Email == nil { + return nil, errors.New("invalid value for required argument 'Email'") + } + if args.FirstName == nil { + return nil, errors.New("invalid value for required argument 'FirstName'") + } + if args.InstanceId == nil { + return nil, errors.New("invalid value for required argument 'InstanceId'") + } + if args.LastName == nil { + return nil, errors.New("invalid value for required argument 'LastName'") + } + if args.Password == nil { + return nil, errors.New("invalid value for required argument 'Password'") + } + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + if args.Password != nil { + args.Password = pulumi.ToSecret(args.Password).(pulumi.StringInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "password", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource DremioUser + err := ctx.RegisterResource("stackit:index/dremioUser:DremioUser", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetDremioUser gets an existing DremioUser 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 GetDremioUser(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *DremioUserState, opts ...pulumi.ResourceOption) (*DremioUser, error) { + var resource DremioUser + err := ctx.ReadResource("stackit:index/dremioUser:DremioUser", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering DremioUser resources. +type dremioUserState struct { + // The description of the user. + Description *string `pulumi:"description"` + // The email address of the user. + Email *string `pulumi:"email"` + // The first name of the user. + FirstName *string `pulumi:"firstName"` + // The Dremio instance ID. + InstanceId *string `pulumi:"instanceId"` + // The last name of the user. + LastName *string `pulumi:"lastName"` + // The username of the user. + Name *string `pulumi:"name"` + // The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character. + Password *string `pulumi:"password"` + // STACKIT Project ID to which the resource is associated. + ProjectId *string `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + Timeouts *DremioUserTimeouts `pulumi:"timeouts"` + // The Dremio user ID. + UserId *string `pulumi:"userId"` +} + +type DremioUserState struct { + // The description of the user. + Description pulumi.StringPtrInput + // The email address of the user. + Email pulumi.StringPtrInput + // The first name of the user. + FirstName pulumi.StringPtrInput + // The Dremio instance ID. + InstanceId pulumi.StringPtrInput + // The last name of the user. + LastName pulumi.StringPtrInput + // The username of the user. + Name pulumi.StringPtrInput + // The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character. + Password pulumi.StringPtrInput + // STACKIT Project ID to which the resource is associated. + ProjectId pulumi.StringPtrInput + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput + Timeouts DremioUserTimeoutsPtrInput + // The Dremio user ID. + UserId pulumi.StringPtrInput +} + +func (DremioUserState) ElementType() reflect.Type { + return reflect.TypeOf((*dremioUserState)(nil)).Elem() +} + +type dremioUserArgs struct { + // The description of the user. + Description *string `pulumi:"description"` + // The email address of the user. + Email string `pulumi:"email"` + // The first name of the user. + FirstName string `pulumi:"firstName"` + // The Dremio instance ID. + InstanceId string `pulumi:"instanceId"` + // The last name of the user. + LastName string `pulumi:"lastName"` + // The username of the user. + Name *string `pulumi:"name"` + // The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character. + Password string `pulumi:"password"` + // STACKIT Project ID to which the resource is associated. + ProjectId string `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + Timeouts *DremioUserTimeouts `pulumi:"timeouts"` +} + +// The set of arguments for constructing a DremioUser resource. +type DremioUserArgs struct { + // The description of the user. + Description pulumi.StringPtrInput + // The email address of the user. + Email pulumi.StringInput + // The first name of the user. + FirstName pulumi.StringInput + // The Dremio instance ID. + InstanceId pulumi.StringInput + // The last name of the user. + LastName pulumi.StringInput + // The username of the user. + Name pulumi.StringPtrInput + // The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character. + Password pulumi.StringInput + // STACKIT Project ID to which the resource is associated. + ProjectId pulumi.StringInput + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput + Timeouts DremioUserTimeoutsPtrInput +} + +func (DremioUserArgs) ElementType() reflect.Type { + return reflect.TypeOf((*dremioUserArgs)(nil)).Elem() +} + +type DremioUserInput interface { + pulumi.Input + + ToDremioUserOutput() DremioUserOutput + ToDremioUserOutputWithContext(ctx context.Context) DremioUserOutput +} + +func (*DremioUser) ElementType() reflect.Type { + return reflect.TypeOf((**DremioUser)(nil)).Elem() +} + +func (i *DremioUser) ToDremioUserOutput() DremioUserOutput { + return i.ToDremioUserOutputWithContext(context.Background()) +} + +func (i *DremioUser) ToDremioUserOutputWithContext(ctx context.Context) DremioUserOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioUserOutput) +} + +// DremioUserArrayInput is an input type that accepts DremioUserArray and DremioUserArrayOutput values. +// You can construct a concrete instance of `DremioUserArrayInput` via: +// +// DremioUserArray{ DremioUserArgs{...} } +type DremioUserArrayInput interface { + pulumi.Input + + ToDremioUserArrayOutput() DremioUserArrayOutput + ToDremioUserArrayOutputWithContext(context.Context) DremioUserArrayOutput +} + +type DremioUserArray []DremioUserInput + +func (DremioUserArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DremioUser)(nil)).Elem() +} + +func (i DremioUserArray) ToDremioUserArrayOutput() DremioUserArrayOutput { + return i.ToDremioUserArrayOutputWithContext(context.Background()) +} + +func (i DremioUserArray) ToDremioUserArrayOutputWithContext(ctx context.Context) DremioUserArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioUserArrayOutput) +} + +// DremioUserMapInput is an input type that accepts DremioUserMap and DremioUserMapOutput values. +// You can construct a concrete instance of `DremioUserMapInput` via: +// +// DremioUserMap{ "key": DremioUserArgs{...} } +type DremioUserMapInput interface { + pulumi.Input + + ToDremioUserMapOutput() DremioUserMapOutput + ToDremioUserMapOutputWithContext(context.Context) DremioUserMapOutput +} + +type DremioUserMap map[string]DremioUserInput + +func (DremioUserMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DremioUser)(nil)).Elem() +} + +func (i DremioUserMap) ToDremioUserMapOutput() DremioUserMapOutput { + return i.ToDremioUserMapOutputWithContext(context.Background()) +} + +func (i DremioUserMap) ToDremioUserMapOutputWithContext(ctx context.Context) DremioUserMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioUserMapOutput) +} + +type DremioUserOutput struct{ *pulumi.OutputState } + +func (DremioUserOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DremioUser)(nil)).Elem() +} + +func (o DremioUserOutput) ToDremioUserOutput() DremioUserOutput { + return o +} + +func (o DremioUserOutput) ToDremioUserOutputWithContext(ctx context.Context) DremioUserOutput { + return o +} + +// The description of the user. +func (o DremioUserOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v *DremioUser) pulumi.StringOutput { return v.Description }).(pulumi.StringOutput) +} + +// The email address of the user. +func (o DremioUserOutput) Email() pulumi.StringOutput { + return o.ApplyT(func(v *DremioUser) pulumi.StringOutput { return v.Email }).(pulumi.StringOutput) +} + +// The first name of the user. +func (o DremioUserOutput) FirstName() pulumi.StringOutput { + return o.ApplyT(func(v *DremioUser) pulumi.StringOutput { return v.FirstName }).(pulumi.StringOutput) +} + +// The Dremio instance ID. +func (o DremioUserOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *DremioUser) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// The last name of the user. +func (o DremioUserOutput) LastName() pulumi.StringOutput { + return o.ApplyT(func(v *DremioUser) pulumi.StringOutput { return v.LastName }).(pulumi.StringOutput) +} + +// The username of the user. +func (o DremioUserOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v *DremioUser) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) +} + +// The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character. +func (o DremioUserOutput) Password() pulumi.StringOutput { + return o.ApplyT(func(v *DremioUser) pulumi.StringOutput { return v.Password }).(pulumi.StringOutput) +} + +// STACKIT Project ID to which the resource is associated. +func (o DremioUserOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *DremioUser) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// The STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o DremioUserOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *DremioUser) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +func (o DremioUserOutput) Timeouts() DremioUserTimeoutsPtrOutput { + return o.ApplyT(func(v *DremioUser) DremioUserTimeoutsPtrOutput { return v.Timeouts }).(DremioUserTimeoutsPtrOutput) +} + +// The Dremio user ID. +func (o DremioUserOutput) UserId() pulumi.StringOutput { + return o.ApplyT(func(v *DremioUser) pulumi.StringOutput { return v.UserId }).(pulumi.StringOutput) +} + +type DremioUserArrayOutput struct{ *pulumi.OutputState } + +func (DremioUserArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*DremioUser)(nil)).Elem() +} + +func (o DremioUserArrayOutput) ToDremioUserArrayOutput() DremioUserArrayOutput { + return o +} + +func (o DremioUserArrayOutput) ToDremioUserArrayOutputWithContext(ctx context.Context) DremioUserArrayOutput { + return o +} + +func (o DremioUserArrayOutput) Index(i pulumi.IntInput) DremioUserOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *DremioUser { + return vs[0].([]*DremioUser)[vs[1].(int)] + }).(DremioUserOutput) +} + +type DremioUserMapOutput struct{ *pulumi.OutputState } + +func (DremioUserMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*DremioUser)(nil)).Elem() +} + +func (o DremioUserMapOutput) ToDremioUserMapOutput() DremioUserMapOutput { + return o +} + +func (o DremioUserMapOutput) ToDremioUserMapOutputWithContext(ctx context.Context) DremioUserMapOutput { + return o +} + +func (o DremioUserMapOutput) MapIndex(k pulumi.StringInput) DremioUserOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *DremioUser { + return vs[0].(map[string]*DremioUser)[vs[1].(string)] + }).(DremioUserOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*DremioUserInput)(nil)).Elem(), &DremioUser{}) + pulumi.RegisterInputType(reflect.TypeOf((*DremioUserArrayInput)(nil)).Elem(), DremioUserArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DremioUserMapInput)(nil)).Elem(), DremioUserMap{}) + pulumi.RegisterOutputType(DremioUserOutput{}) + pulumi.RegisterOutputType(DremioUserArrayOutput{}) + pulumi.RegisterOutputType(DremioUserMapOutput{}) +} diff --git a/sdk/go/stackit/getDremioInstance.go b/sdk/go/stackit/getDremioInstance.go new file mode 100644 index 0000000..c577f34 --- /dev/null +++ b/sdk/go/stackit/getDremioInstance.go @@ -0,0 +1,143 @@ +// 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" +) + +// Manages a STACKIT Dremio instance. +// +// > This datasource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// +// ## Example Usage +func LookupDremioInstance(ctx *pulumi.Context, args *LookupDremioInstanceArgs, opts ...pulumi.InvokeOption) (*LookupDremioInstanceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupDremioInstanceResult + err := ctx.Invoke("stackit:index/getDremioInstance:getDremioInstance", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getDremioInstance. +type LookupDremioInstanceArgs struct { + // The description is a longer text chosen by the user to provide more context for the resource. + Description *string `pulumi:"description"` + // The Dremio instance ID. + InstanceId string `pulumi:"instanceId"` + // STACKIT Project ID to which the resource is associated. + ProjectId string `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +// A collection of values returned by getDremioInstance. +type LookupDremioInstanceResult struct { + // Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + Authentication GetDremioInstanceAuthentication `pulumi:"authentication"` + // The description is a longer text chosen by the user to provide more context for the resource. + Description string `pulumi:"description"` + // The display name is a short name chosen by the user to identify the resource. + DisplayName string `pulumi:"displayName"` + // The available endpoints of the Dremio instance. + Endpoints GetDremioInstanceEndpoints `pulumi:"endpoints"` + // Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`instanceId`". + Id string `pulumi:"id"` + // The Dremio instance ID. + InstanceId string `pulumi:"instanceId"` + // STACKIT Project ID to which the resource is associated. + ProjectId string `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +func LookupDremioInstanceOutput(ctx *pulumi.Context, args LookupDremioInstanceOutputArgs, opts ...pulumi.InvokeOption) LookupDremioInstanceResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupDremioInstanceResultOutput, error) { + args := v.(LookupDremioInstanceArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getDremioInstance:getDremioInstance", args, LookupDremioInstanceResultOutput{}, options).(LookupDremioInstanceResultOutput), nil + }).(LookupDremioInstanceResultOutput) +} + +// A collection of arguments for invoking getDremioInstance. +type LookupDremioInstanceOutputArgs struct { + // The description is a longer text chosen by the user to provide more context for the resource. + Description pulumi.StringPtrInput `pulumi:"description"` + // The Dremio instance ID. + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // STACKIT Project ID to which the resource is associated. + ProjectId pulumi.StringInput `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` +} + +func (LookupDremioInstanceOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupDremioInstanceArgs)(nil)).Elem() +} + +// A collection of values returned by getDremioInstance. +type LookupDremioInstanceResultOutput struct{ *pulumi.OutputState } + +func (LookupDremioInstanceResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupDremioInstanceResult)(nil)).Elem() +} + +func (o LookupDremioInstanceResultOutput) ToLookupDremioInstanceResultOutput() LookupDremioInstanceResultOutput { + return o +} + +func (o LookupDremioInstanceResultOutput) ToLookupDremioInstanceResultOutputWithContext(ctx context.Context) LookupDremioInstanceResultOutput { + return o +} + +// Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. +func (o LookupDremioInstanceResultOutput) Authentication() GetDremioInstanceAuthenticationOutput { + return o.ApplyT(func(v LookupDremioInstanceResult) GetDremioInstanceAuthentication { return v.Authentication }).(GetDremioInstanceAuthenticationOutput) +} + +// The description is a longer text chosen by the user to provide more context for the resource. +func (o LookupDremioInstanceResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupDremioInstanceResult) string { return v.Description }).(pulumi.StringOutput) +} + +// The display name is a short name chosen by the user to identify the resource. +func (o LookupDremioInstanceResultOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v LookupDremioInstanceResult) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// The available endpoints of the Dremio instance. +func (o LookupDremioInstanceResultOutput) Endpoints() GetDremioInstanceEndpointsOutput { + return o.ApplyT(func(v LookupDremioInstanceResult) GetDremioInstanceEndpoints { return v.Endpoints }).(GetDremioInstanceEndpointsOutput) +} + +// Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`instanceId`". +func (o LookupDremioInstanceResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupDremioInstanceResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The Dremio instance ID. +func (o LookupDremioInstanceResultOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupDremioInstanceResult) string { return v.InstanceId }).(pulumi.StringOutput) +} + +// STACKIT Project ID to which the resource is associated. +func (o LookupDremioInstanceResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupDremioInstanceResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// The STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o LookupDremioInstanceResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDremioInstanceResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupDremioInstanceResultOutput{}) +} diff --git a/sdk/go/stackit/getDremioUser.go b/sdk/go/stackit/getDremioUser.go new file mode 100644 index 0000000..6e025f1 --- /dev/null +++ b/sdk/go/stackit/getDremioUser.go @@ -0,0 +1,161 @@ +// 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" +) + +// Manages a STACKIT Dremio instances user. +// +// > This datasource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. +// +// ## Example Usage +func LookupDremioUser(ctx *pulumi.Context, args *LookupDremioUserArgs, opts ...pulumi.InvokeOption) (*LookupDremioUserResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupDremioUserResult + err := ctx.Invoke("stackit:index/getDremioUser:getDremioUser", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getDremioUser. +type LookupDremioUserArgs struct { + // The description of the user. + Description *string `pulumi:"description"` + // The Dremio instance ID. + InstanceId string `pulumi:"instanceId"` + // STACKIT Project ID to which the resource is associated. + ProjectId string `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // The Dremio user ID. + UserId string `pulumi:"userId"` +} + +// A collection of values returned by getDremioUser. +type LookupDremioUserResult struct { + // The description of the user. + Description string `pulumi:"description"` + // The email address of the user. + Email string `pulumi:"email"` + // The first name of the user. + FirstName string `pulumi:"firstName"` + // Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`instanceId`,`userId`". + Id string `pulumi:"id"` + // The Dremio instance ID. + InstanceId string `pulumi:"instanceId"` + // The last name of the user. + LastName string `pulumi:"lastName"` + // The username of the user. + Name string `pulumi:"name"` + // STACKIT Project ID to which the resource is associated. + ProjectId string `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // The Dremio user ID. + UserId string `pulumi:"userId"` +} + +func LookupDremioUserOutput(ctx *pulumi.Context, args LookupDremioUserOutputArgs, opts ...pulumi.InvokeOption) LookupDremioUserResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupDremioUserResultOutput, error) { + args := v.(LookupDremioUserArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getDremioUser:getDremioUser", args, LookupDremioUserResultOutput{}, options).(LookupDremioUserResultOutput), nil + }).(LookupDremioUserResultOutput) +} + +// A collection of arguments for invoking getDremioUser. +type LookupDremioUserOutputArgs struct { + // The description of the user. + Description pulumi.StringPtrInput `pulumi:"description"` + // The Dremio instance ID. + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // STACKIT Project ID to which the resource is associated. + ProjectId pulumi.StringInput `pulumi:"projectId"` + // The STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` + // The Dremio user ID. + UserId pulumi.StringInput `pulumi:"userId"` +} + +func (LookupDremioUserOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupDremioUserArgs)(nil)).Elem() +} + +// A collection of values returned by getDremioUser. +type LookupDremioUserResultOutput struct{ *pulumi.OutputState } + +func (LookupDremioUserResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupDremioUserResult)(nil)).Elem() +} + +func (o LookupDremioUserResultOutput) ToLookupDremioUserResultOutput() LookupDremioUserResultOutput { + return o +} + +func (o LookupDremioUserResultOutput) ToLookupDremioUserResultOutputWithContext(ctx context.Context) LookupDremioUserResultOutput { + return o +} + +// The description of the user. +func (o LookupDremioUserResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupDremioUserResult) string { return v.Description }).(pulumi.StringOutput) +} + +// The email address of the user. +func (o LookupDremioUserResultOutput) Email() pulumi.StringOutput { + return o.ApplyT(func(v LookupDremioUserResult) string { return v.Email }).(pulumi.StringOutput) +} + +// The first name of the user. +func (o LookupDremioUserResultOutput) FirstName() pulumi.StringOutput { + return o.ApplyT(func(v LookupDremioUserResult) string { return v.FirstName }).(pulumi.StringOutput) +} + +// Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`instanceId`,`userId`". +func (o LookupDremioUserResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupDremioUserResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The Dremio instance ID. +func (o LookupDremioUserResultOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupDremioUserResult) string { return v.InstanceId }).(pulumi.StringOutput) +} + +// The last name of the user. +func (o LookupDremioUserResultOutput) LastName() pulumi.StringOutput { + return o.ApplyT(func(v LookupDremioUserResult) string { return v.LastName }).(pulumi.StringOutput) +} + +// The username of the user. +func (o LookupDremioUserResultOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LookupDremioUserResult) string { return v.Name }).(pulumi.StringOutput) +} + +// STACKIT Project ID to which the resource is associated. +func (o LookupDremioUserResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupDremioUserResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// The STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o LookupDremioUserResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupDremioUserResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// The Dremio user ID. +func (o LookupDremioUserResultOutput) UserId() pulumi.StringOutput { + return o.ApplyT(func(v LookupDremioUserResult) string { return v.UserId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupDremioUserResultOutput{}) +} diff --git a/sdk/go/stackit/getLogsInstance.go b/sdk/go/stackit/getLogsInstance.go index bc08138..c233159 100644 --- a/sdk/go/stackit/getLogsInstance.go +++ b/sdk/go/stackit/getLogsInstance.go @@ -64,7 +64,7 @@ type LookupLogsInstanceResult struct { Region *string `pulumi:"region"` // The log retention time in days RetentionDays int `pulumi:"retentionDays"` - // The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + // The status of the Logs instance. Possible values are: `active`, `deleting`, `reconciling`. Status string `pulumi:"status"` } @@ -176,7 +176,7 @@ func (o LookupLogsInstanceResultOutput) RetentionDays() pulumi.IntOutput { return o.ApplyT(func(v LookupLogsInstanceResult) int { return v.RetentionDays }).(pulumi.IntOutput) } -// The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. +// The status of the Logs instance. Possible values are: `active`, `deleting`, `reconciling`. func (o LookupLogsInstanceResultOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v LookupLogsInstanceResult) string { return v.Status }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/getServiceAccount.go b/sdk/go/stackit/getServiceAccount.go index f434c52..7cf857e 100644 --- a/sdk/go/stackit/getServiceAccount.go +++ b/sdk/go/stackit/getServiceAccount.go @@ -11,7 +11,7 @@ import ( "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" ) -// Service account data source schema. +// Gets details about a STACKIT service account in a project by email. // // ## Example Usage func LookupServiceAccount(ctx *pulumi.Context, args *LookupServiceAccountArgs, opts ...pulumi.InvokeOption) (*LookupServiceAccountResult, error) { diff --git a/sdk/go/stackit/getServiceAccountFederatedIdentityProvider.go b/sdk/go/stackit/getServiceAccountFederatedIdentityProvider.go index 513510c..031cce9 100644 --- a/sdk/go/stackit/getServiceAccountFederatedIdentityProvider.go +++ b/sdk/go/stackit/getServiceAccountFederatedIdentityProvider.go @@ -11,7 +11,7 @@ import ( "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" ) -// Service account federated identity provider schema. +// Gets details about a federated identity provider configured for a STACKIT service account. // // ## Example Usage func LookupServiceAccountFederatedIdentityProvider(ctx *pulumi.Context, args *LookupServiceAccountFederatedIdentityProviderArgs, opts ...pulumi.InvokeOption) (*LookupServiceAccountFederatedIdentityProviderResult, error) { diff --git a/sdk/go/stackit/getServiceAccounts.go b/sdk/go/stackit/getServiceAccounts.go index f60eaa9..9eba9ab 100644 --- a/sdk/go/stackit/getServiceAccounts.go +++ b/sdk/go/stackit/getServiceAccounts.go @@ -11,7 +11,7 @@ import ( "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" ) -// Service accounts plural data source schema. Returns a list of all service accounts in a project, optionally filtered. +// Lists STACKIT service accounts in a project, optionally filtered by email. // // ## Example Usage func GetServiceAccounts(ctx *pulumi.Context, args *GetServiceAccountsArgs, opts ...pulumi.InvokeOption) (*GetServiceAccountsResult, error) { diff --git a/sdk/go/stackit/getSfsExportPolicy.go b/sdk/go/stackit/getSfsExportPolicy.go index 52668dc..8ffc972 100644 --- a/sdk/go/stackit/getSfsExportPolicy.go +++ b/sdk/go/stackit/getSfsExportPolicy.go @@ -40,6 +40,8 @@ type LookupSfsExportPolicyArgs struct { type LookupSfsExportPolicyResult struct { // Terraform's internal resource ID. It is structured as "`projectId`,`region`,`policyId`". Id string `pulumi:"id"` + // Labels are key-value string pairs which can be attached to an export policy + Labels map[string]string `pulumi:"labels"` // Name of the export policy. Name string `pulumi:"name"` // Export policy ID @@ -94,6 +96,11 @@ func (o LookupSfsExportPolicyResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupSfsExportPolicyResult) string { return v.Id }).(pulumi.StringOutput) } +// Labels are key-value string pairs which can be attached to an export policy +func (o LookupSfsExportPolicyResultOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupSfsExportPolicyResult) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + // Name of the export policy. func (o LookupSfsExportPolicyResultOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v LookupSfsExportPolicyResult) string { return v.Name }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/getSfsResourcePool.go b/sdk/go/stackit/getSfsResourcePool.go index 4dbf0dc..7d65d02 100644 --- a/sdk/go/stackit/getSfsResourcePool.go +++ b/sdk/go/stackit/getSfsResourcePool.go @@ -44,6 +44,8 @@ type LookupSfsResourcePoolResult struct { Id string `pulumi:"id"` // List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). IpAcls []string `pulumi:"ipAcls"` + // Labels are key-value string pairs which can be attached to a resource pool + Labels map[string]string `pulumi:"labels"` // Name of the resource pool. Name string `pulumi:"name"` // Name of the performance class. @@ -119,6 +121,11 @@ func (o LookupSfsResourcePoolResultOutput) IpAcls() pulumi.StringArrayOutput { return o.ApplyT(func(v LookupSfsResourcePoolResult) []string { return v.IpAcls }).(pulumi.StringArrayOutput) } +// Labels are key-value string pairs which can be attached to a resource pool +func (o LookupSfsResourcePoolResultOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupSfsResourcePoolResult) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + // Name of the resource pool. func (o LookupSfsResourcePoolResultOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v LookupSfsResourcePoolResult) string { return v.Name }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/getSfsShare.go b/sdk/go/stackit/getSfsShare.go index dc991ee..0b6de41 100644 --- a/sdk/go/stackit/getSfsShare.go +++ b/sdk/go/stackit/getSfsShare.go @@ -47,6 +47,8 @@ type LookupSfsShareResult struct { ExportPolicy string `pulumi:"exportPolicy"` // Terraform's internal resource ID. It is structured as "`projectId`,`shareId`". Id string `pulumi:"id"` + // Labels are key-value string pairs which can be attached to a share + Labels map[string]string `pulumi:"labels"` // Mount path of the Share, used to mount the Share MountPath string `pulumi:"mountPath"` // Name of the Share @@ -118,6 +120,11 @@ func (o LookupSfsShareResultOutput) Id() pulumi.StringOutput { return o.ApplyT(func(v LookupSfsShareResult) string { return v.Id }).(pulumi.StringOutput) } +// Labels are key-value string pairs which can be attached to a share +func (o LookupSfsShareResultOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupSfsShareResult) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + // Mount path of the Share, used to mount the Share func (o LookupSfsShareResultOutput) MountPath() pulumi.StringOutput { return o.ApplyT(func(v LookupSfsShareResult) string { return v.MountPath }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/getTelemetrylink.go b/sdk/go/stackit/getTelemetrylink.go new file mode 100644 index 0000000..584f2f8 --- /dev/null +++ b/sdk/go/stackit/getTelemetrylink.go @@ -0,0 +1,144 @@ +// 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" +) + +// TelemetryLink 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 LookupTelemetrylink(ctx *pulumi.Context, args *LookupTelemetrylinkArgs, opts ...pulumi.InvokeOption) (*LookupTelemetrylinkResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupTelemetrylinkResult + err := ctx.Invoke("stackit:index/getTelemetrylink:getTelemetrylink", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getTelemetrylink. +type LookupTelemetrylinkArgs struct { + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + ResourceId string `pulumi:"resourceId"` + // The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + ResourceType string `pulumi:"resourceType"` +} + +// A collection of values returned by getTelemetrylink. +type LookupTelemetrylinkResult struct { + // The time the Telemetry Link was created. + CreateTime string `pulumi:"createTime"` + // The description of the Telemetry Link resource. + Description string `pulumi:"description"` + // The displayed name of the Telemetry Link resource. + DisplayName string `pulumi:"displayName"` + // Terraform's internal resource identifier. It is structured as "`resourceType`, `resourceId`,`region`". + Id string `pulumi:"id"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + ResourceId string `pulumi:"resourceId"` + // The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + ResourceType string `pulumi:"resourceType"` + // The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. + Status string `pulumi:"status"` + // The Telemetry Router ID. + TelemetryRouterId string `pulumi:"telemetryRouterId"` +} + +func LookupTelemetrylinkOutput(ctx *pulumi.Context, args LookupTelemetrylinkOutputArgs, opts ...pulumi.InvokeOption) LookupTelemetrylinkResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupTelemetrylinkResultOutput, error) { + args := v.(LookupTelemetrylinkArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getTelemetrylink:getTelemetrylink", args, LookupTelemetrylinkResultOutput{}, options).(LookupTelemetrylinkResultOutput), nil + }).(LookupTelemetrylinkResultOutput) +} + +// A collection of arguments for invoking getTelemetrylink. +type LookupTelemetrylinkOutputArgs struct { + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` + // STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + ResourceId pulumi.StringInput `pulumi:"resourceId"` + // The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + ResourceType pulumi.StringInput `pulumi:"resourceType"` +} + +func (LookupTelemetrylinkOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupTelemetrylinkArgs)(nil)).Elem() +} + +// A collection of values returned by getTelemetrylink. +type LookupTelemetrylinkResultOutput struct{ *pulumi.OutputState } + +func (LookupTelemetrylinkResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupTelemetrylinkResult)(nil)).Elem() +} + +func (o LookupTelemetrylinkResultOutput) ToLookupTelemetrylinkResultOutput() LookupTelemetrylinkResultOutput { + return o +} + +func (o LookupTelemetrylinkResultOutput) ToLookupTelemetrylinkResultOutputWithContext(ctx context.Context) LookupTelemetrylinkResultOutput { + return o +} + +// The time the Telemetry Link was created. +func (o LookupTelemetrylinkResultOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetrylinkResult) string { return v.CreateTime }).(pulumi.StringOutput) +} + +// The description of the Telemetry Link resource. +func (o LookupTelemetrylinkResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetrylinkResult) string { return v.Description }).(pulumi.StringOutput) +} + +// The displayed name of the Telemetry Link resource. +func (o LookupTelemetrylinkResultOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetrylinkResult) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// Terraform's internal resource identifier. It is structured as "`resourceType`, `resourceId`,`region`". +func (o LookupTelemetrylinkResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetrylinkResult) string { return v.Id }).(pulumi.StringOutput) +} + +// STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o LookupTelemetrylinkResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupTelemetrylinkResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. +func (o LookupTelemetrylinkResultOutput) ResourceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetrylinkResult) string { return v.ResourceId }).(pulumi.StringOutput) +} + +// The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. +func (o LookupTelemetrylinkResultOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetrylinkResult) string { return v.ResourceType }).(pulumi.StringOutput) +} + +// The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. +func (o LookupTelemetrylinkResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetrylinkResult) string { return v.Status }).(pulumi.StringOutput) +} + +// The Telemetry Router ID. +func (o LookupTelemetrylinkResultOutput) TelemetryRouterId() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetrylinkResult) string { return v.TelemetryRouterId }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupTelemetrylinkResultOutput{}) +} diff --git a/sdk/go/stackit/getTelemetryrouterAccessToken.go b/sdk/go/stackit/getTelemetryrouterAccessToken.go new file mode 100644 index 0000000..8865f56 --- /dev/null +++ b/sdk/go/stackit/getTelemetryrouterAccessToken.go @@ -0,0 +1,155 @@ +// 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" +) + +// TelemetryRouter access token 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 LookupTelemetryrouterAccessToken(ctx *pulumi.Context, args *LookupTelemetryrouterAccessTokenArgs, opts ...pulumi.InvokeOption) (*LookupTelemetryrouterAccessTokenResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupTelemetryrouterAccessTokenResult + err := ctx.Invoke("stackit:index/getTelemetryrouterAccessToken:getTelemetryrouterAccessToken", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getTelemetryrouterAccessToken. +type LookupTelemetryrouterAccessTokenArgs struct { + // The access token ID + AccessTokenId string `pulumi:"accessTokenId"` + // The TelemetryRouter instance ID associated with the access token + InstanceId string `pulumi:"instanceId"` + // STACKIT project ID associated with the TelemetryRouter access token + ProjectId string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +// A collection of values returned by getTelemetryrouterAccessToken. +type LookupTelemetryrouterAccessTokenResult struct { + // The access token ID + AccessTokenId string `pulumi:"accessTokenId"` + // The user who created the access token + CreatorId string `pulumi:"creatorId"` + // The description of the access token + Description string `pulumi:"description"` + // The displayed name of the access token + DisplayName string `pulumi:"displayName"` + // The date and time an access token will expire at (inclusively) + ExpirationTime string `pulumi:"expirationTime"` + // Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`instanceId`,`accessTokenId`". + Id string `pulumi:"id"` + // The TelemetryRouter instance ID associated with the access token + InstanceId string `pulumi:"instanceId"` + // STACKIT project ID associated with the TelemetryRouter access token + ProjectId string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // The status of the access token. Possible values are: `active`, `expired`, `deleting`. + Status string `pulumi:"status"` +} + +func LookupTelemetryrouterAccessTokenOutput(ctx *pulumi.Context, args LookupTelemetryrouterAccessTokenOutputArgs, opts ...pulumi.InvokeOption) LookupTelemetryrouterAccessTokenResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupTelemetryrouterAccessTokenResultOutput, error) { + args := v.(LookupTelemetryrouterAccessTokenArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getTelemetryrouterAccessToken:getTelemetryrouterAccessToken", args, LookupTelemetryrouterAccessTokenResultOutput{}, options).(LookupTelemetryrouterAccessTokenResultOutput), nil + }).(LookupTelemetryrouterAccessTokenResultOutput) +} + +// A collection of arguments for invoking getTelemetryrouterAccessToken. +type LookupTelemetryrouterAccessTokenOutputArgs struct { + // The access token ID + AccessTokenId pulumi.StringInput `pulumi:"accessTokenId"` + // The TelemetryRouter instance ID associated with the access token + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // STACKIT project ID associated with the TelemetryRouter access token + ProjectId pulumi.StringInput `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` +} + +func (LookupTelemetryrouterAccessTokenOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupTelemetryrouterAccessTokenArgs)(nil)).Elem() +} + +// A collection of values returned by getTelemetryrouterAccessToken. +type LookupTelemetryrouterAccessTokenResultOutput struct{ *pulumi.OutputState } + +func (LookupTelemetryrouterAccessTokenResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupTelemetryrouterAccessTokenResult)(nil)).Elem() +} + +func (o LookupTelemetryrouterAccessTokenResultOutput) ToLookupTelemetryrouterAccessTokenResultOutput() LookupTelemetryrouterAccessTokenResultOutput { + return o +} + +func (o LookupTelemetryrouterAccessTokenResultOutput) ToLookupTelemetryrouterAccessTokenResultOutputWithContext(ctx context.Context) LookupTelemetryrouterAccessTokenResultOutput { + return o +} + +// The access token ID +func (o LookupTelemetryrouterAccessTokenResultOutput) AccessTokenId() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterAccessTokenResult) string { return v.AccessTokenId }).(pulumi.StringOutput) +} + +// The user who created the access token +func (o LookupTelemetryrouterAccessTokenResultOutput) CreatorId() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterAccessTokenResult) string { return v.CreatorId }).(pulumi.StringOutput) +} + +// The description of the access token +func (o LookupTelemetryrouterAccessTokenResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterAccessTokenResult) string { return v.Description }).(pulumi.StringOutput) +} + +// The displayed name of the access token +func (o LookupTelemetryrouterAccessTokenResultOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterAccessTokenResult) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// The date and time an access token will expire at (inclusively) +func (o LookupTelemetryrouterAccessTokenResultOutput) ExpirationTime() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterAccessTokenResult) string { return v.ExpirationTime }).(pulumi.StringOutput) +} + +// Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`instanceId`,`accessTokenId`". +func (o LookupTelemetryrouterAccessTokenResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterAccessTokenResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The TelemetryRouter instance ID associated with the access token +func (o LookupTelemetryrouterAccessTokenResultOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterAccessTokenResult) string { return v.InstanceId }).(pulumi.StringOutput) +} + +// STACKIT project ID associated with the TelemetryRouter access token +func (o LookupTelemetryrouterAccessTokenResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterAccessTokenResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o LookupTelemetryrouterAccessTokenResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupTelemetryrouterAccessTokenResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// The status of the access token. Possible values are: `active`, `expired`, `deleting`. +func (o LookupTelemetryrouterAccessTokenResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterAccessTokenResult) string { return v.Status }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupTelemetryrouterAccessTokenResultOutput{}) +} diff --git a/sdk/go/stackit/getTelemetryrouterDestination.go b/sdk/go/stackit/getTelemetryrouterDestination.go new file mode 100644 index 0000000..c759b4b --- /dev/null +++ b/sdk/go/stackit/getTelemetryrouterDestination.go @@ -0,0 +1,162 @@ +// 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" +) + +// TelemetryRouter destination 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 LookupTelemetryrouterDestination(ctx *pulumi.Context, args *LookupTelemetryrouterDestinationArgs, opts ...pulumi.InvokeOption) (*LookupTelemetryrouterDestinationResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupTelemetryrouterDestinationResult + err := ctx.Invoke("stackit:index/getTelemetryrouterDestination:getTelemetryrouterDestination", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getTelemetryrouterDestination. +type LookupTelemetryrouterDestinationArgs struct { + // The TelemetryRouter destination ID + DestinationId string `pulumi:"destinationId"` + // The TelemetryRouter instance ID + InstanceId string `pulumi:"instanceId"` + // STACKIT project ID associated with the TelemetryRouter instance + ProjectId string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +// A collection of values returned by getTelemetryrouterDestination. +type LookupTelemetryrouterDestinationResult struct { + // The configuration of the TelemetryRouter destination + Config GetTelemetryrouterDestinationConfig `pulumi:"config"` + // The date and time the creation of the TelemetryRouter destination was initiated + CreationTime string `pulumi:"creationTime"` + // The TelemetryRouter destination's credential type + CredentialType string `pulumi:"credentialType"` + // The description of the TelemetryRouter destination + Description string `pulumi:"description"` + // The TelemetryRouter destination ID + DestinationId string `pulumi:"destinationId"` + // The displayed name of the TelemetryRouter destination + DisplayName string `pulumi:"displayName"` + // Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`instanceId`,`destionationId`". + Id string `pulumi:"id"` + // The TelemetryRouter instance ID + InstanceId string `pulumi:"instanceId"` + // STACKIT project ID associated with the TelemetryRouter instance + ProjectId string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region string `pulumi:"region"` + // The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. + Status string `pulumi:"status"` +} + +func LookupTelemetryrouterDestinationOutput(ctx *pulumi.Context, args LookupTelemetryrouterDestinationOutputArgs, opts ...pulumi.InvokeOption) LookupTelemetryrouterDestinationResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupTelemetryrouterDestinationResultOutput, error) { + args := v.(LookupTelemetryrouterDestinationArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getTelemetryrouterDestination:getTelemetryrouterDestination", args, LookupTelemetryrouterDestinationResultOutput{}, options).(LookupTelemetryrouterDestinationResultOutput), nil + }).(LookupTelemetryrouterDestinationResultOutput) +} + +// A collection of arguments for invoking getTelemetryrouterDestination. +type LookupTelemetryrouterDestinationOutputArgs struct { + // The TelemetryRouter destination ID + DestinationId pulumi.StringInput `pulumi:"destinationId"` + // The TelemetryRouter instance ID + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // STACKIT project ID associated with the TelemetryRouter instance + ProjectId pulumi.StringInput `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` +} + +func (LookupTelemetryrouterDestinationOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupTelemetryrouterDestinationArgs)(nil)).Elem() +} + +// A collection of values returned by getTelemetryrouterDestination. +type LookupTelemetryrouterDestinationResultOutput struct{ *pulumi.OutputState } + +func (LookupTelemetryrouterDestinationResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupTelemetryrouterDestinationResult)(nil)).Elem() +} + +func (o LookupTelemetryrouterDestinationResultOutput) ToLookupTelemetryrouterDestinationResultOutput() LookupTelemetryrouterDestinationResultOutput { + return o +} + +func (o LookupTelemetryrouterDestinationResultOutput) ToLookupTelemetryrouterDestinationResultOutputWithContext(ctx context.Context) LookupTelemetryrouterDestinationResultOutput { + return o +} + +// The configuration of the TelemetryRouter destination +func (o LookupTelemetryrouterDestinationResultOutput) Config() GetTelemetryrouterDestinationConfigOutput { + return o.ApplyT(func(v LookupTelemetryrouterDestinationResult) GetTelemetryrouterDestinationConfig { return v.Config }).(GetTelemetryrouterDestinationConfigOutput) +} + +// The date and time the creation of the TelemetryRouter destination was initiated +func (o LookupTelemetryrouterDestinationResultOutput) CreationTime() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterDestinationResult) string { return v.CreationTime }).(pulumi.StringOutput) +} + +// The TelemetryRouter destination's credential type +func (o LookupTelemetryrouterDestinationResultOutput) CredentialType() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterDestinationResult) string { return v.CredentialType }).(pulumi.StringOutput) +} + +// The description of the TelemetryRouter destination +func (o LookupTelemetryrouterDestinationResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterDestinationResult) string { return v.Description }).(pulumi.StringOutput) +} + +// The TelemetryRouter destination ID +func (o LookupTelemetryrouterDestinationResultOutput) DestinationId() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterDestinationResult) string { return v.DestinationId }).(pulumi.StringOutput) +} + +// The displayed name of the TelemetryRouter destination +func (o LookupTelemetryrouterDestinationResultOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterDestinationResult) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`instanceId`,`destionationId`". +func (o LookupTelemetryrouterDestinationResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterDestinationResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The TelemetryRouter instance ID +func (o LookupTelemetryrouterDestinationResultOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterDestinationResult) string { return v.InstanceId }).(pulumi.StringOutput) +} + +// STACKIT project ID associated with the TelemetryRouter instance +func (o LookupTelemetryrouterDestinationResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterDestinationResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o LookupTelemetryrouterDestinationResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterDestinationResult) string { return v.Region }).(pulumi.StringOutput) +} + +// The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. +func (o LookupTelemetryrouterDestinationResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterDestinationResult) string { return v.Status }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupTelemetryrouterDestinationResultOutput{}) +} diff --git a/sdk/go/stackit/getTelemetryrouterInstance.go b/sdk/go/stackit/getTelemetryrouterInstance.go new file mode 100644 index 0000000..6dc96f6 --- /dev/null +++ b/sdk/go/stackit/getTelemetryrouterInstance.go @@ -0,0 +1,151 @@ +// 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" +) + +// TelemetryRouter instance 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 LookupTelemetryrouterInstance(ctx *pulumi.Context, args *LookupTelemetryrouterInstanceArgs, opts ...pulumi.InvokeOption) (*LookupTelemetryrouterInstanceResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupTelemetryrouterInstanceResult + err := ctx.Invoke("stackit:index/getTelemetryrouterInstance:getTelemetryrouterInstance", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getTelemetryrouterInstance. +type LookupTelemetryrouterInstanceArgs struct { + // The TelemetryRouter instance ID + InstanceId string `pulumi:"instanceId"` + // STACKIT project ID associated with the TelemetryRouter instance + ProjectId string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +// A collection of values returned by getTelemetryrouterInstance. +type LookupTelemetryrouterInstanceResult struct { + // The date and time the creation of the TelemetryRouter instance was initiated + CreationTime string `pulumi:"creationTime"` + // The description of the TelemetryRouter instance + Description string `pulumi:"description"` + // The display name of the TelemetryRouter instance + DisplayName string `pulumi:"displayName"` + // The TelemetryRouter global filter settings + Filter GetTelemetryrouterInstanceFilter `pulumi:"filter"` + // Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`instanceId`". + Id string `pulumi:"id"` + // The TelemetryRouter instance ID + InstanceId string `pulumi:"instanceId"` + // STACKIT project ID associated with the TelemetryRouter instance + ProjectId string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. + Status string `pulumi:"status"` + // The TelemetryRouter instance's URI + Uri string `pulumi:"uri"` +} + +func LookupTelemetryrouterInstanceOutput(ctx *pulumi.Context, args LookupTelemetryrouterInstanceOutputArgs, opts ...pulumi.InvokeOption) LookupTelemetryrouterInstanceResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupTelemetryrouterInstanceResultOutput, error) { + args := v.(LookupTelemetryrouterInstanceArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getTelemetryrouterInstance:getTelemetryrouterInstance", args, LookupTelemetryrouterInstanceResultOutput{}, options).(LookupTelemetryrouterInstanceResultOutput), nil + }).(LookupTelemetryrouterInstanceResultOutput) +} + +// A collection of arguments for invoking getTelemetryrouterInstance. +type LookupTelemetryrouterInstanceOutputArgs struct { + // The TelemetryRouter instance ID + InstanceId pulumi.StringInput `pulumi:"instanceId"` + // STACKIT project ID associated with the TelemetryRouter instance + ProjectId pulumi.StringInput `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput `pulumi:"region"` +} + +func (LookupTelemetryrouterInstanceOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupTelemetryrouterInstanceArgs)(nil)).Elem() +} + +// A collection of values returned by getTelemetryrouterInstance. +type LookupTelemetryrouterInstanceResultOutput struct{ *pulumi.OutputState } + +func (LookupTelemetryrouterInstanceResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupTelemetryrouterInstanceResult)(nil)).Elem() +} + +func (o LookupTelemetryrouterInstanceResultOutput) ToLookupTelemetryrouterInstanceResultOutput() LookupTelemetryrouterInstanceResultOutput { + return o +} + +func (o LookupTelemetryrouterInstanceResultOutput) ToLookupTelemetryrouterInstanceResultOutputWithContext(ctx context.Context) LookupTelemetryrouterInstanceResultOutput { + return o +} + +// The date and time the creation of the TelemetryRouter instance was initiated +func (o LookupTelemetryrouterInstanceResultOutput) CreationTime() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterInstanceResult) string { return v.CreationTime }).(pulumi.StringOutput) +} + +// The description of the TelemetryRouter instance +func (o LookupTelemetryrouterInstanceResultOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterInstanceResult) string { return v.Description }).(pulumi.StringOutput) +} + +// The display name of the TelemetryRouter instance +func (o LookupTelemetryrouterInstanceResultOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterInstanceResult) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// The TelemetryRouter global filter settings +func (o LookupTelemetryrouterInstanceResultOutput) Filter() GetTelemetryrouterInstanceFilterOutput { + return o.ApplyT(func(v LookupTelemetryrouterInstanceResult) GetTelemetryrouterInstanceFilter { return v.Filter }).(GetTelemetryrouterInstanceFilterOutput) +} + +// Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`instanceId`". +func (o LookupTelemetryrouterInstanceResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterInstanceResult) string { return v.Id }).(pulumi.StringOutput) +} + +// The TelemetryRouter instance ID +func (o LookupTelemetryrouterInstanceResultOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterInstanceResult) string { return v.InstanceId }).(pulumi.StringOutput) +} + +// STACKIT project ID associated with the TelemetryRouter instance +func (o LookupTelemetryrouterInstanceResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterInstanceResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o LookupTelemetryrouterInstanceResultOutput) Region() pulumi.StringPtrOutput { + return o.ApplyT(func(v LookupTelemetryrouterInstanceResult) *string { return v.Region }).(pulumi.StringPtrOutput) +} + +// The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. +func (o LookupTelemetryrouterInstanceResultOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterInstanceResult) string { return v.Status }).(pulumi.StringOutput) +} + +// The TelemetryRouter instance's URI +func (o LookupTelemetryrouterInstanceResultOutput) Uri() pulumi.StringOutput { + return o.ApplyT(func(v LookupTelemetryrouterInstanceResult) string { return v.Uri }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupTelemetryrouterInstanceResultOutput{}) +} diff --git a/sdk/go/stackit/getVpnGateway.go b/sdk/go/stackit/getVpnGateway.go new file mode 100644 index 0000000..6003876 --- /dev/null +++ b/sdk/go/stackit/getVpnGateway.go @@ -0,0 +1,147 @@ +// 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 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 LookupVpnGateway(ctx *pulumi.Context, args *LookupVpnGatewayArgs, opts ...pulumi.InvokeOption) (*LookupVpnGatewayResult, error) { + opts = internal.PkgInvokeDefaultOpts(opts) + var rv LookupVpnGatewayResult + err := ctx.Invoke("stackit:index/getVpnGateway:getVpnGateway", args, &rv, opts...) + if err != nil { + return nil, err + } + return &rv, nil +} + +// A collection of arguments for invoking getVpnGateway. +type LookupVpnGatewayArgs 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 getVpnGateway. +type LookupVpnGatewayResult struct { + // Availability zones for the two tunnel endpoints. + AvailabilityZones GetVpnGatewayAvailabilityZones `pulumi:"availabilityZones"` + // BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + Bgp GetVpnGatewayBgp `pulumi:"bgp"` + // 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"` + // Map of custom labels (key-value string pairs). + Labels map[string]string `pulumi:"labels"` + // The service plan identifier (e.g. `p500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + PlanId string `pulumi:"planId"` + // 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"` + // Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + RoutingType string `pulumi:"routingType"` +} + +func LookupVpnGatewayOutput(ctx *pulumi.Context, args LookupVpnGatewayOutputArgs, opts ...pulumi.InvokeOption) LookupVpnGatewayResultOutput { + return pulumi.ToOutputWithContext(ctx.Context(), args). + ApplyT(func(v interface{}) (LookupVpnGatewayResultOutput, error) { + args := v.(LookupVpnGatewayArgs) + options := pulumi.InvokeOutputOptions{InvokeOptions: internal.PkgInvokeDefaultOpts(opts)} + return ctx.InvokeOutput("stackit:index/getVpnGateway:getVpnGateway", args, LookupVpnGatewayResultOutput{}, options).(LookupVpnGatewayResultOutput), nil + }).(LookupVpnGatewayResultOutput) +} + +// A collection of arguments for invoking getVpnGateway. +type LookupVpnGatewayOutputArgs 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 (LookupVpnGatewayOutputArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVpnGatewayArgs)(nil)).Elem() +} + +// A collection of values returned by getVpnGateway. +type LookupVpnGatewayResultOutput struct{ *pulumi.OutputState } + +func (LookupVpnGatewayResultOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LookupVpnGatewayResult)(nil)).Elem() +} + +func (o LookupVpnGatewayResultOutput) ToLookupVpnGatewayResultOutput() LookupVpnGatewayResultOutput { + return o +} + +func (o LookupVpnGatewayResultOutput) ToLookupVpnGatewayResultOutputWithContext(ctx context.Context) LookupVpnGatewayResultOutput { + return o +} + +// Availability zones for the two tunnel endpoints. +func (o LookupVpnGatewayResultOutput) AvailabilityZones() GetVpnGatewayAvailabilityZonesOutput { + return o.ApplyT(func(v LookupVpnGatewayResult) GetVpnGatewayAvailabilityZones { return v.AvailabilityZones }).(GetVpnGatewayAvailabilityZonesOutput) +} + +// BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. +func (o LookupVpnGatewayResultOutput) Bgp() GetVpnGatewayBgpOutput { + return o.ApplyT(func(v LookupVpnGatewayResult) GetVpnGatewayBgp { return v.Bgp }).(GetVpnGatewayBgpOutput) +} + +// A user-friendly name for the VPN gateway. +func (o LookupVpnGatewayResultOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpnGatewayResult) string { return v.DisplayName }).(pulumi.StringOutput) +} + +// The server-generated UUID of the VPN gateway. +func (o LookupVpnGatewayResultOutput) GatewayId() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpnGatewayResult) string { return v.GatewayId }).(pulumi.StringOutput) +} + +// Terraform's internal resource identifier. Structured as "`projectId`,`region`,`gatewayId`". +func (o LookupVpnGatewayResultOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpnGatewayResult) string { return v.Id }).(pulumi.StringOutput) +} + +// Map of custom labels (key-value string pairs). +func (o LookupVpnGatewayResultOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v LookupVpnGatewayResult) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +// The service plan identifier (e.g. `p500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). +func (o LookupVpnGatewayResultOutput) PlanId() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpnGatewayResult) string { return v.PlanId }).(pulumi.StringOutput) +} + +// STACKIT project ID associated with the VPN gateway. +func (o LookupVpnGatewayResultOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpnGatewayResult) string { return v.ProjectId }).(pulumi.StringOutput) +} + +// STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o LookupVpnGatewayResultOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpnGatewayResult) string { return v.Region }).(pulumi.StringOutput) +} + +// Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. +func (o LookupVpnGatewayResultOutput) RoutingType() pulumi.StringOutput { + return o.ApplyT(func(v LookupVpnGatewayResult) string { return v.RoutingType }).(pulumi.StringOutput) +} + +func init() { + pulumi.RegisterOutputType(LookupVpnGatewayResultOutput{}) +} diff --git a/sdk/go/stackit/init.go b/sdk/go/stackit/init.go index 948f92c..c462ba3 100644 --- a/sdk/go/stackit/init.go +++ b/sdk/go/stackit/init.go @@ -49,6 +49,10 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &DnsRecordSet{} case "stackit:index/dnsZone:DnsZone": r = &DnsZone{} + case "stackit:index/dremioInstance:DremioInstance": + r = &DremioInstance{} + case "stackit:index/dremioUser:DremioUser": + r = &DremioUser{} case "stackit:index/edgecloudInstance:EdgecloudInstance": r = &EdgecloudInstance{} case "stackit:index/edgecloudKubeconfig:EdgecloudKubeconfig": @@ -203,8 +207,18 @@ func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi r = &SqlserverflexInstance{} case "stackit:index/sqlserverflexUser:SqlserverflexUser": r = &SqlserverflexUser{} + case "stackit:index/telemetrylink:Telemetrylink": + r = &Telemetrylink{} + case "stackit:index/telemetryrouterAccessToken:TelemetryrouterAccessToken": + r = &TelemetryrouterAccessToken{} + case "stackit:index/telemetryrouterDestination:TelemetryrouterDestination": + r = &TelemetryrouterDestination{} + case "stackit:index/telemetryrouterInstance:TelemetryrouterInstance": + r = &TelemetryrouterInstance{} case "stackit:index/volume:Volume": r = &Volume{} + case "stackit:index/vpnGateway:VpnGateway": + r = &VpnGateway{} default: return nil, fmt.Errorf("unknown resource type: %s", typ) } @@ -306,6 +320,16 @@ func init() { "index/dnsZone", &module{version}, ) + pulumi.RegisterResourceModule( + "stackit", + "index/dremioInstance", + &module{version}, + ) + pulumi.RegisterResourceModule( + "stackit", + "index/dremioUser", + &module{version}, + ) pulumi.RegisterResourceModule( "stackit", "index/edgecloudInstance", @@ -691,11 +715,36 @@ func init() { "index/sqlserverflexUser", &module{version}, ) + pulumi.RegisterResourceModule( + "stackit", + "index/telemetrylink", + &module{version}, + ) + pulumi.RegisterResourceModule( + "stackit", + "index/telemetryrouterAccessToken", + &module{version}, + ) + pulumi.RegisterResourceModule( + "stackit", + "index/telemetryrouterDestination", + &module{version}, + ) + pulumi.RegisterResourceModule( + "stackit", + "index/telemetryrouterInstance", + &module{version}, + ) pulumi.RegisterResourceModule( "stackit", "index/volume", &module{version}, ) + pulumi.RegisterResourceModule( + "stackit", + "index/vpnGateway", + &module{version}, + ) pulumi.RegisterResourcePackage( "stackit", &pkg{version}, diff --git a/sdk/go/stackit/logsAccessToken.go b/sdk/go/stackit/logsAccessToken.go index abc2579..9bc5ddf 100644 --- a/sdk/go/stackit/logsAccessToken.go +++ b/sdk/go/stackit/logsAccessToken.go @@ -40,6 +40,8 @@ type LogsAccessToken struct { ProjectId pulumi.StringOutput `pulumi:"projectId"` // STACKIT region name the resource is located in. If not defined, the provider region is used. Region pulumi.StringOutput `pulumi:"region"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapOutput `pulumi:"rotateWhenChanged"` // The status of the access token. Possible values are: `active`, `expired`. Status pulumi.StringOutput `pulumi:"status"` // The date and time until an access token is valid to (inclusively) @@ -114,6 +116,8 @@ type logsAccessTokenState struct { ProjectId *string `pulumi:"projectId"` // STACKIT region name the resource is located in. If not defined, the provider region is used. Region *string `pulumi:"region"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` // The status of the access token. Possible values are: `active`, `expired`. Status *string `pulumi:"status"` // The date and time until an access token is valid to (inclusively) @@ -143,6 +147,8 @@ type LogsAccessTokenState struct { ProjectId pulumi.StringPtrInput // STACKIT region name the resource is located in. If not defined, the provider region is used. Region pulumi.StringPtrInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput // The status of the access token. Possible values are: `active`, `expired`. Status pulumi.StringPtrInput // The date and time until an access token is valid to (inclusively) @@ -168,6 +174,8 @@ type logsAccessTokenArgs struct { ProjectId string `pulumi:"projectId"` // STACKIT region name the resource is located in. If not defined, the provider region is used. Region *string `pulumi:"region"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` } // The set of arguments for constructing a LogsAccessToken resource. @@ -186,6 +194,8 @@ type LogsAccessTokenArgs struct { ProjectId pulumi.StringInput // STACKIT region name the resource is located in. If not defined, the provider region is used. Region pulumi.StringPtrInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput } func (LogsAccessTokenArgs) ElementType() reflect.Type { @@ -330,6 +340,11 @@ func (o LogsAccessTokenOutput) Region() pulumi.StringOutput { return o.ApplyT(func(v *LogsAccessToken) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) } +// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. +func (o LogsAccessTokenOutput) RotateWhenChanged() pulumi.StringMapOutput { + return o.ApplyT(func(v *LogsAccessToken) pulumi.StringMapOutput { return v.RotateWhenChanged }).(pulumi.StringMapOutput) +} + // The status of the access token. Possible values are: `active`, `expired`. func (o LogsAccessTokenOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v *LogsAccessToken) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/logsInstance.go b/sdk/go/stackit/logsInstance.go index 75018f3..4081558 100644 --- a/sdk/go/stackit/logsInstance.go +++ b/sdk/go/stackit/logsInstance.go @@ -44,7 +44,7 @@ type LogsInstance struct { Region pulumi.StringOutput `pulumi:"region"` // The log retention time in days RetentionDays pulumi.IntOutput `pulumi:"retentionDays"` - // The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + // The status of the Logs instance. Possible values are: `active`, `deleting`, `reconciling`. Status pulumi.StringOutput `pulumi:"status"` } @@ -113,7 +113,7 @@ type logsInstanceState struct { Region *string `pulumi:"region"` // The log retention time in days RetentionDays *int `pulumi:"retentionDays"` - // The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + // The status of the Logs instance. Possible values are: `active`, `deleting`, `reconciling`. Status *string `pulumi:"status"` } @@ -144,7 +144,7 @@ type LogsInstanceState struct { Region pulumi.StringPtrInput // The log retention time in days RetentionDays pulumi.IntPtrInput - // The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + // The status of the Logs instance. Possible values are: `active`, `deleting`, `reconciling`. Status pulumi.StringPtrInput } @@ -335,7 +335,7 @@ func (o LogsInstanceOutput) RetentionDays() pulumi.IntOutput { return o.ApplyT(func(v *LogsInstance) pulumi.IntOutput { return v.RetentionDays }).(pulumi.IntOutput) } -// The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. +// The status of the Logs instance. Possible values are: `active`, `deleting`, `reconciling`. func (o LogsInstanceOutput) Status() pulumi.StringOutput { return o.ApplyT(func(v *LogsInstance) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/mariadbCredential.go b/sdk/go/stackit/mariadbCredential.go index dd39a24..37e92d1 100644 --- a/sdk/go/stackit/mariadbCredential.go +++ b/sdk/go/stackit/mariadbCredential.go @@ -29,8 +29,10 @@ type MariadbCredential struct { Port pulumi.IntOutput `pulumi:"port"` // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` - Uri pulumi.StringOutput `pulumi:"uri"` - Username pulumi.StringOutput `pulumi:"username"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapOutput `pulumi:"rotateWhenChanged"` + Uri pulumi.StringOutput `pulumi:"uri"` + Username pulumi.StringOutput `pulumi:"username"` } // NewMariadbCredential registers a new resource with the given unique name, arguments, and options. @@ -85,8 +87,10 @@ type mariadbCredentialState struct { Port *int `pulumi:"port"` // STACKIT Project ID to which the instance is associated. ProjectId *string `pulumi:"projectId"` - Uri *string `pulumi:"uri"` - Username *string `pulumi:"username"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` + Uri *string `pulumi:"uri"` + Username *string `pulumi:"username"` } type MariadbCredentialState struct { @@ -101,8 +105,10 @@ type MariadbCredentialState struct { Port pulumi.IntPtrInput // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringPtrInput - Uri pulumi.StringPtrInput - Username pulumi.StringPtrInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput + Uri pulumi.StringPtrInput + Username pulumi.StringPtrInput } func (MariadbCredentialState) ElementType() reflect.Type { @@ -114,6 +120,8 @@ type mariadbCredentialArgs struct { InstanceId string `pulumi:"instanceId"` // STACKIT Project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` } // The set of arguments for constructing a MariadbCredential resource. @@ -122,6 +130,8 @@ type MariadbCredentialArgs struct { InstanceId pulumi.StringInput // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput } func (MariadbCredentialArgs) ElementType() reflect.Type { @@ -246,6 +256,11 @@ func (o MariadbCredentialOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *MariadbCredential) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } +// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. +func (o MariadbCredentialOutput) RotateWhenChanged() pulumi.StringMapOutput { + return o.ApplyT(func(v *MariadbCredential) pulumi.StringMapOutput { return v.RotateWhenChanged }).(pulumi.StringMapOutput) +} + func (o MariadbCredentialOutput) Uri() pulumi.StringOutput { return o.ApplyT(func(v *MariadbCredential) pulumi.StringOutput { return v.Uri }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/mongodbflexUser.go b/sdk/go/stackit/mongodbflexUser.go index 3354dff..f1406bd 100644 --- a/sdk/go/stackit/mongodbflexUser.go +++ b/sdk/go/stackit/mongodbflexUser.go @@ -30,7 +30,9 @@ type MongodbflexUser struct { Region pulumi.StringOutput `pulumi:"region"` // Database access levels for the user. Some of the possible values are: [`read`, `readWrite`, `readWriteAnyDatabase`] Roles pulumi.StringArrayOutput `pulumi:"roles"` - Uri pulumi.StringOutput `pulumi:"uri"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapOutput `pulumi:"rotateWhenChanged"` + Uri pulumi.StringOutput `pulumi:"uri"` // User ID. UserId pulumi.StringOutput `pulumi:"userId"` Username pulumi.StringOutput `pulumi:"username"` @@ -95,7 +97,9 @@ type mongodbflexUserState struct { Region *string `pulumi:"region"` // Database access levels for the user. Some of the possible values are: [`read`, `readWrite`, `readWriteAnyDatabase`] Roles []string `pulumi:"roles"` - Uri *string `pulumi:"uri"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` + Uri *string `pulumi:"uri"` // User ID. UserId *string `pulumi:"userId"` Username *string `pulumi:"username"` @@ -114,7 +118,9 @@ type MongodbflexUserState struct { Region pulumi.StringPtrInput // Database access levels for the user. Some of the possible values are: [`read`, `readWrite`, `readWriteAnyDatabase`] Roles pulumi.StringArrayInput - Uri pulumi.StringPtrInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput + Uri pulumi.StringPtrInput // User ID. UserId pulumi.StringPtrInput Username pulumi.StringPtrInput @@ -133,8 +139,10 @@ type mongodbflexUserArgs struct { // The resource region. If not defined, the provider region is used. Region *string `pulumi:"region"` // Database access levels for the user. Some of the possible values are: [`read`, `readWrite`, `readWriteAnyDatabase`] - Roles []string `pulumi:"roles"` - Username *string `pulumi:"username"` + Roles []string `pulumi:"roles"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` + Username *string `pulumi:"username"` } // The set of arguments for constructing a MongodbflexUser resource. @@ -147,8 +155,10 @@ type MongodbflexUserArgs struct { // The resource region. If not defined, the provider region is used. Region pulumi.StringPtrInput // Database access levels for the user. Some of the possible values are: [`read`, `readWrite`, `readWriteAnyDatabase`] - Roles pulumi.StringArrayInput - Username pulumi.StringPtrInput + Roles pulumi.StringArrayInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput + Username pulumi.StringPtrInput } func (MongodbflexUserArgs) ElementType() reflect.Type { @@ -274,6 +284,11 @@ func (o MongodbflexUserOutput) Roles() pulumi.StringArrayOutput { return o.ApplyT(func(v *MongodbflexUser) pulumi.StringArrayOutput { return v.Roles }).(pulumi.StringArrayOutput) } +// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. +func (o MongodbflexUserOutput) RotateWhenChanged() pulumi.StringMapOutput { + return o.ApplyT(func(v *MongodbflexUser) pulumi.StringMapOutput { return v.RotateWhenChanged }).(pulumi.StringMapOutput) +} + func (o MongodbflexUserOutput) Uri() pulumi.StringOutput { return o.ApplyT(func(v *MongodbflexUser) pulumi.StringOutput { return v.Uri }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/objectstorageCredential.go b/sdk/go/stackit/objectstorageCredential.go index 3c05fe7..48da772 100644 --- a/sdk/go/stackit/objectstorageCredential.go +++ b/sdk/go/stackit/objectstorageCredential.go @@ -29,8 +29,10 @@ type ObjectstorageCredential struct { // STACKIT Project ID to which the credential group is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` // The resource region. If not defined, the provider region is used. - Region pulumi.StringOutput `pulumi:"region"` - SecretAccessKey pulumi.StringOutput `pulumi:"secretAccessKey"` + Region pulumi.StringOutput `pulumi:"region"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapOutput `pulumi:"rotateWhenChanged"` + SecretAccessKey pulumi.StringOutput `pulumi:"secretAccessKey"` } // NewObjectstorageCredential registers a new resource with the given unique name, arguments, and options. @@ -84,8 +86,10 @@ type objectstorageCredentialState struct { // STACKIT Project ID to which the credential group is associated. ProjectId *string `pulumi:"projectId"` // The resource region. If not defined, the provider region is used. - Region *string `pulumi:"region"` - SecretAccessKey *string `pulumi:"secretAccessKey"` + Region *string `pulumi:"region"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` + SecretAccessKey *string `pulumi:"secretAccessKey"` } type ObjectstorageCredentialState struct { @@ -100,8 +104,10 @@ type ObjectstorageCredentialState struct { // STACKIT Project ID to which the credential group is associated. ProjectId pulumi.StringPtrInput // The resource region. If not defined, the provider region is used. - Region pulumi.StringPtrInput - SecretAccessKey pulumi.StringPtrInput + Region pulumi.StringPtrInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput + SecretAccessKey pulumi.StringPtrInput } func (ObjectstorageCredentialState) ElementType() reflect.Type { @@ -117,6 +123,8 @@ type objectstorageCredentialArgs struct { ProjectId string `pulumi:"projectId"` // The resource region. If not defined, the provider region is used. Region *string `pulumi:"region"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` } // The set of arguments for constructing a ObjectstorageCredential resource. @@ -129,6 +137,8 @@ type ObjectstorageCredentialArgs struct { ProjectId pulumi.StringInput // The resource region. If not defined, the provider region is used. Region pulumi.StringPtrInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput } func (ObjectstorageCredentialArgs) ElementType() reflect.Type { @@ -251,6 +261,11 @@ func (o ObjectstorageCredentialOutput) Region() pulumi.StringOutput { return o.ApplyT(func(v *ObjectstorageCredential) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) } +// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. +func (o ObjectstorageCredentialOutput) RotateWhenChanged() pulumi.StringMapOutput { + return o.ApplyT(func(v *ObjectstorageCredential) pulumi.StringMapOutput { return v.RotateWhenChanged }).(pulumi.StringMapOutput) +} + func (o ObjectstorageCredentialOutput) SecretAccessKey() pulumi.StringOutput { return o.ApplyT(func(v *ObjectstorageCredential) pulumi.StringOutput { return v.SecretAccessKey }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/observabilityCredential.go b/sdk/go/stackit/observabilityCredential.go index 8d9ddbe..0e5a622 100644 --- a/sdk/go/stackit/observabilityCredential.go +++ b/sdk/go/stackit/observabilityCredential.go @@ -26,6 +26,8 @@ type ObservabilityCredential struct { Password pulumi.StringOutput `pulumi:"password"` // STACKIT project ID to which the credential is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapOutput `pulumi:"rotateWhenChanged"` // Credential username Username pulumi.StringOutput `pulumi:"username"` } @@ -78,6 +80,8 @@ type observabilityCredentialState struct { Password *string `pulumi:"password"` // STACKIT project ID to which the credential is associated. ProjectId *string `pulumi:"projectId"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` // Credential username Username *string `pulumi:"username"` } @@ -91,6 +95,8 @@ type ObservabilityCredentialState struct { Password pulumi.StringPtrInput // STACKIT project ID to which the credential is associated. ProjectId pulumi.StringPtrInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput // Credential username Username pulumi.StringPtrInput } @@ -106,6 +112,8 @@ type observabilityCredentialArgs struct { InstanceId string `pulumi:"instanceId"` // STACKIT project ID to which the credential is associated. ProjectId string `pulumi:"projectId"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` } // The set of arguments for constructing a ObservabilityCredential resource. @@ -116,6 +124,8 @@ type ObservabilityCredentialArgs struct { InstanceId pulumi.StringInput // STACKIT project ID to which the credential is associated. ProjectId pulumi.StringInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput } func (ObservabilityCredentialArgs) ElementType() reflect.Type { @@ -225,6 +235,11 @@ func (o ObservabilityCredentialOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *ObservabilityCredential) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } +// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. +func (o ObservabilityCredentialOutput) RotateWhenChanged() pulumi.StringMapOutput { + return o.ApplyT(func(v *ObservabilityCredential) pulumi.StringMapOutput { return v.RotateWhenChanged }).(pulumi.StringMapOutput) +} + // Credential username func (o ObservabilityCredentialOutput) Username() pulumi.StringOutput { return o.ApplyT(func(v *ObservabilityCredential) pulumi.StringOutput { return v.Username }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/opensearchCredential.go b/sdk/go/stackit/opensearchCredential.go index e1036eb..59c8c58 100644 --- a/sdk/go/stackit/opensearchCredential.go +++ b/sdk/go/stackit/opensearchCredential.go @@ -28,9 +28,11 @@ type OpensearchCredential struct { Port pulumi.IntOutput `pulumi:"port"` // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` - Scheme pulumi.StringOutput `pulumi:"scheme"` - Uri pulumi.StringOutput `pulumi:"uri"` - Username pulumi.StringOutput `pulumi:"username"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapOutput `pulumi:"rotateWhenChanged"` + Scheme pulumi.StringOutput `pulumi:"scheme"` + Uri pulumi.StringOutput `pulumi:"uri"` + Username pulumi.StringOutput `pulumi:"username"` } // NewOpensearchCredential registers a new resource with the given unique name, arguments, and options. @@ -84,9 +86,11 @@ type opensearchCredentialState struct { Port *int `pulumi:"port"` // STACKIT Project ID to which the instance is associated. ProjectId *string `pulumi:"projectId"` - Scheme *string `pulumi:"scheme"` - Uri *string `pulumi:"uri"` - Username *string `pulumi:"username"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` + Scheme *string `pulumi:"scheme"` + Uri *string `pulumi:"uri"` + Username *string `pulumi:"username"` } type OpensearchCredentialState struct { @@ -100,9 +104,11 @@ type OpensearchCredentialState struct { Port pulumi.IntPtrInput // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringPtrInput - Scheme pulumi.StringPtrInput - Uri pulumi.StringPtrInput - Username pulumi.StringPtrInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput + Scheme pulumi.StringPtrInput + Uri pulumi.StringPtrInput + Username pulumi.StringPtrInput } func (OpensearchCredentialState) ElementType() reflect.Type { @@ -114,6 +120,8 @@ type opensearchCredentialArgs struct { InstanceId string `pulumi:"instanceId"` // STACKIT Project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` } // The set of arguments for constructing a OpensearchCredential resource. @@ -122,6 +130,8 @@ type OpensearchCredentialArgs struct { InstanceId pulumi.StringInput // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput } func (OpensearchCredentialArgs) ElementType() reflect.Type { @@ -242,6 +252,11 @@ func (o OpensearchCredentialOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *OpensearchCredential) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } +// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. +func (o OpensearchCredentialOutput) RotateWhenChanged() pulumi.StringMapOutput { + return o.ApplyT(func(v *OpensearchCredential) pulumi.StringMapOutput { return v.RotateWhenChanged }).(pulumi.StringMapOutput) +} + func (o OpensearchCredentialOutput) Scheme() pulumi.StringOutput { return o.ApplyT(func(v *OpensearchCredential) pulumi.StringOutput { return v.Scheme }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/postgresflexUser.go b/sdk/go/stackit/postgresflexUser.go index 4f1315d..86c75b2 100644 --- a/sdk/go/stackit/postgresflexUser.go +++ b/sdk/go/stackit/postgresflexUser.go @@ -29,7 +29,9 @@ type PostgresflexUser struct { Region pulumi.StringOutput `pulumi:"region"` // Database access levels for the user. Roles pulumi.StringArrayOutput `pulumi:"roles"` - Uri pulumi.StringOutput `pulumi:"uri"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapOutput `pulumi:"rotateWhenChanged"` + Uri pulumi.StringOutput `pulumi:"uri"` // User ID. UserId pulumi.StringOutput `pulumi:"userId"` Username pulumi.StringOutput `pulumi:"username"` @@ -93,7 +95,9 @@ type postgresflexUserState struct { Region *string `pulumi:"region"` // Database access levels for the user. Roles []string `pulumi:"roles"` - Uri *string `pulumi:"uri"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` + Uri *string `pulumi:"uri"` // User ID. UserId *string `pulumi:"userId"` Username *string `pulumi:"username"` @@ -111,7 +115,9 @@ type PostgresflexUserState struct { Region pulumi.StringPtrInput // Database access levels for the user. Roles pulumi.StringArrayInput - Uri pulumi.StringPtrInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput + Uri pulumi.StringPtrInput // User ID. UserId pulumi.StringPtrInput Username pulumi.StringPtrInput @@ -129,8 +135,10 @@ type postgresflexUserArgs struct { // The resource region. If not defined, the provider region is used. Region *string `pulumi:"region"` // Database access levels for the user. - Roles []string `pulumi:"roles"` - Username string `pulumi:"username"` + Roles []string `pulumi:"roles"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` + Username string `pulumi:"username"` } // The set of arguments for constructing a PostgresflexUser resource. @@ -142,8 +150,10 @@ type PostgresflexUserArgs struct { // The resource region. If not defined, the provider region is used. Region pulumi.StringPtrInput // Database access levels for the user. - Roles pulumi.StringArrayInput - Username pulumi.StringInput + Roles pulumi.StringArrayInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput + Username pulumi.StringInput } func (PostgresflexUserArgs) ElementType() reflect.Type { @@ -265,6 +275,11 @@ func (o PostgresflexUserOutput) Roles() pulumi.StringArrayOutput { return o.ApplyT(func(v *PostgresflexUser) pulumi.StringArrayOutput { return v.Roles }).(pulumi.StringArrayOutput) } +// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. +func (o PostgresflexUserOutput) RotateWhenChanged() pulumi.StringMapOutput { + return o.ApplyT(func(v *PostgresflexUser) pulumi.StringMapOutput { return v.RotateWhenChanged }).(pulumi.StringMapOutput) +} + func (o PostgresflexUserOutput) Uri() pulumi.StringOutput { return o.ApplyT(func(v *PostgresflexUser) pulumi.StringOutput { return v.Uri }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/provider.go b/sdk/go/stackit/provider.go index aec0662..1f6e085 100644 --- a/sdk/go/stackit/provider.go +++ b/sdk/go/stackit/provider.go @@ -32,6 +32,8 @@ type Provider struct { DefaultRegion pulumi.StringPtrOutput `pulumi:"defaultRegion"` // Custom endpoint for the DNS service DnsCustomEndpoint pulumi.StringPtrOutput `pulumi:"dnsCustomEndpoint"` + // Custom endpoint for the Dremio service + DremioCustomEndpoint pulumi.StringPtrOutput `pulumi:"dremioCustomEndpoint"` // Custom endpoint for the Edge Cloud service EdgecloudCustomEndpoint pulumi.StringPtrOutput `pulumi:"edgecloudCustomEndpoint"` // Custom endpoint for the Git service @@ -112,8 +114,14 @@ type Provider struct { SkeCustomEndpoint pulumi.StringPtrOutput `pulumi:"skeCustomEndpoint"` // Custom endpoint for the SQL Server Flex service SqlserverflexCustomEndpoint pulumi.StringPtrOutput `pulumi:"sqlserverflexCustomEndpoint"` + // Custom endpoint for the Telemetry Link service + TelemetrylinkCustomEndpoint pulumi.StringPtrOutput `pulumi:"telemetrylinkCustomEndpoint"` + // Custom endpoint for the Telemetry Router service + TelemetryrouterCustomEndpoint pulumi.StringPtrOutput `pulumi:"telemetryrouterCustomEndpoint"` // Custom endpoint for the token API, which is used to request access tokens when using the key flow TokenCustomEndpoint pulumi.StringPtrOutput `pulumi:"tokenCustomEndpoint"` + // Custom endpoint for the VPN service + VpnCustomEndpoint pulumi.StringPtrOutput `pulumi:"vpnCustomEndpoint"` } // NewProvider registers a new resource with the given unique name, arguments, and options. @@ -147,11 +155,13 @@ type providerArgs struct { DefaultRegion *string `pulumi:"defaultRegion"` // Custom endpoint for the DNS service DnsCustomEndpoint *string `pulumi:"dnsCustomEndpoint"` + // Custom endpoint for the Dremio service + DremioCustomEndpoint *string `pulumi:"dremioCustomEndpoint"` // Custom endpoint for the Edge Cloud service EdgecloudCustomEndpoint *string `pulumi:"edgecloudCustomEndpoint"` // Enable beta resources. Default is false. EnableBetaResources *bool `pulumi:"enableBetaResources"` - // Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network + // Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: dremio, iam, routing-tables, network Experiments []string `pulumi:"experiments"` // Custom endpoint for the Git service GitCustomEndpoint *string `pulumi:"gitCustomEndpoint"` @@ -231,10 +241,16 @@ type providerArgs struct { SkeCustomEndpoint *string `pulumi:"skeCustomEndpoint"` // Custom endpoint for the SQL Server Flex service SqlserverflexCustomEndpoint *string `pulumi:"sqlserverflexCustomEndpoint"` + // Custom endpoint for the Telemetry Link service + TelemetrylinkCustomEndpoint *string `pulumi:"telemetrylinkCustomEndpoint"` + // Custom endpoint for the Telemetry Router service + TelemetryrouterCustomEndpoint *string `pulumi:"telemetryrouterCustomEndpoint"` // Custom endpoint for the token API, which is used to request access tokens when using the key flow TokenCustomEndpoint *string `pulumi:"tokenCustomEndpoint"` // Enables OIDC for Authentication. This can also be sourced from the `STACKIT_USE_OIDC` Environment Variable. Defaults to `false`. UseOidc *bool `pulumi:"useOidc"` + // Custom endpoint for the VPN service + VpnCustomEndpoint *string `pulumi:"vpnCustomEndpoint"` } // The set of arguments for constructing a Provider resource. @@ -253,11 +269,13 @@ type ProviderArgs struct { DefaultRegion pulumi.StringPtrInput // Custom endpoint for the DNS service DnsCustomEndpoint pulumi.StringPtrInput + // Custom endpoint for the Dremio service + DremioCustomEndpoint pulumi.StringPtrInput // Custom endpoint for the Edge Cloud service EdgecloudCustomEndpoint pulumi.StringPtrInput // Enable beta resources. Default is false. EnableBetaResources pulumi.BoolPtrInput - // Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network + // Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: dremio, iam, routing-tables, network Experiments pulumi.StringArrayInput // Custom endpoint for the Git service GitCustomEndpoint pulumi.StringPtrInput @@ -337,10 +355,16 @@ type ProviderArgs struct { SkeCustomEndpoint pulumi.StringPtrInput // Custom endpoint for the SQL Server Flex service SqlserverflexCustomEndpoint pulumi.StringPtrInput + // Custom endpoint for the Telemetry Link service + TelemetrylinkCustomEndpoint pulumi.StringPtrInput + // Custom endpoint for the Telemetry Router service + TelemetryrouterCustomEndpoint pulumi.StringPtrInput // Custom endpoint for the token API, which is used to request access tokens when using the key flow TokenCustomEndpoint pulumi.StringPtrInput // Enables OIDC for Authentication. This can also be sourced from the `STACKIT_USE_OIDC` Environment Variable. Defaults to `false`. UseOidc pulumi.BoolPtrInput + // Custom endpoint for the VPN service + VpnCustomEndpoint pulumi.StringPtrInput } func (ProviderArgs) ElementType() reflect.Type { @@ -438,6 +462,11 @@ func (o ProviderOutput) DnsCustomEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.DnsCustomEndpoint }).(pulumi.StringPtrOutput) } +// Custom endpoint for the Dremio service +func (o ProviderOutput) DremioCustomEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.DremioCustomEndpoint }).(pulumi.StringPtrOutput) +} + // Custom endpoint for the Edge Cloud service func (o ProviderOutput) EdgecloudCustomEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.EdgecloudCustomEndpoint }).(pulumi.StringPtrOutput) @@ -632,11 +661,26 @@ func (o ProviderOutput) SqlserverflexCustomEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.SqlserverflexCustomEndpoint }).(pulumi.StringPtrOutput) } +// Custom endpoint for the Telemetry Link service +func (o ProviderOutput) TelemetrylinkCustomEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.TelemetrylinkCustomEndpoint }).(pulumi.StringPtrOutput) +} + +// Custom endpoint for the Telemetry Router service +func (o ProviderOutput) TelemetryrouterCustomEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.TelemetryrouterCustomEndpoint }).(pulumi.StringPtrOutput) +} + // Custom endpoint for the token API, which is used to request access tokens when using the key flow func (o ProviderOutput) TokenCustomEndpoint() pulumi.StringPtrOutput { return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.TokenCustomEndpoint }).(pulumi.StringPtrOutput) } +// Custom endpoint for the VPN service +func (o ProviderOutput) VpnCustomEndpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Provider) pulumi.StringPtrOutput { return v.VpnCustomEndpoint }).(pulumi.StringPtrOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*ProviderInput)(nil)).Elem(), &Provider{}) pulumi.RegisterOutputType(ProviderOutput{}) diff --git a/sdk/go/stackit/pulumiTypes.go b/sdk/go/stackit/pulumiTypes.go index cccf46f..6d6fbd9 100644 --- a/sdk/go/stackit/pulumiTypes.go +++ b/sdk/go/stackit/pulumiTypes.go @@ -5652,12374 +5652,15250 @@ func (o DnsZoneTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } -type ImageChecksum 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 DremioInstanceAuthentication struct { + // Azure Active Directory authentication configuration. + Azuread *DremioInstanceAuthenticationAzuread `pulumi:"azuread"` + // OIDC authentication configuration. + Oauth *DremioInstanceAuthenticationOauth `pulumi:"oauth"` + // Type of authentication (local-only, azuread, oauth). + Type string `pulumi:"type"` } -// ImageChecksumInput is an input type that accepts ImageChecksumArgs and ImageChecksumOutput values. -// You can construct a concrete instance of `ImageChecksumInput` via: +// DremioInstanceAuthenticationInput is an input type that accepts DremioInstanceAuthenticationArgs and DremioInstanceAuthenticationOutput values. +// You can construct a concrete instance of `DremioInstanceAuthenticationInput` via: // -// ImageChecksumArgs{...} -type ImageChecksumInput interface { +// DremioInstanceAuthenticationArgs{...} +type DremioInstanceAuthenticationInput interface { pulumi.Input - ToImageChecksumOutput() ImageChecksumOutput - ToImageChecksumOutputWithContext(context.Context) ImageChecksumOutput + ToDremioInstanceAuthenticationOutput() DremioInstanceAuthenticationOutput + ToDremioInstanceAuthenticationOutputWithContext(context.Context) DremioInstanceAuthenticationOutput } -type ImageChecksumArgs struct { - // Algorithm for the checksum of the image data. - Algorithm pulumi.StringPtrInput `pulumi:"algorithm"` - // Hexdigest of the checksum of the image data. - Digest pulumi.StringPtrInput `pulumi:"digest"` +type DremioInstanceAuthenticationArgs struct { + // Azure Active Directory authentication configuration. + Azuread DremioInstanceAuthenticationAzureadPtrInput `pulumi:"azuread"` + // OIDC authentication configuration. + Oauth DremioInstanceAuthenticationOauthPtrInput `pulumi:"oauth"` + // Type of authentication (local-only, azuread, oauth). + Type pulumi.StringInput `pulumi:"type"` } -func (ImageChecksumArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ImageChecksum)(nil)).Elem() +func (DremioInstanceAuthenticationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DremioInstanceAuthentication)(nil)).Elem() } -func (i ImageChecksumArgs) ToImageChecksumOutput() ImageChecksumOutput { - return i.ToImageChecksumOutputWithContext(context.Background()) +func (i DremioInstanceAuthenticationArgs) ToDremioInstanceAuthenticationOutput() DremioInstanceAuthenticationOutput { + return i.ToDremioInstanceAuthenticationOutputWithContext(context.Background()) } -func (i ImageChecksumArgs) ToImageChecksumOutputWithContext(ctx context.Context) ImageChecksumOutput { - return pulumi.ToOutputWithContext(ctx, i).(ImageChecksumOutput) +func (i DremioInstanceAuthenticationArgs) ToDremioInstanceAuthenticationOutputWithContext(ctx context.Context) DremioInstanceAuthenticationOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceAuthenticationOutput) } -func (i ImageChecksumArgs) ToImageChecksumPtrOutput() ImageChecksumPtrOutput { - return i.ToImageChecksumPtrOutputWithContext(context.Background()) +func (i DremioInstanceAuthenticationArgs) ToDremioInstanceAuthenticationPtrOutput() DremioInstanceAuthenticationPtrOutput { + return i.ToDremioInstanceAuthenticationPtrOutputWithContext(context.Background()) } -func (i ImageChecksumArgs) ToImageChecksumPtrOutputWithContext(ctx context.Context) ImageChecksumPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ImageChecksumOutput).ToImageChecksumPtrOutputWithContext(ctx) +func (i DremioInstanceAuthenticationArgs) ToDremioInstanceAuthenticationPtrOutputWithContext(ctx context.Context) DremioInstanceAuthenticationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceAuthenticationOutput).ToDremioInstanceAuthenticationPtrOutputWithContext(ctx) } -// ImageChecksumPtrInput is an input type that accepts ImageChecksumArgs, ImageChecksumPtr and ImageChecksumPtrOutput values. -// You can construct a concrete instance of `ImageChecksumPtrInput` via: +// DremioInstanceAuthenticationPtrInput is an input type that accepts DremioInstanceAuthenticationArgs, DremioInstanceAuthenticationPtr and DremioInstanceAuthenticationPtrOutput values. +// You can construct a concrete instance of `DremioInstanceAuthenticationPtrInput` via: // -// ImageChecksumArgs{...} +// DremioInstanceAuthenticationArgs{...} // // or: // // nil -type ImageChecksumPtrInput interface { +type DremioInstanceAuthenticationPtrInput interface { pulumi.Input - ToImageChecksumPtrOutput() ImageChecksumPtrOutput - ToImageChecksumPtrOutputWithContext(context.Context) ImageChecksumPtrOutput + ToDremioInstanceAuthenticationPtrOutput() DremioInstanceAuthenticationPtrOutput + ToDremioInstanceAuthenticationPtrOutputWithContext(context.Context) DremioInstanceAuthenticationPtrOutput } -type imageChecksumPtrType ImageChecksumArgs +type dremioInstanceAuthenticationPtrType DremioInstanceAuthenticationArgs -func ImageChecksumPtr(v *ImageChecksumArgs) ImageChecksumPtrInput { - return (*imageChecksumPtrType)(v) +func DremioInstanceAuthenticationPtr(v *DremioInstanceAuthenticationArgs) DremioInstanceAuthenticationPtrInput { + return (*dremioInstanceAuthenticationPtrType)(v) } -func (*imageChecksumPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ImageChecksum)(nil)).Elem() +func (*dremioInstanceAuthenticationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DremioInstanceAuthentication)(nil)).Elem() } -func (i *imageChecksumPtrType) ToImageChecksumPtrOutput() ImageChecksumPtrOutput { - return i.ToImageChecksumPtrOutputWithContext(context.Background()) +func (i *dremioInstanceAuthenticationPtrType) ToDremioInstanceAuthenticationPtrOutput() DremioInstanceAuthenticationPtrOutput { + return i.ToDremioInstanceAuthenticationPtrOutputWithContext(context.Background()) } -func (i *imageChecksumPtrType) ToImageChecksumPtrOutputWithContext(ctx context.Context) ImageChecksumPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ImageChecksumPtrOutput) +func (i *dremioInstanceAuthenticationPtrType) ToDremioInstanceAuthenticationPtrOutputWithContext(ctx context.Context) DremioInstanceAuthenticationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceAuthenticationPtrOutput) } -type ImageChecksumOutput struct{ *pulumi.OutputState } +type DremioInstanceAuthenticationOutput struct{ *pulumi.OutputState } -func (ImageChecksumOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ImageChecksum)(nil)).Elem() +func (DremioInstanceAuthenticationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DremioInstanceAuthentication)(nil)).Elem() } -func (o ImageChecksumOutput) ToImageChecksumOutput() ImageChecksumOutput { +func (o DremioInstanceAuthenticationOutput) ToDremioInstanceAuthenticationOutput() DremioInstanceAuthenticationOutput { return o } -func (o ImageChecksumOutput) ToImageChecksumOutputWithContext(ctx context.Context) ImageChecksumOutput { +func (o DremioInstanceAuthenticationOutput) ToDremioInstanceAuthenticationOutputWithContext(ctx context.Context) DremioInstanceAuthenticationOutput { return o } -func (o ImageChecksumOutput) ToImageChecksumPtrOutput() ImageChecksumPtrOutput { - return o.ToImageChecksumPtrOutputWithContext(context.Background()) +func (o DremioInstanceAuthenticationOutput) ToDremioInstanceAuthenticationPtrOutput() DremioInstanceAuthenticationPtrOutput { + return o.ToDremioInstanceAuthenticationPtrOutputWithContext(context.Background()) } -func (o ImageChecksumOutput) ToImageChecksumPtrOutputWithContext(ctx context.Context) ImageChecksumPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ImageChecksum) *ImageChecksum { +func (o DremioInstanceAuthenticationOutput) ToDremioInstanceAuthenticationPtrOutputWithContext(ctx context.Context) DremioInstanceAuthenticationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DremioInstanceAuthentication) *DremioInstanceAuthentication { return &v - }).(ImageChecksumPtrOutput) + }).(DremioInstanceAuthenticationPtrOutput) } -// Algorithm for the checksum of the image data. -func (o ImageChecksumOutput) Algorithm() pulumi.StringPtrOutput { - return o.ApplyT(func(v ImageChecksum) *string { return v.Algorithm }).(pulumi.StringPtrOutput) +// Azure Active Directory authentication configuration. +func (o DremioInstanceAuthenticationOutput) Azuread() DremioInstanceAuthenticationAzureadPtrOutput { + return o.ApplyT(func(v DremioInstanceAuthentication) *DremioInstanceAuthenticationAzuread { return v.Azuread }).(DremioInstanceAuthenticationAzureadPtrOutput) } -// Hexdigest of the checksum of the image data. -func (o ImageChecksumOutput) Digest() pulumi.StringPtrOutput { - return o.ApplyT(func(v ImageChecksum) *string { return v.Digest }).(pulumi.StringPtrOutput) +// OIDC authentication configuration. +func (o DremioInstanceAuthenticationOutput) Oauth() DremioInstanceAuthenticationOauthPtrOutput { + return o.ApplyT(func(v DremioInstanceAuthentication) *DremioInstanceAuthenticationOauth { return v.Oauth }).(DremioInstanceAuthenticationOauthPtrOutput) } -type ImageChecksumPtrOutput struct{ *pulumi.OutputState } +// Type of authentication (local-only, azuread, oauth). +func (o DremioInstanceAuthenticationOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v DremioInstanceAuthentication) string { return v.Type }).(pulumi.StringOutput) +} -func (ImageChecksumPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ImageChecksum)(nil)).Elem() +type DremioInstanceAuthenticationPtrOutput struct{ *pulumi.OutputState } + +func (DremioInstanceAuthenticationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DremioInstanceAuthentication)(nil)).Elem() } -func (o ImageChecksumPtrOutput) ToImageChecksumPtrOutput() ImageChecksumPtrOutput { +func (o DremioInstanceAuthenticationPtrOutput) ToDremioInstanceAuthenticationPtrOutput() DremioInstanceAuthenticationPtrOutput { return o } -func (o ImageChecksumPtrOutput) ToImageChecksumPtrOutputWithContext(ctx context.Context) ImageChecksumPtrOutput { +func (o DremioInstanceAuthenticationPtrOutput) ToDremioInstanceAuthenticationPtrOutputWithContext(ctx context.Context) DremioInstanceAuthenticationPtrOutput { return o } -func (o ImageChecksumPtrOutput) Elem() ImageChecksumOutput { - return o.ApplyT(func(v *ImageChecksum) ImageChecksum { +func (o DremioInstanceAuthenticationPtrOutput) Elem() DremioInstanceAuthenticationOutput { + return o.ApplyT(func(v *DremioInstanceAuthentication) DremioInstanceAuthentication { if v != nil { return *v } - var ret ImageChecksum + var ret DremioInstanceAuthentication return ret - }).(ImageChecksumOutput) + }).(DremioInstanceAuthenticationOutput) } -// Algorithm for the checksum of the image data. -func (o ImageChecksumPtrOutput) Algorithm() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ImageChecksum) *string { +// Azure Active Directory authentication configuration. +func (o DremioInstanceAuthenticationPtrOutput) Azuread() DremioInstanceAuthenticationAzureadPtrOutput { + return o.ApplyT(func(v *DremioInstanceAuthentication) *DremioInstanceAuthenticationAzuread { if v == nil { return nil } - return v.Algorithm - }).(pulumi.StringPtrOutput) + return v.Azuread + }).(DremioInstanceAuthenticationAzureadPtrOutput) } -// Hexdigest of the checksum of the image data. -func (o ImageChecksumPtrOutput) Digest() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ImageChecksum) *string { +// OIDC authentication configuration. +func (o DremioInstanceAuthenticationPtrOutput) Oauth() DremioInstanceAuthenticationOauthPtrOutput { + return o.ApplyT(func(v *DremioInstanceAuthentication) *DremioInstanceAuthenticationOauth { if v == nil { return nil } - return v.Digest + return v.Oauth + }).(DremioInstanceAuthenticationOauthPtrOutput) +} + +// Type of authentication (local-only, azuread, oauth). +func (o DremioInstanceAuthenticationPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioInstanceAuthentication) *string { + if v == nil { + return nil + } + return &v.Type }).(pulumi.StringPtrOutput) } -type ImageConfig 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 DremioInstanceAuthenticationAzuread 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"` } -// ImageConfigInput is an input type that accepts ImageConfigArgs and ImageConfigOutput values. -// You can construct a concrete instance of `ImageConfigInput` via: +// DremioInstanceAuthenticationAzureadInput is an input type that accepts DremioInstanceAuthenticationAzureadArgs and DremioInstanceAuthenticationAzureadOutput values. +// You can construct a concrete instance of `DremioInstanceAuthenticationAzureadInput` via: // -// ImageConfigArgs{...} -type ImageConfigInput interface { +// DremioInstanceAuthenticationAzureadArgs{...} +type DremioInstanceAuthenticationAzureadInput interface { pulumi.Input - ToImageConfigOutput() ImageConfigOutput - ToImageConfigOutputWithContext(context.Context) ImageConfigOutput + ToDremioInstanceAuthenticationAzureadOutput() DremioInstanceAuthenticationAzureadOutput + ToDremioInstanceAuthenticationAzureadOutputWithContext(context.Context) DremioInstanceAuthenticationAzureadOutput } -type ImageConfigArgs struct { - // Enables the BIOS bootmenu. - BootMenu pulumi.BoolPtrInput `pulumi:"bootMenu"` - // Sets CDROM bus controller type. - CdromBus pulumi.StringPtrInput `pulumi:"cdromBus"` - // Sets Disk bus controller type. - DiskBus pulumi.StringPtrInput `pulumi:"diskBus"` - // Sets virtual network interface model. - NicModel pulumi.StringPtrInput `pulumi:"nicModel"` - // Enables operating system specific optimizations. - OperatingSystem pulumi.StringPtrInput `pulumi:"operatingSystem"` - // Operating system distribution. - OperatingSystemDistro pulumi.StringPtrInput `pulumi:"operatingSystemDistro"` - // Version of the operating system. - OperatingSystemVersion pulumi.StringPtrInput `pulumi:"operatingSystemVersion"` - // Sets the device bus when the image is used as a rescue image. - RescueBus pulumi.StringPtrInput `pulumi:"rescueBus"` - // Sets the device when the image is used as a rescue image. - RescueDevice pulumi.StringPtrInput `pulumi:"rescueDevice"` - // Enables Secure Boot. - SecureBoot pulumi.BoolPtrInput `pulumi:"secureBoot"` - // Enables UEFI boot. - Uefi pulumi.BoolPtrInput `pulumi:"uefi"` - // Sets Graphic device model. - VideoModel pulumi.StringPtrInput `pulumi:"videoModel"` - // Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. - VirtioScsi pulumi.BoolPtrInput `pulumi:"virtioScsi"` +type DremioInstanceAuthenticationAzureadArgs 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.StringPtrInput `pulumi:"redirectUrl"` } -func (ImageConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ImageConfig)(nil)).Elem() +func (DremioInstanceAuthenticationAzureadArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DremioInstanceAuthenticationAzuread)(nil)).Elem() } -func (i ImageConfigArgs) ToImageConfigOutput() ImageConfigOutput { - return i.ToImageConfigOutputWithContext(context.Background()) +func (i DremioInstanceAuthenticationAzureadArgs) ToDremioInstanceAuthenticationAzureadOutput() DremioInstanceAuthenticationAzureadOutput { + return i.ToDremioInstanceAuthenticationAzureadOutputWithContext(context.Background()) } -func (i ImageConfigArgs) ToImageConfigOutputWithContext(ctx context.Context) ImageConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(ImageConfigOutput) +func (i DremioInstanceAuthenticationAzureadArgs) ToDremioInstanceAuthenticationAzureadOutputWithContext(ctx context.Context) DremioInstanceAuthenticationAzureadOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceAuthenticationAzureadOutput) } -func (i ImageConfigArgs) ToImageConfigPtrOutput() ImageConfigPtrOutput { - return i.ToImageConfigPtrOutputWithContext(context.Background()) +func (i DremioInstanceAuthenticationAzureadArgs) ToDremioInstanceAuthenticationAzureadPtrOutput() DremioInstanceAuthenticationAzureadPtrOutput { + return i.ToDremioInstanceAuthenticationAzureadPtrOutputWithContext(context.Background()) } -func (i ImageConfigArgs) ToImageConfigPtrOutputWithContext(ctx context.Context) ImageConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ImageConfigOutput).ToImageConfigPtrOutputWithContext(ctx) +func (i DremioInstanceAuthenticationAzureadArgs) ToDremioInstanceAuthenticationAzureadPtrOutputWithContext(ctx context.Context) DremioInstanceAuthenticationAzureadPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceAuthenticationAzureadOutput).ToDremioInstanceAuthenticationAzureadPtrOutputWithContext(ctx) } -// ImageConfigPtrInput is an input type that accepts ImageConfigArgs, ImageConfigPtr and ImageConfigPtrOutput values. -// You can construct a concrete instance of `ImageConfigPtrInput` via: +// DremioInstanceAuthenticationAzureadPtrInput is an input type that accepts DremioInstanceAuthenticationAzureadArgs, DremioInstanceAuthenticationAzureadPtr and DremioInstanceAuthenticationAzureadPtrOutput values. +// You can construct a concrete instance of `DremioInstanceAuthenticationAzureadPtrInput` via: // -// ImageConfigArgs{...} +// DremioInstanceAuthenticationAzureadArgs{...} // // or: // // nil -type ImageConfigPtrInput interface { +type DremioInstanceAuthenticationAzureadPtrInput interface { pulumi.Input - ToImageConfigPtrOutput() ImageConfigPtrOutput - ToImageConfigPtrOutputWithContext(context.Context) ImageConfigPtrOutput + ToDremioInstanceAuthenticationAzureadPtrOutput() DremioInstanceAuthenticationAzureadPtrOutput + ToDremioInstanceAuthenticationAzureadPtrOutputWithContext(context.Context) DremioInstanceAuthenticationAzureadPtrOutput } -type imageConfigPtrType ImageConfigArgs +type dremioInstanceAuthenticationAzureadPtrType DremioInstanceAuthenticationAzureadArgs -func ImageConfigPtr(v *ImageConfigArgs) ImageConfigPtrInput { - return (*imageConfigPtrType)(v) +func DremioInstanceAuthenticationAzureadPtr(v *DremioInstanceAuthenticationAzureadArgs) DremioInstanceAuthenticationAzureadPtrInput { + return (*dremioInstanceAuthenticationAzureadPtrType)(v) } -func (*imageConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ImageConfig)(nil)).Elem() +func (*dremioInstanceAuthenticationAzureadPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DremioInstanceAuthenticationAzuread)(nil)).Elem() } -func (i *imageConfigPtrType) ToImageConfigPtrOutput() ImageConfigPtrOutput { - return i.ToImageConfigPtrOutputWithContext(context.Background()) +func (i *dremioInstanceAuthenticationAzureadPtrType) ToDremioInstanceAuthenticationAzureadPtrOutput() DremioInstanceAuthenticationAzureadPtrOutput { + return i.ToDremioInstanceAuthenticationAzureadPtrOutputWithContext(context.Background()) } -func (i *imageConfigPtrType) ToImageConfigPtrOutputWithContext(ctx context.Context) ImageConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ImageConfigPtrOutput) +func (i *dremioInstanceAuthenticationAzureadPtrType) ToDremioInstanceAuthenticationAzureadPtrOutputWithContext(ctx context.Context) DremioInstanceAuthenticationAzureadPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceAuthenticationAzureadPtrOutput) } -type ImageConfigOutput struct{ *pulumi.OutputState } +type DremioInstanceAuthenticationAzureadOutput struct{ *pulumi.OutputState } -func (ImageConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ImageConfig)(nil)).Elem() +func (DremioInstanceAuthenticationAzureadOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DremioInstanceAuthenticationAzuread)(nil)).Elem() } -func (o ImageConfigOutput) ToImageConfigOutput() ImageConfigOutput { +func (o DremioInstanceAuthenticationAzureadOutput) ToDremioInstanceAuthenticationAzureadOutput() DremioInstanceAuthenticationAzureadOutput { return o } -func (o ImageConfigOutput) ToImageConfigOutputWithContext(ctx context.Context) ImageConfigOutput { +func (o DremioInstanceAuthenticationAzureadOutput) ToDremioInstanceAuthenticationAzureadOutputWithContext(ctx context.Context) DremioInstanceAuthenticationAzureadOutput { return o } -func (o ImageConfigOutput) ToImageConfigPtrOutput() ImageConfigPtrOutput { - return o.ToImageConfigPtrOutputWithContext(context.Background()) +func (o DremioInstanceAuthenticationAzureadOutput) ToDremioInstanceAuthenticationAzureadPtrOutput() DremioInstanceAuthenticationAzureadPtrOutput { + return o.ToDremioInstanceAuthenticationAzureadPtrOutputWithContext(context.Background()) } -func (o ImageConfigOutput) ToImageConfigPtrOutputWithContext(ctx context.Context) ImageConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ImageConfig) *ImageConfig { +func (o DremioInstanceAuthenticationAzureadOutput) ToDremioInstanceAuthenticationAzureadPtrOutputWithContext(ctx context.Context) DremioInstanceAuthenticationAzureadPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DremioInstanceAuthenticationAzuread) *DremioInstanceAuthenticationAzuread { return &v - }).(ImageConfigPtrOutput) -} - -// Enables the BIOS bootmenu. -func (o ImageConfigOutput) BootMenu() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ImageConfig) *bool { return v.BootMenu }).(pulumi.BoolPtrOutput) -} - -// Sets CDROM bus controller type. -func (o ImageConfigOutput) CdromBus() pulumi.StringPtrOutput { - return o.ApplyT(func(v ImageConfig) *string { return v.CdromBus }).(pulumi.StringPtrOutput) -} - -// Sets Disk bus controller type. -func (o ImageConfigOutput) DiskBus() pulumi.StringPtrOutput { - return o.ApplyT(func(v ImageConfig) *string { return v.DiskBus }).(pulumi.StringPtrOutput) -} - -// Sets virtual network interface model. -func (o ImageConfigOutput) NicModel() pulumi.StringPtrOutput { - return o.ApplyT(func(v ImageConfig) *string { return v.NicModel }).(pulumi.StringPtrOutput) -} - -// Enables operating system specific optimizations. -func (o ImageConfigOutput) OperatingSystem() pulumi.StringPtrOutput { - return o.ApplyT(func(v ImageConfig) *string { return v.OperatingSystem }).(pulumi.StringPtrOutput) -} - -// Operating system distribution. -func (o ImageConfigOutput) OperatingSystemDistro() pulumi.StringPtrOutput { - return o.ApplyT(func(v ImageConfig) *string { return v.OperatingSystemDistro }).(pulumi.StringPtrOutput) -} - -// Version of the operating system. -func (o ImageConfigOutput) OperatingSystemVersion() pulumi.StringPtrOutput { - return o.ApplyT(func(v ImageConfig) *string { return v.OperatingSystemVersion }).(pulumi.StringPtrOutput) -} - -// Sets the device bus when the image is used as a rescue image. -func (o ImageConfigOutput) RescueBus() pulumi.StringPtrOutput { - return o.ApplyT(func(v ImageConfig) *string { return v.RescueBus }).(pulumi.StringPtrOutput) -} - -// Sets the device when the image is used as a rescue image. -func (o ImageConfigOutput) RescueDevice() pulumi.StringPtrOutput { - return o.ApplyT(func(v ImageConfig) *string { return v.RescueDevice }).(pulumi.StringPtrOutput) + }).(DremioInstanceAuthenticationAzureadPtrOutput) } -// Enables Secure Boot. -func (o ImageConfigOutput) SecureBoot() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ImageConfig) *bool { return v.SecureBoot }).(pulumi.BoolPtrOutput) +// The Azure AD authority URL. +func (o DremioInstanceAuthenticationAzureadOutput) AuthorityUrl() pulumi.StringOutput { + return o.ApplyT(func(v DremioInstanceAuthenticationAzuread) string { return v.AuthorityUrl }).(pulumi.StringOutput) } -// Enables UEFI boot. -func (o ImageConfigOutput) Uefi() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ImageConfig) *bool { return v.Uefi }).(pulumi.BoolPtrOutput) +// The Azure AD client ID. +func (o DremioInstanceAuthenticationAzureadOutput) ClientId() pulumi.StringOutput { + return o.ApplyT(func(v DremioInstanceAuthenticationAzuread) string { return v.ClientId }).(pulumi.StringOutput) } -// Sets Graphic device model. -func (o ImageConfigOutput) VideoModel() pulumi.StringPtrOutput { - return o.ApplyT(func(v ImageConfig) *string { return v.VideoModel }).(pulumi.StringPtrOutput) +// The Azure AD client secret. +func (o DremioInstanceAuthenticationAzureadOutput) ClientSecret() pulumi.StringOutput { + return o.ApplyT(func(v DremioInstanceAuthenticationAzuread) string { return v.ClientSecret }).(pulumi.StringOutput) } -// Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. -func (o ImageConfigOutput) VirtioScsi() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ImageConfig) *bool { return v.VirtioScsi }).(pulumi.BoolPtrOutput) +// The Azure AD redirect URL. +func (o DremioInstanceAuthenticationAzureadOutput) RedirectUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v DremioInstanceAuthenticationAzuread) *string { return v.RedirectUrl }).(pulumi.StringPtrOutput) } -type ImageConfigPtrOutput struct{ *pulumi.OutputState } +type DremioInstanceAuthenticationAzureadPtrOutput struct{ *pulumi.OutputState } -func (ImageConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ImageConfig)(nil)).Elem() +func (DremioInstanceAuthenticationAzureadPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DremioInstanceAuthenticationAzuread)(nil)).Elem() } -func (o ImageConfigPtrOutput) ToImageConfigPtrOutput() ImageConfigPtrOutput { +func (o DremioInstanceAuthenticationAzureadPtrOutput) ToDremioInstanceAuthenticationAzureadPtrOutput() DremioInstanceAuthenticationAzureadPtrOutput { return o } -func (o ImageConfigPtrOutput) ToImageConfigPtrOutputWithContext(ctx context.Context) ImageConfigPtrOutput { +func (o DremioInstanceAuthenticationAzureadPtrOutput) ToDremioInstanceAuthenticationAzureadPtrOutputWithContext(ctx context.Context) DremioInstanceAuthenticationAzureadPtrOutput { return o } -func (o ImageConfigPtrOutput) Elem() ImageConfigOutput { - return o.ApplyT(func(v *ImageConfig) ImageConfig { +func (o DremioInstanceAuthenticationAzureadPtrOutput) Elem() DremioInstanceAuthenticationAzureadOutput { + return o.ApplyT(func(v *DremioInstanceAuthenticationAzuread) DremioInstanceAuthenticationAzuread { if v != nil { return *v } - var ret ImageConfig + var ret DremioInstanceAuthenticationAzuread return ret - }).(ImageConfigOutput) + }).(DremioInstanceAuthenticationAzureadOutput) } -// Enables the BIOS bootmenu. -func (o ImageConfigPtrOutput) BootMenu() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ImageConfig) *bool { +// The Azure AD authority URL. +func (o DremioInstanceAuthenticationAzureadPtrOutput) AuthorityUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioInstanceAuthenticationAzuread) *string { if v == nil { return nil } - return v.BootMenu - }).(pulumi.BoolPtrOutput) + return &v.AuthorityUrl + }).(pulumi.StringPtrOutput) } -// Sets CDROM bus controller type. -func (o ImageConfigPtrOutput) CdromBus() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ImageConfig) *string { +// The Azure AD client ID. +func (o DremioInstanceAuthenticationAzureadPtrOutput) ClientId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioInstanceAuthenticationAzuread) *string { if v == nil { return nil } - return v.CdromBus + return &v.ClientId }).(pulumi.StringPtrOutput) } -// Sets Disk bus controller type. -func (o ImageConfigPtrOutput) DiskBus() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ImageConfig) *string { +// The Azure AD client secret. +func (o DremioInstanceAuthenticationAzureadPtrOutput) ClientSecret() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioInstanceAuthenticationAzuread) *string { if v == nil { return nil } - return v.DiskBus + return &v.ClientSecret }).(pulumi.StringPtrOutput) } -// Sets virtual network interface model. -func (o ImageConfigPtrOutput) NicModel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ImageConfig) *string { +// The Azure AD redirect URL. +func (o DremioInstanceAuthenticationAzureadPtrOutput) RedirectUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioInstanceAuthenticationAzuread) *string { if v == nil { return nil } - return v.NicModel + return v.RedirectUrl }).(pulumi.StringPtrOutput) } -// Enables operating system specific optimizations. -func (o ImageConfigPtrOutput) OperatingSystem() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ImageConfig) *string { - if v == nil { - return nil - } - return v.OperatingSystem - }).(pulumi.StringPtrOutput) +type DremioInstanceAuthenticationOauth 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 DremioInstanceAuthenticationOauthJwtClaims `pulumi:"jwtClaims"` + // Any additional parameters the Identity Provider requires. + Parameters []DremioInstanceAuthenticationOauthParameter `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"` } -// Operating system distribution. -func (o ImageConfigPtrOutput) OperatingSystemDistro() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ImageConfig) *string { - if v == nil { - return nil +// DremioInstanceAuthenticationOauthInput is an input type that accepts DremioInstanceAuthenticationOauthArgs and DremioInstanceAuthenticationOauthOutput values. +// You can construct a concrete instance of `DremioInstanceAuthenticationOauthInput` via: +// +// DremioInstanceAuthenticationOauthArgs{...} +type DremioInstanceAuthenticationOauthInput interface { + pulumi.Input + + ToDremioInstanceAuthenticationOauthOutput() DremioInstanceAuthenticationOauthOutput + ToDremioInstanceAuthenticationOauthOutputWithContext(context.Context) DremioInstanceAuthenticationOauthOutput +} + +type DremioInstanceAuthenticationOauthArgs 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 DremioInstanceAuthenticationOauthJwtClaimsInput `pulumi:"jwtClaims"` + // Any additional parameters the Identity Provider requires. + Parameters DremioInstanceAuthenticationOauthParameterArrayInput `pulumi:"parameters"` + // The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. + RedirectUrl pulumi.StringPtrInput `pulumi:"redirectUrl"` + // A list of space-separated scopes. The `openid` scope is always required; other scopes can vary by provider. + Scope pulumi.StringPtrInput `pulumi:"scope"` +} + +func (DremioInstanceAuthenticationOauthArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DremioInstanceAuthenticationOauth)(nil)).Elem() +} + +func (i DremioInstanceAuthenticationOauthArgs) ToDremioInstanceAuthenticationOauthOutput() DremioInstanceAuthenticationOauthOutput { + return i.ToDremioInstanceAuthenticationOauthOutputWithContext(context.Background()) +} + +func (i DremioInstanceAuthenticationOauthArgs) ToDremioInstanceAuthenticationOauthOutputWithContext(ctx context.Context) DremioInstanceAuthenticationOauthOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceAuthenticationOauthOutput) +} + +func (i DremioInstanceAuthenticationOauthArgs) ToDremioInstanceAuthenticationOauthPtrOutput() DremioInstanceAuthenticationOauthPtrOutput { + return i.ToDremioInstanceAuthenticationOauthPtrOutputWithContext(context.Background()) +} + +func (i DremioInstanceAuthenticationOauthArgs) ToDremioInstanceAuthenticationOauthPtrOutputWithContext(ctx context.Context) DremioInstanceAuthenticationOauthPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceAuthenticationOauthOutput).ToDremioInstanceAuthenticationOauthPtrOutputWithContext(ctx) +} + +// DremioInstanceAuthenticationOauthPtrInput is an input type that accepts DremioInstanceAuthenticationOauthArgs, DremioInstanceAuthenticationOauthPtr and DremioInstanceAuthenticationOauthPtrOutput values. +// You can construct a concrete instance of `DremioInstanceAuthenticationOauthPtrInput` via: +// +// DremioInstanceAuthenticationOauthArgs{...} +// +// or: +// +// nil +type DremioInstanceAuthenticationOauthPtrInput interface { + pulumi.Input + + ToDremioInstanceAuthenticationOauthPtrOutput() DremioInstanceAuthenticationOauthPtrOutput + ToDremioInstanceAuthenticationOauthPtrOutputWithContext(context.Context) DremioInstanceAuthenticationOauthPtrOutput +} + +type dremioInstanceAuthenticationOauthPtrType DremioInstanceAuthenticationOauthArgs + +func DremioInstanceAuthenticationOauthPtr(v *DremioInstanceAuthenticationOauthArgs) DremioInstanceAuthenticationOauthPtrInput { + return (*dremioInstanceAuthenticationOauthPtrType)(v) +} + +func (*dremioInstanceAuthenticationOauthPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DremioInstanceAuthenticationOauth)(nil)).Elem() +} + +func (i *dremioInstanceAuthenticationOauthPtrType) ToDremioInstanceAuthenticationOauthPtrOutput() DremioInstanceAuthenticationOauthPtrOutput { + return i.ToDremioInstanceAuthenticationOauthPtrOutputWithContext(context.Background()) +} + +func (i *dremioInstanceAuthenticationOauthPtrType) ToDremioInstanceAuthenticationOauthPtrOutputWithContext(ctx context.Context) DremioInstanceAuthenticationOauthPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceAuthenticationOauthPtrOutput) +} + +type DremioInstanceAuthenticationOauthOutput struct{ *pulumi.OutputState } + +func (DremioInstanceAuthenticationOauthOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DremioInstanceAuthenticationOauth)(nil)).Elem() +} + +func (o DremioInstanceAuthenticationOauthOutput) ToDremioInstanceAuthenticationOauthOutput() DremioInstanceAuthenticationOauthOutput { + return o +} + +func (o DremioInstanceAuthenticationOauthOutput) ToDremioInstanceAuthenticationOauthOutputWithContext(ctx context.Context) DremioInstanceAuthenticationOauthOutput { + return o +} + +func (o DremioInstanceAuthenticationOauthOutput) ToDremioInstanceAuthenticationOauthPtrOutput() DremioInstanceAuthenticationOauthPtrOutput { + return o.ToDremioInstanceAuthenticationOauthPtrOutputWithContext(context.Background()) +} + +func (o DremioInstanceAuthenticationOauthOutput) ToDremioInstanceAuthenticationOauthPtrOutputWithContext(ctx context.Context) DremioInstanceAuthenticationOauthPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DremioInstanceAuthenticationOauth) *DremioInstanceAuthenticationOauth { + return &v + }).(DremioInstanceAuthenticationOauthPtrOutput) +} + +// The Issuer location URI, where the OIDC provider configuration can be found. +func (o DremioInstanceAuthenticationOauthOutput) AuthorityUrl() pulumi.StringOutput { + return o.ApplyT(func(v DremioInstanceAuthenticationOauth) string { return v.AuthorityUrl }).(pulumi.StringOutput) +} + +// The client ID assigned by the Identity Provider. +func (o DremioInstanceAuthenticationOauthOutput) ClientId() pulumi.StringOutput { + return o.ApplyT(func(v DremioInstanceAuthenticationOauth) string { return v.ClientId }).(pulumi.StringOutput) +} + +// The client secret generated by the Identity Provider. +func (o DremioInstanceAuthenticationOauthOutput) ClientSecret() pulumi.StringOutput { + return o.ApplyT(func(v DremioInstanceAuthenticationOauth) string { return v.ClientSecret }).(pulumi.StringOutput) +} + +// Maps fields from the JWT token to fields Dremio requires. +func (o DremioInstanceAuthenticationOauthOutput) JwtClaims() DremioInstanceAuthenticationOauthJwtClaimsOutput { + return o.ApplyT(func(v DremioInstanceAuthenticationOauth) DremioInstanceAuthenticationOauthJwtClaims { + return v.JwtClaims + }).(DremioInstanceAuthenticationOauthJwtClaimsOutput) +} + +// Any additional parameters the Identity Provider requires. +func (o DremioInstanceAuthenticationOauthOutput) Parameters() DremioInstanceAuthenticationOauthParameterArrayOutput { + return o.ApplyT(func(v DremioInstanceAuthenticationOauth) []DremioInstanceAuthenticationOauthParameter { + return v.Parameters + }).(DremioInstanceAuthenticationOauthParameterArrayOutput) +} + +// The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. +func (o DremioInstanceAuthenticationOauthOutput) RedirectUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v DremioInstanceAuthenticationOauth) *string { return v.RedirectUrl }).(pulumi.StringPtrOutput) +} + +// A list of space-separated scopes. The `openid` scope is always required; other scopes can vary by provider. +func (o DremioInstanceAuthenticationOauthOutput) Scope() pulumi.StringPtrOutput { + return o.ApplyT(func(v DremioInstanceAuthenticationOauth) *string { return v.Scope }).(pulumi.StringPtrOutput) +} + +type DremioInstanceAuthenticationOauthPtrOutput struct{ *pulumi.OutputState } + +func (DremioInstanceAuthenticationOauthPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DremioInstanceAuthenticationOauth)(nil)).Elem() +} + +func (o DremioInstanceAuthenticationOauthPtrOutput) ToDremioInstanceAuthenticationOauthPtrOutput() DremioInstanceAuthenticationOauthPtrOutput { + return o +} + +func (o DremioInstanceAuthenticationOauthPtrOutput) ToDremioInstanceAuthenticationOauthPtrOutputWithContext(ctx context.Context) DremioInstanceAuthenticationOauthPtrOutput { + return o +} + +func (o DremioInstanceAuthenticationOauthPtrOutput) Elem() DremioInstanceAuthenticationOauthOutput { + return o.ApplyT(func(v *DremioInstanceAuthenticationOauth) DremioInstanceAuthenticationOauth { + if v != nil { + return *v } - return v.OperatingSystemDistro - }).(pulumi.StringPtrOutput) + var ret DremioInstanceAuthenticationOauth + return ret + }).(DremioInstanceAuthenticationOauthOutput) } -// Version of the operating system. -func (o ImageConfigPtrOutput) OperatingSystemVersion() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ImageConfig) *string { +// The Issuer location URI, where the OIDC provider configuration can be found. +func (o DremioInstanceAuthenticationOauthPtrOutput) AuthorityUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioInstanceAuthenticationOauth) *string { if v == nil { return nil } - return v.OperatingSystemVersion + return &v.AuthorityUrl }).(pulumi.StringPtrOutput) } -// Sets the device bus when the image is used as a rescue image. -func (o ImageConfigPtrOutput) RescueBus() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ImageConfig) *string { +// The client ID assigned by the Identity Provider. +func (o DremioInstanceAuthenticationOauthPtrOutput) ClientId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioInstanceAuthenticationOauth) *string { if v == nil { return nil } - return v.RescueBus + return &v.ClientId }).(pulumi.StringPtrOutput) } -// Sets the device when the image is used as a rescue image. -func (o ImageConfigPtrOutput) RescueDevice() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ImageConfig) *string { +// The client secret generated by the Identity Provider. +func (o DremioInstanceAuthenticationOauthPtrOutput) ClientSecret() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioInstanceAuthenticationOauth) *string { if v == nil { return nil } - return v.RescueDevice + return &v.ClientSecret }).(pulumi.StringPtrOutput) } -// Enables Secure Boot. -func (o ImageConfigPtrOutput) SecureBoot() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ImageConfig) *bool { +// Maps fields from the JWT token to fields Dremio requires. +func (o DremioInstanceAuthenticationOauthPtrOutput) JwtClaims() DremioInstanceAuthenticationOauthJwtClaimsPtrOutput { + return o.ApplyT(func(v *DremioInstanceAuthenticationOauth) *DremioInstanceAuthenticationOauthJwtClaims { if v == nil { return nil } - return v.SecureBoot - }).(pulumi.BoolPtrOutput) + return &v.JwtClaims + }).(DremioInstanceAuthenticationOauthJwtClaimsPtrOutput) } -// Enables UEFI boot. -func (o ImageConfigPtrOutput) Uefi() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ImageConfig) *bool { +// Any additional parameters the Identity Provider requires. +func (o DremioInstanceAuthenticationOauthPtrOutput) Parameters() DremioInstanceAuthenticationOauthParameterArrayOutput { + return o.ApplyT(func(v *DremioInstanceAuthenticationOauth) []DremioInstanceAuthenticationOauthParameter { if v == nil { return nil } - return v.Uefi - }).(pulumi.BoolPtrOutput) + return v.Parameters + }).(DremioInstanceAuthenticationOauthParameterArrayOutput) } -// Sets Graphic device model. -func (o ImageConfigPtrOutput) VideoModel() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ImageConfig) *string { +// The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. +func (o DremioInstanceAuthenticationOauthPtrOutput) RedirectUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioInstanceAuthenticationOauth) *string { if v == nil { return nil } - return v.VideoModel + return v.RedirectUrl }).(pulumi.StringPtrOutput) } -// Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. -func (o ImageConfigPtrOutput) VirtioScsi() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ImageConfig) *bool { +// A list of space-separated scopes. The `openid` scope is always required; other scopes can vary by provider. +func (o DremioInstanceAuthenticationOauthPtrOutput) Scope() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioInstanceAuthenticationOauth) *string { if v == nil { return nil } - return v.VirtioScsi - }).(pulumi.BoolPtrOutput) + return v.Scope + }).(pulumi.StringPtrOutput) } -type LoadbalancerListener 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. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_TCP`, `PROTOCOL_UDP`, `PROTOCOL_TCP_PROXY`, `PROTOCOL_TLS_PASSTHROUGH`. - 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 []LoadbalancerListenerServerNameIndicator `pulumi:"serverNameIndicators"` - // Reference target pool by target pool name. - TargetPool string `pulumi:"targetPool"` - // Options that are specific to the TCP protocol. - Tcp *LoadbalancerListenerTcp `pulumi:"tcp"` - // Options that are specific to the UDP protocol. - Udp *LoadbalancerListenerUdp `pulumi:"udp"` +type DremioInstanceAuthenticationOauthJwtClaims struct { + // Mapped user name claim (e.g. email). + UserName string `pulumi:"userName"` } -// LoadbalancerListenerInput is an input type that accepts LoadbalancerListenerArgs and LoadbalancerListenerOutput values. -// You can construct a concrete instance of `LoadbalancerListenerInput` via: +// DremioInstanceAuthenticationOauthJwtClaimsInput is an input type that accepts DremioInstanceAuthenticationOauthJwtClaimsArgs and DremioInstanceAuthenticationOauthJwtClaimsOutput values. +// You can construct a concrete instance of `DremioInstanceAuthenticationOauthJwtClaimsInput` via: // -// LoadbalancerListenerArgs{...} -type LoadbalancerListenerInput interface { +// DremioInstanceAuthenticationOauthJwtClaimsArgs{...} +type DremioInstanceAuthenticationOauthJwtClaimsInput interface { pulumi.Input - ToLoadbalancerListenerOutput() LoadbalancerListenerOutput - ToLoadbalancerListenerOutputWithContext(context.Context) LoadbalancerListenerOutput + ToDremioInstanceAuthenticationOauthJwtClaimsOutput() DremioInstanceAuthenticationOauthJwtClaimsOutput + ToDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(context.Context) DremioInstanceAuthenticationOauthJwtClaimsOutput } -type LoadbalancerListenerArgs struct { - DisplayName pulumi.StringPtrInput `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. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_TCP`, `PROTOCOL_UDP`, `PROTOCOL_TCP_PROXY`, `PROTOCOL_TLS_PASSTHROUGH`. - 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 LoadbalancerListenerServerNameIndicatorArrayInput `pulumi:"serverNameIndicators"` - // Reference target pool by target pool name. - TargetPool pulumi.StringInput `pulumi:"targetPool"` - // Options that are specific to the TCP protocol. - Tcp LoadbalancerListenerTcpPtrInput `pulumi:"tcp"` - // Options that are specific to the UDP protocol. - Udp LoadbalancerListenerUdpPtrInput `pulumi:"udp"` +type DremioInstanceAuthenticationOauthJwtClaimsArgs struct { + // Mapped user name claim (e.g. email). + UserName pulumi.StringInput `pulumi:"userName"` } -func (LoadbalancerListenerArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerListener)(nil)).Elem() +func (DremioInstanceAuthenticationOauthJwtClaimsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DremioInstanceAuthenticationOauthJwtClaims)(nil)).Elem() } -func (i LoadbalancerListenerArgs) ToLoadbalancerListenerOutput() LoadbalancerListenerOutput { - return i.ToLoadbalancerListenerOutputWithContext(context.Background()) +func (i DremioInstanceAuthenticationOauthJwtClaimsArgs) ToDremioInstanceAuthenticationOauthJwtClaimsOutput() DremioInstanceAuthenticationOauthJwtClaimsOutput { + return i.ToDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(context.Background()) } -func (i LoadbalancerListenerArgs) ToLoadbalancerListenerOutputWithContext(ctx context.Context) LoadbalancerListenerOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerListenerOutput) +func (i DremioInstanceAuthenticationOauthJwtClaimsArgs) ToDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(ctx context.Context) DremioInstanceAuthenticationOauthJwtClaimsOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceAuthenticationOauthJwtClaimsOutput) } -// LoadbalancerListenerArrayInput is an input type that accepts LoadbalancerListenerArray and LoadbalancerListenerArrayOutput values. -// You can construct a concrete instance of `LoadbalancerListenerArrayInput` via: +func (i DremioInstanceAuthenticationOauthJwtClaimsArgs) ToDremioInstanceAuthenticationOauthJwtClaimsPtrOutput() DremioInstanceAuthenticationOauthJwtClaimsPtrOutput { + return i.ToDremioInstanceAuthenticationOauthJwtClaimsPtrOutputWithContext(context.Background()) +} + +func (i DremioInstanceAuthenticationOauthJwtClaimsArgs) ToDremioInstanceAuthenticationOauthJwtClaimsPtrOutputWithContext(ctx context.Context) DremioInstanceAuthenticationOauthJwtClaimsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceAuthenticationOauthJwtClaimsOutput).ToDremioInstanceAuthenticationOauthJwtClaimsPtrOutputWithContext(ctx) +} + +// DremioInstanceAuthenticationOauthJwtClaimsPtrInput is an input type that accepts DremioInstanceAuthenticationOauthJwtClaimsArgs, DremioInstanceAuthenticationOauthJwtClaimsPtr and DremioInstanceAuthenticationOauthJwtClaimsPtrOutput values. +// You can construct a concrete instance of `DremioInstanceAuthenticationOauthJwtClaimsPtrInput` via: // -// LoadbalancerListenerArray{ LoadbalancerListenerArgs{...} } -type LoadbalancerListenerArrayInput interface { +// DremioInstanceAuthenticationOauthJwtClaimsArgs{...} +// +// or: +// +// nil +type DremioInstanceAuthenticationOauthJwtClaimsPtrInput interface { pulumi.Input - ToLoadbalancerListenerArrayOutput() LoadbalancerListenerArrayOutput - ToLoadbalancerListenerArrayOutputWithContext(context.Context) LoadbalancerListenerArrayOutput + ToDremioInstanceAuthenticationOauthJwtClaimsPtrOutput() DremioInstanceAuthenticationOauthJwtClaimsPtrOutput + ToDremioInstanceAuthenticationOauthJwtClaimsPtrOutputWithContext(context.Context) DremioInstanceAuthenticationOauthJwtClaimsPtrOutput } -type LoadbalancerListenerArray []LoadbalancerListenerInput +type dremioInstanceAuthenticationOauthJwtClaimsPtrType DremioInstanceAuthenticationOauthJwtClaimsArgs -func (LoadbalancerListenerArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]LoadbalancerListener)(nil)).Elem() +func DremioInstanceAuthenticationOauthJwtClaimsPtr(v *DremioInstanceAuthenticationOauthJwtClaimsArgs) DremioInstanceAuthenticationOauthJwtClaimsPtrInput { + return (*dremioInstanceAuthenticationOauthJwtClaimsPtrType)(v) } -func (i LoadbalancerListenerArray) ToLoadbalancerListenerArrayOutput() LoadbalancerListenerArrayOutput { - return i.ToLoadbalancerListenerArrayOutputWithContext(context.Background()) +func (*dremioInstanceAuthenticationOauthJwtClaimsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DremioInstanceAuthenticationOauthJwtClaims)(nil)).Elem() } -func (i LoadbalancerListenerArray) ToLoadbalancerListenerArrayOutputWithContext(ctx context.Context) LoadbalancerListenerArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerListenerArrayOutput) +func (i *dremioInstanceAuthenticationOauthJwtClaimsPtrType) ToDremioInstanceAuthenticationOauthJwtClaimsPtrOutput() DremioInstanceAuthenticationOauthJwtClaimsPtrOutput { + return i.ToDremioInstanceAuthenticationOauthJwtClaimsPtrOutputWithContext(context.Background()) } -type LoadbalancerListenerOutput struct{ *pulumi.OutputState } +func (i *dremioInstanceAuthenticationOauthJwtClaimsPtrType) ToDremioInstanceAuthenticationOauthJwtClaimsPtrOutputWithContext(ctx context.Context) DremioInstanceAuthenticationOauthJwtClaimsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceAuthenticationOauthJwtClaimsPtrOutput) +} -func (LoadbalancerListenerOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerListener)(nil)).Elem() +type DremioInstanceAuthenticationOauthJwtClaimsOutput struct{ *pulumi.OutputState } + +func (DremioInstanceAuthenticationOauthJwtClaimsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DremioInstanceAuthenticationOauthJwtClaims)(nil)).Elem() } -func (o LoadbalancerListenerOutput) ToLoadbalancerListenerOutput() LoadbalancerListenerOutput { +func (o DremioInstanceAuthenticationOauthJwtClaimsOutput) ToDremioInstanceAuthenticationOauthJwtClaimsOutput() DremioInstanceAuthenticationOauthJwtClaimsOutput { return o } -func (o LoadbalancerListenerOutput) ToLoadbalancerListenerOutputWithContext(ctx context.Context) LoadbalancerListenerOutput { +func (o DremioInstanceAuthenticationOauthJwtClaimsOutput) ToDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(ctx context.Context) DremioInstanceAuthenticationOauthJwtClaimsOutput { return o } -func (o LoadbalancerListenerOutput) DisplayName() pulumi.StringPtrOutput { - return o.ApplyT(func(v LoadbalancerListener) *string { return v.DisplayName }).(pulumi.StringPtrOutput) +func (o DremioInstanceAuthenticationOauthJwtClaimsOutput) ToDremioInstanceAuthenticationOauthJwtClaimsPtrOutput() DremioInstanceAuthenticationOauthJwtClaimsPtrOutput { + return o.ToDremioInstanceAuthenticationOauthJwtClaimsPtrOutputWithContext(context.Background()) } -// Port number where we listen for traffic. -func (o LoadbalancerListenerOutput) Port() pulumi.IntOutput { - return o.ApplyT(func(v LoadbalancerListener) int { return v.Port }).(pulumi.IntOutput) +func (o DremioInstanceAuthenticationOauthJwtClaimsOutput) ToDremioInstanceAuthenticationOauthJwtClaimsPtrOutputWithContext(ctx context.Context) DremioInstanceAuthenticationOauthJwtClaimsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DremioInstanceAuthenticationOauthJwtClaims) *DremioInstanceAuthenticationOauthJwtClaims { + return &v + }).(DremioInstanceAuthenticationOauthJwtClaimsPtrOutput) } -// Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_TCP`, `PROTOCOL_UDP`, `PROTOCOL_TCP_PROXY`, `PROTOCOL_TLS_PASSTHROUGH`. -func (o LoadbalancerListenerOutput) Protocol() pulumi.StringOutput { - return o.ApplyT(func(v LoadbalancerListener) string { return v.Protocol }).(pulumi.StringOutput) +// Mapped user name claim (e.g. email). +func (o DremioInstanceAuthenticationOauthJwtClaimsOutput) UserName() pulumi.StringOutput { + return o.ApplyT(func(v DremioInstanceAuthenticationOauthJwtClaims) string { return v.UserName }).(pulumi.StringOutput) } -// 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 LoadbalancerListenerOutput) ServerNameIndicators() LoadbalancerListenerServerNameIndicatorArrayOutput { - return o.ApplyT(func(v LoadbalancerListener) []LoadbalancerListenerServerNameIndicator { return v.ServerNameIndicators }).(LoadbalancerListenerServerNameIndicatorArrayOutput) +type DremioInstanceAuthenticationOauthJwtClaimsPtrOutput struct{ *pulumi.OutputState } + +func (DremioInstanceAuthenticationOauthJwtClaimsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DremioInstanceAuthenticationOauthJwtClaims)(nil)).Elem() } -// Reference target pool by target pool name. -func (o LoadbalancerListenerOutput) TargetPool() pulumi.StringOutput { - return o.ApplyT(func(v LoadbalancerListener) string { return v.TargetPool }).(pulumi.StringOutput) +func (o DremioInstanceAuthenticationOauthJwtClaimsPtrOutput) ToDremioInstanceAuthenticationOauthJwtClaimsPtrOutput() DremioInstanceAuthenticationOauthJwtClaimsPtrOutput { + return o } -// Options that are specific to the TCP protocol. -func (o LoadbalancerListenerOutput) Tcp() LoadbalancerListenerTcpPtrOutput { - return o.ApplyT(func(v LoadbalancerListener) *LoadbalancerListenerTcp { return v.Tcp }).(LoadbalancerListenerTcpPtrOutput) +func (o DremioInstanceAuthenticationOauthJwtClaimsPtrOutput) ToDremioInstanceAuthenticationOauthJwtClaimsPtrOutputWithContext(ctx context.Context) DremioInstanceAuthenticationOauthJwtClaimsPtrOutput { + return o } -// Options that are specific to the UDP protocol. -func (o LoadbalancerListenerOutput) Udp() LoadbalancerListenerUdpPtrOutput { - return o.ApplyT(func(v LoadbalancerListener) *LoadbalancerListenerUdp { return v.Udp }).(LoadbalancerListenerUdpPtrOutput) +func (o DremioInstanceAuthenticationOauthJwtClaimsPtrOutput) Elem() DremioInstanceAuthenticationOauthJwtClaimsOutput { + return o.ApplyT(func(v *DremioInstanceAuthenticationOauthJwtClaims) DremioInstanceAuthenticationOauthJwtClaims { + if v != nil { + return *v + } + var ret DremioInstanceAuthenticationOauthJwtClaims + return ret + }).(DremioInstanceAuthenticationOauthJwtClaimsOutput) } -type LoadbalancerListenerArrayOutput struct{ *pulumi.OutputState } +// Mapped user name claim (e.g. email). +func (o DremioInstanceAuthenticationOauthJwtClaimsPtrOutput) UserName() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioInstanceAuthenticationOauthJwtClaims) *string { + if v == nil { + return nil + } + return &v.UserName + }).(pulumi.StringPtrOutput) +} -func (LoadbalancerListenerArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]LoadbalancerListener)(nil)).Elem() +type DremioInstanceAuthenticationOauthParameter struct { + // Parameter name. + Name string `pulumi:"name"` + // Parameter value. + Value string `pulumi:"value"` } -func (o LoadbalancerListenerArrayOutput) ToLoadbalancerListenerArrayOutput() LoadbalancerListenerArrayOutput { - return o +// DremioInstanceAuthenticationOauthParameterInput is an input type that accepts DremioInstanceAuthenticationOauthParameterArgs and DremioInstanceAuthenticationOauthParameterOutput values. +// You can construct a concrete instance of `DremioInstanceAuthenticationOauthParameterInput` via: +// +// DremioInstanceAuthenticationOauthParameterArgs{...} +type DremioInstanceAuthenticationOauthParameterInput interface { + pulumi.Input + + ToDremioInstanceAuthenticationOauthParameterOutput() DremioInstanceAuthenticationOauthParameterOutput + ToDremioInstanceAuthenticationOauthParameterOutputWithContext(context.Context) DremioInstanceAuthenticationOauthParameterOutput } -func (o LoadbalancerListenerArrayOutput) ToLoadbalancerListenerArrayOutputWithContext(ctx context.Context) LoadbalancerListenerArrayOutput { - return o +type DremioInstanceAuthenticationOauthParameterArgs struct { + // Parameter name. + Name pulumi.StringInput `pulumi:"name"` + // Parameter value. + Value pulumi.StringInput `pulumi:"value"` } -func (o LoadbalancerListenerArrayOutput) Index(i pulumi.IntInput) LoadbalancerListenerOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) LoadbalancerListener { - return vs[0].([]LoadbalancerListener)[vs[1].(int)] - }).(LoadbalancerListenerOutput) +func (DremioInstanceAuthenticationOauthParameterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DremioInstanceAuthenticationOauthParameter)(nil)).Elem() } -type LoadbalancerListenerServerNameIndicator struct { - // A domain name to match in order to pass TLS traffic to the target pool in the current listener - Name *string `pulumi:"name"` -} - -// LoadbalancerListenerServerNameIndicatorInput is an input type that accepts LoadbalancerListenerServerNameIndicatorArgs and LoadbalancerListenerServerNameIndicatorOutput values. -// You can construct a concrete instance of `LoadbalancerListenerServerNameIndicatorInput` via: -// -// LoadbalancerListenerServerNameIndicatorArgs{...} -type LoadbalancerListenerServerNameIndicatorInput interface { - pulumi.Input - - ToLoadbalancerListenerServerNameIndicatorOutput() LoadbalancerListenerServerNameIndicatorOutput - ToLoadbalancerListenerServerNameIndicatorOutputWithContext(context.Context) LoadbalancerListenerServerNameIndicatorOutput -} - -type LoadbalancerListenerServerNameIndicatorArgs 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 (LoadbalancerListenerServerNameIndicatorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerListenerServerNameIndicator)(nil)).Elem() -} - -func (i LoadbalancerListenerServerNameIndicatorArgs) ToLoadbalancerListenerServerNameIndicatorOutput() LoadbalancerListenerServerNameIndicatorOutput { - return i.ToLoadbalancerListenerServerNameIndicatorOutputWithContext(context.Background()) +func (i DremioInstanceAuthenticationOauthParameterArgs) ToDremioInstanceAuthenticationOauthParameterOutput() DremioInstanceAuthenticationOauthParameterOutput { + return i.ToDremioInstanceAuthenticationOauthParameterOutputWithContext(context.Background()) } -func (i LoadbalancerListenerServerNameIndicatorArgs) ToLoadbalancerListenerServerNameIndicatorOutputWithContext(ctx context.Context) LoadbalancerListenerServerNameIndicatorOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerListenerServerNameIndicatorOutput) +func (i DremioInstanceAuthenticationOauthParameterArgs) ToDremioInstanceAuthenticationOauthParameterOutputWithContext(ctx context.Context) DremioInstanceAuthenticationOauthParameterOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceAuthenticationOauthParameterOutput) } -// LoadbalancerListenerServerNameIndicatorArrayInput is an input type that accepts LoadbalancerListenerServerNameIndicatorArray and LoadbalancerListenerServerNameIndicatorArrayOutput values. -// You can construct a concrete instance of `LoadbalancerListenerServerNameIndicatorArrayInput` via: +// DremioInstanceAuthenticationOauthParameterArrayInput is an input type that accepts DremioInstanceAuthenticationOauthParameterArray and DremioInstanceAuthenticationOauthParameterArrayOutput values. +// You can construct a concrete instance of `DremioInstanceAuthenticationOauthParameterArrayInput` via: // -// LoadbalancerListenerServerNameIndicatorArray{ LoadbalancerListenerServerNameIndicatorArgs{...} } -type LoadbalancerListenerServerNameIndicatorArrayInput interface { +// DremioInstanceAuthenticationOauthParameterArray{ DremioInstanceAuthenticationOauthParameterArgs{...} } +type DremioInstanceAuthenticationOauthParameterArrayInput interface { pulumi.Input - ToLoadbalancerListenerServerNameIndicatorArrayOutput() LoadbalancerListenerServerNameIndicatorArrayOutput - ToLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(context.Context) LoadbalancerListenerServerNameIndicatorArrayOutput + ToDremioInstanceAuthenticationOauthParameterArrayOutput() DremioInstanceAuthenticationOauthParameterArrayOutput + ToDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(context.Context) DremioInstanceAuthenticationOauthParameterArrayOutput } -type LoadbalancerListenerServerNameIndicatorArray []LoadbalancerListenerServerNameIndicatorInput +type DremioInstanceAuthenticationOauthParameterArray []DremioInstanceAuthenticationOauthParameterInput -func (LoadbalancerListenerServerNameIndicatorArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]LoadbalancerListenerServerNameIndicator)(nil)).Elem() +func (DremioInstanceAuthenticationOauthParameterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]DremioInstanceAuthenticationOauthParameter)(nil)).Elem() } -func (i LoadbalancerListenerServerNameIndicatorArray) ToLoadbalancerListenerServerNameIndicatorArrayOutput() LoadbalancerListenerServerNameIndicatorArrayOutput { - return i.ToLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(context.Background()) +func (i DremioInstanceAuthenticationOauthParameterArray) ToDremioInstanceAuthenticationOauthParameterArrayOutput() DremioInstanceAuthenticationOauthParameterArrayOutput { + return i.ToDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(context.Background()) } -func (i LoadbalancerListenerServerNameIndicatorArray) ToLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(ctx context.Context) LoadbalancerListenerServerNameIndicatorArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerListenerServerNameIndicatorArrayOutput) +func (i DremioInstanceAuthenticationOauthParameterArray) ToDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(ctx context.Context) DremioInstanceAuthenticationOauthParameterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceAuthenticationOauthParameterArrayOutput) } -type LoadbalancerListenerServerNameIndicatorOutput struct{ *pulumi.OutputState } +type DremioInstanceAuthenticationOauthParameterOutput struct{ *pulumi.OutputState } -func (LoadbalancerListenerServerNameIndicatorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerListenerServerNameIndicator)(nil)).Elem() +func (DremioInstanceAuthenticationOauthParameterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DremioInstanceAuthenticationOauthParameter)(nil)).Elem() } -func (o LoadbalancerListenerServerNameIndicatorOutput) ToLoadbalancerListenerServerNameIndicatorOutput() LoadbalancerListenerServerNameIndicatorOutput { +func (o DremioInstanceAuthenticationOauthParameterOutput) ToDremioInstanceAuthenticationOauthParameterOutput() DremioInstanceAuthenticationOauthParameterOutput { return o } -func (o LoadbalancerListenerServerNameIndicatorOutput) ToLoadbalancerListenerServerNameIndicatorOutputWithContext(ctx context.Context) LoadbalancerListenerServerNameIndicatorOutput { +func (o DremioInstanceAuthenticationOauthParameterOutput) ToDremioInstanceAuthenticationOauthParameterOutputWithContext(ctx context.Context) DremioInstanceAuthenticationOauthParameterOutput { return o } -// A domain name to match in order to pass TLS traffic to the target pool in the current listener -func (o LoadbalancerListenerServerNameIndicatorOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v LoadbalancerListenerServerNameIndicator) *string { return v.Name }).(pulumi.StringPtrOutput) +// Parameter name. +func (o DremioInstanceAuthenticationOauthParameterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v DremioInstanceAuthenticationOauthParameter) string { return v.Name }).(pulumi.StringOutput) } -type LoadbalancerListenerServerNameIndicatorArrayOutput struct{ *pulumi.OutputState } +// Parameter value. +func (o DremioInstanceAuthenticationOauthParameterOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v DremioInstanceAuthenticationOauthParameter) string { return v.Value }).(pulumi.StringOutput) +} -func (LoadbalancerListenerServerNameIndicatorArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]LoadbalancerListenerServerNameIndicator)(nil)).Elem() +type DremioInstanceAuthenticationOauthParameterArrayOutput struct{ *pulumi.OutputState } + +func (DremioInstanceAuthenticationOauthParameterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]DremioInstanceAuthenticationOauthParameter)(nil)).Elem() } -func (o LoadbalancerListenerServerNameIndicatorArrayOutput) ToLoadbalancerListenerServerNameIndicatorArrayOutput() LoadbalancerListenerServerNameIndicatorArrayOutput { +func (o DremioInstanceAuthenticationOauthParameterArrayOutput) ToDremioInstanceAuthenticationOauthParameterArrayOutput() DremioInstanceAuthenticationOauthParameterArrayOutput { return o } -func (o LoadbalancerListenerServerNameIndicatorArrayOutput) ToLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(ctx context.Context) LoadbalancerListenerServerNameIndicatorArrayOutput { +func (o DremioInstanceAuthenticationOauthParameterArrayOutput) ToDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(ctx context.Context) DremioInstanceAuthenticationOauthParameterArrayOutput { return o } -func (o LoadbalancerListenerServerNameIndicatorArrayOutput) Index(i pulumi.IntInput) LoadbalancerListenerServerNameIndicatorOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) LoadbalancerListenerServerNameIndicator { - return vs[0].([]LoadbalancerListenerServerNameIndicator)[vs[1].(int)] - }).(LoadbalancerListenerServerNameIndicatorOutput) +func (o DremioInstanceAuthenticationOauthParameterArrayOutput) Index(i pulumi.IntInput) DremioInstanceAuthenticationOauthParameterOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) DremioInstanceAuthenticationOauthParameter { + return vs[0].([]DremioInstanceAuthenticationOauthParameter)[vs[1].(int)] + }).(DremioInstanceAuthenticationOauthParameterOutput) } -type LoadbalancerListenerTcp struct { - // Time after which an idle connection is closed. The default value is set to 300 seconds, and the maximum value is 3600 seconds. The format is a duration and the unit must be seconds. Example: 30s - IdleTimeout *string `pulumi:"idleTimeout"` +type DremioInstanceEndpoints 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"` } -// LoadbalancerListenerTcpInput is an input type that accepts LoadbalancerListenerTcpArgs and LoadbalancerListenerTcpOutput values. -// You can construct a concrete instance of `LoadbalancerListenerTcpInput` via: +// DremioInstanceEndpointsInput is an input type that accepts DremioInstanceEndpointsArgs and DremioInstanceEndpointsOutput values. +// You can construct a concrete instance of `DremioInstanceEndpointsInput` via: // -// LoadbalancerListenerTcpArgs{...} -type LoadbalancerListenerTcpInput interface { +// DremioInstanceEndpointsArgs{...} +type DremioInstanceEndpointsInput interface { pulumi.Input - ToLoadbalancerListenerTcpOutput() LoadbalancerListenerTcpOutput - ToLoadbalancerListenerTcpOutputWithContext(context.Context) LoadbalancerListenerTcpOutput + ToDremioInstanceEndpointsOutput() DremioInstanceEndpointsOutput + ToDremioInstanceEndpointsOutputWithContext(context.Context) DremioInstanceEndpointsOutput } -type LoadbalancerListenerTcpArgs struct { - // Time after which an idle connection is closed. The default value is set to 300 seconds, and the maximum value is 3600 seconds. The format is a duration and the unit must be seconds. Example: 30s - IdleTimeout pulumi.StringPtrInput `pulumi:"idleTimeout"` +type DremioInstanceEndpointsArgs struct { + // The arrow flight endpoint of the Dremio instance. + ArrowFlight pulumi.StringPtrInput `pulumi:"arrowFlight"` + // The Apache Iceberg endpoint of the Dremio instance. + Catalog pulumi.StringPtrInput `pulumi:"catalog"` + // The UI endpoint of the Dremio instance. + Ui pulumi.StringPtrInput `pulumi:"ui"` } -func (LoadbalancerListenerTcpArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerListenerTcp)(nil)).Elem() +func (DremioInstanceEndpointsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DremioInstanceEndpoints)(nil)).Elem() } -func (i LoadbalancerListenerTcpArgs) ToLoadbalancerListenerTcpOutput() LoadbalancerListenerTcpOutput { - return i.ToLoadbalancerListenerTcpOutputWithContext(context.Background()) +func (i DremioInstanceEndpointsArgs) ToDremioInstanceEndpointsOutput() DremioInstanceEndpointsOutput { + return i.ToDremioInstanceEndpointsOutputWithContext(context.Background()) } -func (i LoadbalancerListenerTcpArgs) ToLoadbalancerListenerTcpOutputWithContext(ctx context.Context) LoadbalancerListenerTcpOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerListenerTcpOutput) +func (i DremioInstanceEndpointsArgs) ToDremioInstanceEndpointsOutputWithContext(ctx context.Context) DremioInstanceEndpointsOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceEndpointsOutput) } -func (i LoadbalancerListenerTcpArgs) ToLoadbalancerListenerTcpPtrOutput() LoadbalancerListenerTcpPtrOutput { - return i.ToLoadbalancerListenerTcpPtrOutputWithContext(context.Background()) +func (i DremioInstanceEndpointsArgs) ToDremioInstanceEndpointsPtrOutput() DremioInstanceEndpointsPtrOutput { + return i.ToDremioInstanceEndpointsPtrOutputWithContext(context.Background()) } -func (i LoadbalancerListenerTcpArgs) ToLoadbalancerListenerTcpPtrOutputWithContext(ctx context.Context) LoadbalancerListenerTcpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerListenerTcpOutput).ToLoadbalancerListenerTcpPtrOutputWithContext(ctx) +func (i DremioInstanceEndpointsArgs) ToDremioInstanceEndpointsPtrOutputWithContext(ctx context.Context) DremioInstanceEndpointsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceEndpointsOutput).ToDremioInstanceEndpointsPtrOutputWithContext(ctx) } -// LoadbalancerListenerTcpPtrInput is an input type that accepts LoadbalancerListenerTcpArgs, LoadbalancerListenerTcpPtr and LoadbalancerListenerTcpPtrOutput values. -// You can construct a concrete instance of `LoadbalancerListenerTcpPtrInput` via: +// DremioInstanceEndpointsPtrInput is an input type that accepts DremioInstanceEndpointsArgs, DremioInstanceEndpointsPtr and DremioInstanceEndpointsPtrOutput values. +// You can construct a concrete instance of `DremioInstanceEndpointsPtrInput` via: // -// LoadbalancerListenerTcpArgs{...} +// DremioInstanceEndpointsArgs{...} // // or: // // nil -type LoadbalancerListenerTcpPtrInput interface { +type DremioInstanceEndpointsPtrInput interface { pulumi.Input - ToLoadbalancerListenerTcpPtrOutput() LoadbalancerListenerTcpPtrOutput - ToLoadbalancerListenerTcpPtrOutputWithContext(context.Context) LoadbalancerListenerTcpPtrOutput + ToDremioInstanceEndpointsPtrOutput() DremioInstanceEndpointsPtrOutput + ToDremioInstanceEndpointsPtrOutputWithContext(context.Context) DremioInstanceEndpointsPtrOutput } -type loadbalancerListenerTcpPtrType LoadbalancerListenerTcpArgs +type dremioInstanceEndpointsPtrType DremioInstanceEndpointsArgs -func LoadbalancerListenerTcpPtr(v *LoadbalancerListenerTcpArgs) LoadbalancerListenerTcpPtrInput { - return (*loadbalancerListenerTcpPtrType)(v) +func DremioInstanceEndpointsPtr(v *DremioInstanceEndpointsArgs) DremioInstanceEndpointsPtrInput { + return (*dremioInstanceEndpointsPtrType)(v) } -func (*loadbalancerListenerTcpPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LoadbalancerListenerTcp)(nil)).Elem() +func (*dremioInstanceEndpointsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DremioInstanceEndpoints)(nil)).Elem() } -func (i *loadbalancerListenerTcpPtrType) ToLoadbalancerListenerTcpPtrOutput() LoadbalancerListenerTcpPtrOutput { - return i.ToLoadbalancerListenerTcpPtrOutputWithContext(context.Background()) +func (i *dremioInstanceEndpointsPtrType) ToDremioInstanceEndpointsPtrOutput() DremioInstanceEndpointsPtrOutput { + return i.ToDremioInstanceEndpointsPtrOutputWithContext(context.Background()) } -func (i *loadbalancerListenerTcpPtrType) ToLoadbalancerListenerTcpPtrOutputWithContext(ctx context.Context) LoadbalancerListenerTcpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerListenerTcpPtrOutput) +func (i *dremioInstanceEndpointsPtrType) ToDremioInstanceEndpointsPtrOutputWithContext(ctx context.Context) DremioInstanceEndpointsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceEndpointsPtrOutput) } -type LoadbalancerListenerTcpOutput struct{ *pulumi.OutputState } +type DremioInstanceEndpointsOutput struct{ *pulumi.OutputState } -func (LoadbalancerListenerTcpOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerListenerTcp)(nil)).Elem() +func (DremioInstanceEndpointsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DremioInstanceEndpoints)(nil)).Elem() } -func (o LoadbalancerListenerTcpOutput) ToLoadbalancerListenerTcpOutput() LoadbalancerListenerTcpOutput { +func (o DremioInstanceEndpointsOutput) ToDremioInstanceEndpointsOutput() DremioInstanceEndpointsOutput { return o } -func (o LoadbalancerListenerTcpOutput) ToLoadbalancerListenerTcpOutputWithContext(ctx context.Context) LoadbalancerListenerTcpOutput { +func (o DremioInstanceEndpointsOutput) ToDremioInstanceEndpointsOutputWithContext(ctx context.Context) DremioInstanceEndpointsOutput { return o } -func (o LoadbalancerListenerTcpOutput) ToLoadbalancerListenerTcpPtrOutput() LoadbalancerListenerTcpPtrOutput { - return o.ToLoadbalancerListenerTcpPtrOutputWithContext(context.Background()) +func (o DremioInstanceEndpointsOutput) ToDremioInstanceEndpointsPtrOutput() DremioInstanceEndpointsPtrOutput { + return o.ToDremioInstanceEndpointsPtrOutputWithContext(context.Background()) } -func (o LoadbalancerListenerTcpOutput) ToLoadbalancerListenerTcpPtrOutputWithContext(ctx context.Context) LoadbalancerListenerTcpPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadbalancerListenerTcp) *LoadbalancerListenerTcp { +func (o DremioInstanceEndpointsOutput) ToDremioInstanceEndpointsPtrOutputWithContext(ctx context.Context) DremioInstanceEndpointsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DremioInstanceEndpoints) *DremioInstanceEndpoints { return &v - }).(LoadbalancerListenerTcpPtrOutput) + }).(DremioInstanceEndpointsPtrOutput) } -// Time after which an idle connection is closed. The default value is set to 300 seconds, and the maximum value is 3600 seconds. The format is a duration and the unit must be seconds. Example: 30s -func (o LoadbalancerListenerTcpOutput) IdleTimeout() pulumi.StringPtrOutput { - return o.ApplyT(func(v LoadbalancerListenerTcp) *string { return v.IdleTimeout }).(pulumi.StringPtrOutput) +// The arrow flight endpoint of the Dremio instance. +func (o DremioInstanceEndpointsOutput) ArrowFlight() pulumi.StringPtrOutput { + return o.ApplyT(func(v DremioInstanceEndpoints) *string { return v.ArrowFlight }).(pulumi.StringPtrOutput) } -type LoadbalancerListenerTcpPtrOutput struct{ *pulumi.OutputState } +// The Apache Iceberg endpoint of the Dremio instance. +func (o DremioInstanceEndpointsOutput) Catalog() pulumi.StringPtrOutput { + return o.ApplyT(func(v DremioInstanceEndpoints) *string { return v.Catalog }).(pulumi.StringPtrOutput) +} -func (LoadbalancerListenerTcpPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LoadbalancerListenerTcp)(nil)).Elem() +// The UI endpoint of the Dremio instance. +func (o DremioInstanceEndpointsOutput) Ui() pulumi.StringPtrOutput { + return o.ApplyT(func(v DremioInstanceEndpoints) *string { return v.Ui }).(pulumi.StringPtrOutput) } -func (o LoadbalancerListenerTcpPtrOutput) ToLoadbalancerListenerTcpPtrOutput() LoadbalancerListenerTcpPtrOutput { +type DremioInstanceEndpointsPtrOutput struct{ *pulumi.OutputState } + +func (DremioInstanceEndpointsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DremioInstanceEndpoints)(nil)).Elem() +} + +func (o DremioInstanceEndpointsPtrOutput) ToDremioInstanceEndpointsPtrOutput() DremioInstanceEndpointsPtrOutput { return o } -func (o LoadbalancerListenerTcpPtrOutput) ToLoadbalancerListenerTcpPtrOutputWithContext(ctx context.Context) LoadbalancerListenerTcpPtrOutput { +func (o DremioInstanceEndpointsPtrOutput) ToDremioInstanceEndpointsPtrOutputWithContext(ctx context.Context) DremioInstanceEndpointsPtrOutput { return o } -func (o LoadbalancerListenerTcpPtrOutput) Elem() LoadbalancerListenerTcpOutput { - return o.ApplyT(func(v *LoadbalancerListenerTcp) LoadbalancerListenerTcp { +func (o DremioInstanceEndpointsPtrOutput) Elem() DremioInstanceEndpointsOutput { + return o.ApplyT(func(v *DremioInstanceEndpoints) DremioInstanceEndpoints { if v != nil { return *v } - var ret LoadbalancerListenerTcp + var ret DremioInstanceEndpoints return ret - }).(LoadbalancerListenerTcpOutput) + }).(DremioInstanceEndpointsOutput) } -// Time after which an idle connection is closed. The default value is set to 300 seconds, and the maximum value is 3600 seconds. The format is a duration and the unit must be seconds. Example: 30s -func (o LoadbalancerListenerTcpPtrOutput) IdleTimeout() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LoadbalancerListenerTcp) *string { +// The arrow flight endpoint of the Dremio instance. +func (o DremioInstanceEndpointsPtrOutput) ArrowFlight() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioInstanceEndpoints) *string { if v == nil { return nil } - return v.IdleTimeout + return v.ArrowFlight }).(pulumi.StringPtrOutput) } -type LoadbalancerListenerUdp struct { - // Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. The format is a duration and the unit must be seconds. Example: 30s - IdleTimeout *string `pulumi:"idleTimeout"` +// The Apache Iceberg endpoint of the Dremio instance. +func (o DremioInstanceEndpointsPtrOutput) Catalog() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioInstanceEndpoints) *string { + if v == nil { + return nil + } + return v.Catalog + }).(pulumi.StringPtrOutput) } -// LoadbalancerListenerUdpInput is an input type that accepts LoadbalancerListenerUdpArgs and LoadbalancerListenerUdpOutput values. -// You can construct a concrete instance of `LoadbalancerListenerUdpInput` via: +// The UI endpoint of the Dremio instance. +func (o DremioInstanceEndpointsPtrOutput) Ui() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioInstanceEndpoints) *string { + if v == nil { + return nil + } + return v.Ui + }).(pulumi.StringPtrOutput) +} + +type DremioInstanceTimeouts 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). + Create *string `pulumi:"create"` + // 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete *string `pulumi:"delete"` + // 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 operations occur during any refresh or planning operation when refresh is enabled. + Read *string `pulumi:"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). + Update *string `pulumi:"update"` +} + +// DremioInstanceTimeoutsInput is an input type that accepts DremioInstanceTimeoutsArgs and DremioInstanceTimeoutsOutput values. +// You can construct a concrete instance of `DremioInstanceTimeoutsInput` via: // -// LoadbalancerListenerUdpArgs{...} -type LoadbalancerListenerUdpInput interface { +// DremioInstanceTimeoutsArgs{...} +type DremioInstanceTimeoutsInput interface { pulumi.Input - ToLoadbalancerListenerUdpOutput() LoadbalancerListenerUdpOutput - ToLoadbalancerListenerUdpOutputWithContext(context.Context) LoadbalancerListenerUdpOutput + ToDremioInstanceTimeoutsOutput() DremioInstanceTimeoutsOutput + ToDremioInstanceTimeoutsOutputWithContext(context.Context) DremioInstanceTimeoutsOutput } -type LoadbalancerListenerUdpArgs struct { - // Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. The format is a duration and the unit must be seconds. Example: 30s - IdleTimeout pulumi.StringPtrInput `pulumi:"idleTimeout"` +type DremioInstanceTimeoutsArgs 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). + Create pulumi.StringPtrInput `pulumi:"create"` + // 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete pulumi.StringPtrInput `pulumi:"delete"` + // 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 operations occur during any refresh or planning operation when refresh is enabled. + Read pulumi.StringPtrInput `pulumi:"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). + Update pulumi.StringPtrInput `pulumi:"update"` } -func (LoadbalancerListenerUdpArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerListenerUdp)(nil)).Elem() +func (DremioInstanceTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DremioInstanceTimeouts)(nil)).Elem() } -func (i LoadbalancerListenerUdpArgs) ToLoadbalancerListenerUdpOutput() LoadbalancerListenerUdpOutput { - return i.ToLoadbalancerListenerUdpOutputWithContext(context.Background()) +func (i DremioInstanceTimeoutsArgs) ToDremioInstanceTimeoutsOutput() DremioInstanceTimeoutsOutput { + return i.ToDremioInstanceTimeoutsOutputWithContext(context.Background()) } -func (i LoadbalancerListenerUdpArgs) ToLoadbalancerListenerUdpOutputWithContext(ctx context.Context) LoadbalancerListenerUdpOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerListenerUdpOutput) +func (i DremioInstanceTimeoutsArgs) ToDremioInstanceTimeoutsOutputWithContext(ctx context.Context) DremioInstanceTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceTimeoutsOutput) } -func (i LoadbalancerListenerUdpArgs) ToLoadbalancerListenerUdpPtrOutput() LoadbalancerListenerUdpPtrOutput { - return i.ToLoadbalancerListenerUdpPtrOutputWithContext(context.Background()) +func (i DremioInstanceTimeoutsArgs) ToDremioInstanceTimeoutsPtrOutput() DremioInstanceTimeoutsPtrOutput { + return i.ToDremioInstanceTimeoutsPtrOutputWithContext(context.Background()) } -func (i LoadbalancerListenerUdpArgs) ToLoadbalancerListenerUdpPtrOutputWithContext(ctx context.Context) LoadbalancerListenerUdpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerListenerUdpOutput).ToLoadbalancerListenerUdpPtrOutputWithContext(ctx) +func (i DremioInstanceTimeoutsArgs) ToDremioInstanceTimeoutsPtrOutputWithContext(ctx context.Context) DremioInstanceTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceTimeoutsOutput).ToDremioInstanceTimeoutsPtrOutputWithContext(ctx) } -// LoadbalancerListenerUdpPtrInput is an input type that accepts LoadbalancerListenerUdpArgs, LoadbalancerListenerUdpPtr and LoadbalancerListenerUdpPtrOutput values. -// You can construct a concrete instance of `LoadbalancerListenerUdpPtrInput` via: +// DremioInstanceTimeoutsPtrInput is an input type that accepts DremioInstanceTimeoutsArgs, DremioInstanceTimeoutsPtr and DremioInstanceTimeoutsPtrOutput values. +// You can construct a concrete instance of `DremioInstanceTimeoutsPtrInput` via: // -// LoadbalancerListenerUdpArgs{...} +// DremioInstanceTimeoutsArgs{...} // // or: // // nil -type LoadbalancerListenerUdpPtrInput interface { +type DremioInstanceTimeoutsPtrInput interface { pulumi.Input - ToLoadbalancerListenerUdpPtrOutput() LoadbalancerListenerUdpPtrOutput - ToLoadbalancerListenerUdpPtrOutputWithContext(context.Context) LoadbalancerListenerUdpPtrOutput + ToDremioInstanceTimeoutsPtrOutput() DremioInstanceTimeoutsPtrOutput + ToDremioInstanceTimeoutsPtrOutputWithContext(context.Context) DremioInstanceTimeoutsPtrOutput } -type loadbalancerListenerUdpPtrType LoadbalancerListenerUdpArgs +type dremioInstanceTimeoutsPtrType DremioInstanceTimeoutsArgs -func LoadbalancerListenerUdpPtr(v *LoadbalancerListenerUdpArgs) LoadbalancerListenerUdpPtrInput { - return (*loadbalancerListenerUdpPtrType)(v) +func DremioInstanceTimeoutsPtr(v *DremioInstanceTimeoutsArgs) DremioInstanceTimeoutsPtrInput { + return (*dremioInstanceTimeoutsPtrType)(v) } -func (*loadbalancerListenerUdpPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LoadbalancerListenerUdp)(nil)).Elem() +func (*dremioInstanceTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DremioInstanceTimeouts)(nil)).Elem() } -func (i *loadbalancerListenerUdpPtrType) ToLoadbalancerListenerUdpPtrOutput() LoadbalancerListenerUdpPtrOutput { - return i.ToLoadbalancerListenerUdpPtrOutputWithContext(context.Background()) +func (i *dremioInstanceTimeoutsPtrType) ToDremioInstanceTimeoutsPtrOutput() DremioInstanceTimeoutsPtrOutput { + return i.ToDremioInstanceTimeoutsPtrOutputWithContext(context.Background()) } -func (i *loadbalancerListenerUdpPtrType) ToLoadbalancerListenerUdpPtrOutputWithContext(ctx context.Context) LoadbalancerListenerUdpPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerListenerUdpPtrOutput) +func (i *dremioInstanceTimeoutsPtrType) ToDremioInstanceTimeoutsPtrOutputWithContext(ctx context.Context) DremioInstanceTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioInstanceTimeoutsPtrOutput) } -type LoadbalancerListenerUdpOutput struct{ *pulumi.OutputState } +type DremioInstanceTimeoutsOutput struct{ *pulumi.OutputState } -func (LoadbalancerListenerUdpOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerListenerUdp)(nil)).Elem() +func (DremioInstanceTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DremioInstanceTimeouts)(nil)).Elem() } -func (o LoadbalancerListenerUdpOutput) ToLoadbalancerListenerUdpOutput() LoadbalancerListenerUdpOutput { +func (o DremioInstanceTimeoutsOutput) ToDremioInstanceTimeoutsOutput() DremioInstanceTimeoutsOutput { return o } -func (o LoadbalancerListenerUdpOutput) ToLoadbalancerListenerUdpOutputWithContext(ctx context.Context) LoadbalancerListenerUdpOutput { +func (o DremioInstanceTimeoutsOutput) ToDremioInstanceTimeoutsOutputWithContext(ctx context.Context) DremioInstanceTimeoutsOutput { return o } -func (o LoadbalancerListenerUdpOutput) ToLoadbalancerListenerUdpPtrOutput() LoadbalancerListenerUdpPtrOutput { - return o.ToLoadbalancerListenerUdpPtrOutputWithContext(context.Background()) +func (o DremioInstanceTimeoutsOutput) ToDremioInstanceTimeoutsPtrOutput() DremioInstanceTimeoutsPtrOutput { + return o.ToDremioInstanceTimeoutsPtrOutputWithContext(context.Background()) } -func (o LoadbalancerListenerUdpOutput) ToLoadbalancerListenerUdpPtrOutputWithContext(ctx context.Context) LoadbalancerListenerUdpPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadbalancerListenerUdp) *LoadbalancerListenerUdp { +func (o DremioInstanceTimeoutsOutput) ToDremioInstanceTimeoutsPtrOutputWithContext(ctx context.Context) DremioInstanceTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DremioInstanceTimeouts) *DremioInstanceTimeouts { return &v - }).(LoadbalancerListenerUdpPtrOutput) + }).(DremioInstanceTimeoutsPtrOutput) } -// Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. The format is a duration and the unit must be seconds. Example: 30s -func (o LoadbalancerListenerUdpOutput) IdleTimeout() pulumi.StringPtrOutput { - return o.ApplyT(func(v LoadbalancerListenerUdp) *string { return v.IdleTimeout }).(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 DremioInstanceTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v DremioInstanceTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) } -type LoadbalancerListenerUdpPtrOutput struct{ *pulumi.OutputState } +// 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o DremioInstanceTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v DremioInstanceTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) +} -func (LoadbalancerListenerUdpPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LoadbalancerListenerUdp)(nil)).Elem() +// 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 operations occur during any refresh or planning operation when refresh is enabled. +func (o DremioInstanceTimeoutsOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v DremioInstanceTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) } -func (o LoadbalancerListenerUdpPtrOutput) ToLoadbalancerListenerUdpPtrOutput() LoadbalancerListenerUdpPtrOutput { +// 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 DremioInstanceTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v DremioInstanceTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +} + +type DremioInstanceTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (DremioInstanceTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DremioInstanceTimeouts)(nil)).Elem() +} + +func (o DremioInstanceTimeoutsPtrOutput) ToDremioInstanceTimeoutsPtrOutput() DremioInstanceTimeoutsPtrOutput { return o } -func (o LoadbalancerListenerUdpPtrOutput) ToLoadbalancerListenerUdpPtrOutputWithContext(ctx context.Context) LoadbalancerListenerUdpPtrOutput { +func (o DremioInstanceTimeoutsPtrOutput) ToDremioInstanceTimeoutsPtrOutputWithContext(ctx context.Context) DremioInstanceTimeoutsPtrOutput { return o } -func (o LoadbalancerListenerUdpPtrOutput) Elem() LoadbalancerListenerUdpOutput { - return o.ApplyT(func(v *LoadbalancerListenerUdp) LoadbalancerListenerUdp { +func (o DremioInstanceTimeoutsPtrOutput) Elem() DremioInstanceTimeoutsOutput { + return o.ApplyT(func(v *DremioInstanceTimeouts) DremioInstanceTimeouts { if v != nil { return *v } - var ret LoadbalancerListenerUdp + var ret DremioInstanceTimeouts return ret - }).(LoadbalancerListenerUdpOutput) + }).(DremioInstanceTimeoutsOutput) } -// Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. The format is a duration and the unit must be seconds. Example: 30s -func (o LoadbalancerListenerUdpPtrOutput) IdleTimeout() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LoadbalancerListenerUdp) *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 DremioInstanceTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioInstanceTimeouts) *string { if v == nil { return nil } - return v.IdleTimeout + return v.Create }).(pulumi.StringPtrOutput) } -type LoadbalancerNetwork struct { - // Openstack network ID. - NetworkId string `pulumi:"networkId"` - // The role defines how the load balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. - Role string `pulumi:"role"` +// 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o DremioInstanceTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioInstanceTimeouts) *string { + if v == nil { + return nil + } + return v.Delete + }).(pulumi.StringPtrOutput) } -// LoadbalancerNetworkInput is an input type that accepts LoadbalancerNetworkArgs and LoadbalancerNetworkOutput values. -// You can construct a concrete instance of `LoadbalancerNetworkInput` via: -// -// LoadbalancerNetworkArgs{...} -type LoadbalancerNetworkInput interface { - pulumi.Input - - ToLoadbalancerNetworkOutput() LoadbalancerNetworkOutput - ToLoadbalancerNetworkOutputWithContext(context.Context) LoadbalancerNetworkOutput +// 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 operations occur during any refresh or planning operation when refresh is enabled. +func (o DremioInstanceTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioInstanceTimeouts) *string { + if v == nil { + return nil + } + return v.Read + }).(pulumi.StringPtrOutput) } -type LoadbalancerNetworkArgs struct { - // Openstack network ID. - NetworkId pulumi.StringInput `pulumi:"networkId"` - // The role defines how the 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 (LoadbalancerNetworkArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerNetwork)(nil)).Elem() -} - -func (i LoadbalancerNetworkArgs) ToLoadbalancerNetworkOutput() LoadbalancerNetworkOutput { - return i.ToLoadbalancerNetworkOutputWithContext(context.Background()) -} - -func (i LoadbalancerNetworkArgs) ToLoadbalancerNetworkOutputWithContext(ctx context.Context) LoadbalancerNetworkOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerNetworkOutput) -} - -// LoadbalancerNetworkArrayInput is an input type that accepts LoadbalancerNetworkArray and LoadbalancerNetworkArrayOutput values. -// You can construct a concrete instance of `LoadbalancerNetworkArrayInput` via: -// -// LoadbalancerNetworkArray{ LoadbalancerNetworkArgs{...} } -type LoadbalancerNetworkArrayInput interface { - pulumi.Input - - ToLoadbalancerNetworkArrayOutput() LoadbalancerNetworkArrayOutput - ToLoadbalancerNetworkArrayOutputWithContext(context.Context) LoadbalancerNetworkArrayOutput -} - -type LoadbalancerNetworkArray []LoadbalancerNetworkInput - -func (LoadbalancerNetworkArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]LoadbalancerNetwork)(nil)).Elem() -} - -func (i LoadbalancerNetworkArray) ToLoadbalancerNetworkArrayOutput() LoadbalancerNetworkArrayOutput { - return i.ToLoadbalancerNetworkArrayOutputWithContext(context.Background()) -} - -func (i LoadbalancerNetworkArray) ToLoadbalancerNetworkArrayOutputWithContext(ctx context.Context) LoadbalancerNetworkArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerNetworkArrayOutput) -} - -type LoadbalancerNetworkOutput struct{ *pulumi.OutputState } - -func (LoadbalancerNetworkOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerNetwork)(nil)).Elem() -} - -func (o LoadbalancerNetworkOutput) ToLoadbalancerNetworkOutput() LoadbalancerNetworkOutput { - return o -} - -func (o LoadbalancerNetworkOutput) ToLoadbalancerNetworkOutputWithContext(ctx context.Context) LoadbalancerNetworkOutput { - return o -} - -// Openstack network ID. -func (o LoadbalancerNetworkOutput) NetworkId() pulumi.StringOutput { - return o.ApplyT(func(v LoadbalancerNetwork) string { return v.NetworkId }).(pulumi.StringOutput) -} - -// The role defines how the load balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. -func (o LoadbalancerNetworkOutput) Role() pulumi.StringOutput { - return o.ApplyT(func(v LoadbalancerNetwork) string { return v.Role }).(pulumi.StringOutput) -} - -type LoadbalancerNetworkArrayOutput struct{ *pulumi.OutputState } - -func (LoadbalancerNetworkArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]LoadbalancerNetwork)(nil)).Elem() -} - -func (o LoadbalancerNetworkArrayOutput) ToLoadbalancerNetworkArrayOutput() LoadbalancerNetworkArrayOutput { - return o -} - -func (o LoadbalancerNetworkArrayOutput) ToLoadbalancerNetworkArrayOutputWithContext(ctx context.Context) LoadbalancerNetworkArrayOutput { - return o -} - -func (o LoadbalancerNetworkArrayOutput) Index(i pulumi.IntInput) LoadbalancerNetworkOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) LoadbalancerNetwork { - return vs[0].([]LoadbalancerNetwork)[vs[1].(int)] - }).(LoadbalancerNetworkOutput) +// 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 DremioInstanceTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioInstanceTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) } -type LoadbalancerOptions 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. Not changeable after creation. - Observability *LoadbalancerOptionsObservability `pulumi:"observability"` - // If true, Load Balancer is accessible only via a private network IP address. - PrivateNetworkOnly *bool `pulumi:"privateNetworkOnly"` +type DremioUserTimeouts 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). + Create *string `pulumi:"create"` + // 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete *string `pulumi:"delete"` + // 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 operations occur during any refresh or planning operation when refresh is enabled. + Read *string `pulumi:"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). + Update *string `pulumi:"update"` } -// LoadbalancerOptionsInput is an input type that accepts LoadbalancerOptionsArgs and LoadbalancerOptionsOutput values. -// You can construct a concrete instance of `LoadbalancerOptionsInput` via: +// DremioUserTimeoutsInput is an input type that accepts DremioUserTimeoutsArgs and DremioUserTimeoutsOutput values. +// You can construct a concrete instance of `DremioUserTimeoutsInput` via: // -// LoadbalancerOptionsArgs{...} -type LoadbalancerOptionsInput interface { +// DremioUserTimeoutsArgs{...} +type DremioUserTimeoutsInput interface { pulumi.Input - ToLoadbalancerOptionsOutput() LoadbalancerOptionsOutput - ToLoadbalancerOptionsOutputWithContext(context.Context) LoadbalancerOptionsOutput + ToDremioUserTimeoutsOutput() DremioUserTimeoutsOutput + ToDremioUserTimeoutsOutputWithContext(context.Context) DremioUserTimeoutsOutput } -type LoadbalancerOptionsArgs 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. Not changeable after creation. - Observability LoadbalancerOptionsObservabilityPtrInput `pulumi:"observability"` - // If true, Load Balancer is accessible only via a private network IP address. - PrivateNetworkOnly pulumi.BoolPtrInput `pulumi:"privateNetworkOnly"` +type DremioUserTimeoutsArgs 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). + Create pulumi.StringPtrInput `pulumi:"create"` + // 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + Delete pulumi.StringPtrInput `pulumi:"delete"` + // 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 operations occur during any refresh or planning operation when refresh is enabled. + Read pulumi.StringPtrInput `pulumi:"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). + Update pulumi.StringPtrInput `pulumi:"update"` } -func (LoadbalancerOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerOptions)(nil)).Elem() +func (DremioUserTimeoutsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*DremioUserTimeouts)(nil)).Elem() } -func (i LoadbalancerOptionsArgs) ToLoadbalancerOptionsOutput() LoadbalancerOptionsOutput { - return i.ToLoadbalancerOptionsOutputWithContext(context.Background()) +func (i DremioUserTimeoutsArgs) ToDremioUserTimeoutsOutput() DremioUserTimeoutsOutput { + return i.ToDremioUserTimeoutsOutputWithContext(context.Background()) } -func (i LoadbalancerOptionsArgs) ToLoadbalancerOptionsOutputWithContext(ctx context.Context) LoadbalancerOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsOutput) +func (i DremioUserTimeoutsArgs) ToDremioUserTimeoutsOutputWithContext(ctx context.Context) DremioUserTimeoutsOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioUserTimeoutsOutput) } -func (i LoadbalancerOptionsArgs) ToLoadbalancerOptionsPtrOutput() LoadbalancerOptionsPtrOutput { - return i.ToLoadbalancerOptionsPtrOutputWithContext(context.Background()) +func (i DremioUserTimeoutsArgs) ToDremioUserTimeoutsPtrOutput() DremioUserTimeoutsPtrOutput { + return i.ToDremioUserTimeoutsPtrOutputWithContext(context.Background()) } -func (i LoadbalancerOptionsArgs) ToLoadbalancerOptionsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsOutput).ToLoadbalancerOptionsPtrOutputWithContext(ctx) +func (i DremioUserTimeoutsArgs) ToDremioUserTimeoutsPtrOutputWithContext(ctx context.Context) DremioUserTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioUserTimeoutsOutput).ToDremioUserTimeoutsPtrOutputWithContext(ctx) } -// LoadbalancerOptionsPtrInput is an input type that accepts LoadbalancerOptionsArgs, LoadbalancerOptionsPtr and LoadbalancerOptionsPtrOutput values. -// You can construct a concrete instance of `LoadbalancerOptionsPtrInput` via: +// DremioUserTimeoutsPtrInput is an input type that accepts DremioUserTimeoutsArgs, DremioUserTimeoutsPtr and DremioUserTimeoutsPtrOutput values. +// You can construct a concrete instance of `DremioUserTimeoutsPtrInput` via: // -// LoadbalancerOptionsArgs{...} +// DremioUserTimeoutsArgs{...} // // or: // // nil -type LoadbalancerOptionsPtrInput interface { +type DremioUserTimeoutsPtrInput interface { pulumi.Input - ToLoadbalancerOptionsPtrOutput() LoadbalancerOptionsPtrOutput - ToLoadbalancerOptionsPtrOutputWithContext(context.Context) LoadbalancerOptionsPtrOutput + ToDremioUserTimeoutsPtrOutput() DremioUserTimeoutsPtrOutput + ToDremioUserTimeoutsPtrOutputWithContext(context.Context) DremioUserTimeoutsPtrOutput } -type loadbalancerOptionsPtrType LoadbalancerOptionsArgs +type dremioUserTimeoutsPtrType DremioUserTimeoutsArgs -func LoadbalancerOptionsPtr(v *LoadbalancerOptionsArgs) LoadbalancerOptionsPtrInput { - return (*loadbalancerOptionsPtrType)(v) +func DremioUserTimeoutsPtr(v *DremioUserTimeoutsArgs) DremioUserTimeoutsPtrInput { + return (*dremioUserTimeoutsPtrType)(v) } -func (*loadbalancerOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LoadbalancerOptions)(nil)).Elem() +func (*dremioUserTimeoutsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**DremioUserTimeouts)(nil)).Elem() } -func (i *loadbalancerOptionsPtrType) ToLoadbalancerOptionsPtrOutput() LoadbalancerOptionsPtrOutput { - return i.ToLoadbalancerOptionsPtrOutputWithContext(context.Background()) +func (i *dremioUserTimeoutsPtrType) ToDremioUserTimeoutsPtrOutput() DremioUserTimeoutsPtrOutput { + return i.ToDremioUserTimeoutsPtrOutputWithContext(context.Background()) } -func (i *loadbalancerOptionsPtrType) ToLoadbalancerOptionsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsPtrOutput) +func (i *dremioUserTimeoutsPtrType) ToDremioUserTimeoutsPtrOutputWithContext(ctx context.Context) DremioUserTimeoutsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(DremioUserTimeoutsPtrOutput) } -type LoadbalancerOptionsOutput struct{ *pulumi.OutputState } +type DremioUserTimeoutsOutput struct{ *pulumi.OutputState } -func (LoadbalancerOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerOptions)(nil)).Elem() +func (DremioUserTimeoutsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*DremioUserTimeouts)(nil)).Elem() } -func (o LoadbalancerOptionsOutput) ToLoadbalancerOptionsOutput() LoadbalancerOptionsOutput { +func (o DremioUserTimeoutsOutput) ToDremioUserTimeoutsOutput() DremioUserTimeoutsOutput { return o } -func (o LoadbalancerOptionsOutput) ToLoadbalancerOptionsOutputWithContext(ctx context.Context) LoadbalancerOptionsOutput { +func (o DremioUserTimeoutsOutput) ToDremioUserTimeoutsOutputWithContext(ctx context.Context) DremioUserTimeoutsOutput { return o } -func (o LoadbalancerOptionsOutput) ToLoadbalancerOptionsPtrOutput() LoadbalancerOptionsPtrOutput { - return o.ToLoadbalancerOptionsPtrOutputWithContext(context.Background()) +func (o DremioUserTimeoutsOutput) ToDremioUserTimeoutsPtrOutput() DremioUserTimeoutsPtrOutput { + return o.ToDremioUserTimeoutsPtrOutputWithContext(context.Background()) } -func (o LoadbalancerOptionsOutput) ToLoadbalancerOptionsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadbalancerOptions) *LoadbalancerOptions { +func (o DremioUserTimeoutsOutput) ToDremioUserTimeoutsPtrOutputWithContext(ctx context.Context) DremioUserTimeoutsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v DremioUserTimeouts) *DremioUserTimeouts { return &v - }).(LoadbalancerOptionsPtrOutput) + }).(DremioUserTimeoutsPtrOutput) } -// Load Balancer is accessible only from an IP address in this range. -func (o LoadbalancerOptionsOutput) Acls() pulumi.StringArrayOutput { - return o.ApplyT(func(v LoadbalancerOptions) []string { return v.Acls }).(pulumi.StringArrayOutput) +// 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 DremioUserTimeoutsOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v DremioUserTimeouts) *string { return v.Create }).(pulumi.StringPtrOutput) } -// We offer Load Balancer metrics observability via ARGUS or external solutions. Not changeable after creation. -func (o LoadbalancerOptionsOutput) Observability() LoadbalancerOptionsObservabilityPtrOutput { - return o.ApplyT(func(v LoadbalancerOptions) *LoadbalancerOptionsObservability { return v.Observability }).(LoadbalancerOptionsObservabilityPtrOutput) +// 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o DremioUserTimeoutsOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v DremioUserTimeouts) *string { return v.Delete }).(pulumi.StringPtrOutput) } -// If true, Load Balancer is accessible only via a private network IP address. -func (o LoadbalancerOptionsOutput) PrivateNetworkOnly() pulumi.BoolPtrOutput { - return o.ApplyT(func(v LoadbalancerOptions) *bool { return v.PrivateNetworkOnly }).(pulumi.BoolPtrOutput) +// 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 operations occur during any refresh or planning operation when refresh is enabled. +func (o DremioUserTimeoutsOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v DremioUserTimeouts) *string { return v.Read }).(pulumi.StringPtrOutput) } -type LoadbalancerOptionsPtrOutput struct{ *pulumi.OutputState } +// 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 DremioUserTimeoutsOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v DremioUserTimeouts) *string { return v.Update }).(pulumi.StringPtrOutput) +} -func (LoadbalancerOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LoadbalancerOptions)(nil)).Elem() +type DremioUserTimeoutsPtrOutput struct{ *pulumi.OutputState } + +func (DremioUserTimeoutsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**DremioUserTimeouts)(nil)).Elem() } -func (o LoadbalancerOptionsPtrOutput) ToLoadbalancerOptionsPtrOutput() LoadbalancerOptionsPtrOutput { +func (o DremioUserTimeoutsPtrOutput) ToDremioUserTimeoutsPtrOutput() DremioUserTimeoutsPtrOutput { return o } -func (o LoadbalancerOptionsPtrOutput) ToLoadbalancerOptionsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsPtrOutput { +func (o DremioUserTimeoutsPtrOutput) ToDremioUserTimeoutsPtrOutputWithContext(ctx context.Context) DremioUserTimeoutsPtrOutput { return o } -func (o LoadbalancerOptionsPtrOutput) Elem() LoadbalancerOptionsOutput { - return o.ApplyT(func(v *LoadbalancerOptions) LoadbalancerOptions { +func (o DremioUserTimeoutsPtrOutput) Elem() DremioUserTimeoutsOutput { + return o.ApplyT(func(v *DremioUserTimeouts) DremioUserTimeouts { if v != nil { return *v } - var ret LoadbalancerOptions + var ret DremioUserTimeouts return ret - }).(LoadbalancerOptionsOutput) + }).(DremioUserTimeoutsOutput) } -// Load Balancer is accessible only from an IP address in this range. -func (o LoadbalancerOptionsPtrOutput) Acls() pulumi.StringArrayOutput { - return o.ApplyT(func(v *LoadbalancerOptions) []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 DremioUserTimeoutsPtrOutput) Create() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioUserTimeouts) *string { if v == nil { return nil } - return v.Acls - }).(pulumi.StringArrayOutput) + return v.Create + }).(pulumi.StringPtrOutput) } -// We offer Load Balancer metrics observability via ARGUS or external solutions. Not changeable after creation. -func (o LoadbalancerOptionsPtrOutput) Observability() LoadbalancerOptionsObservabilityPtrOutput { - return o.ApplyT(func(v *LoadbalancerOptions) *LoadbalancerOptionsObservability { +// 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. +func (o DremioUserTimeoutsPtrOutput) Delete() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioUserTimeouts) *string { if v == nil { return nil } - return v.Observability - }).(LoadbalancerOptionsObservabilityPtrOutput) + return v.Delete + }).(pulumi.StringPtrOutput) } -// If true, Load Balancer is accessible only via a private network IP address. -func (o LoadbalancerOptionsPtrOutput) PrivateNetworkOnly() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *LoadbalancerOptions) *bool { +// 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 operations occur during any refresh or planning operation when refresh is enabled. +func (o DremioUserTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioUserTimeouts) *string { if v == nil { return nil } - return v.PrivateNetworkOnly - }).(pulumi.BoolPtrOutput) + return v.Read + }).(pulumi.StringPtrOutput) } -type LoadbalancerOptionsObservability struct { - // Observability logs configuration. Not changeable after creation. - Logs *LoadbalancerOptionsObservabilityLogs `pulumi:"logs"` - // Observability metrics configuration. Not changeable after creation. - Metrics *LoadbalancerOptionsObservabilityMetrics `pulumi:"metrics"` +// 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 DremioUserTimeoutsPtrOutput) Update() pulumi.StringPtrOutput { + return o.ApplyT(func(v *DremioUserTimeouts) *string { + if v == nil { + return nil + } + return v.Update + }).(pulumi.StringPtrOutput) } -// LoadbalancerOptionsObservabilityInput is an input type that accepts LoadbalancerOptionsObservabilityArgs and LoadbalancerOptionsObservabilityOutput values. -// You can construct a concrete instance of `LoadbalancerOptionsObservabilityInput` via: +type ImageChecksum 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"` +} + +// ImageChecksumInput is an input type that accepts ImageChecksumArgs and ImageChecksumOutput values. +// You can construct a concrete instance of `ImageChecksumInput` via: // -// LoadbalancerOptionsObservabilityArgs{...} -type LoadbalancerOptionsObservabilityInput interface { +// ImageChecksumArgs{...} +type ImageChecksumInput interface { pulumi.Input - ToLoadbalancerOptionsObservabilityOutput() LoadbalancerOptionsObservabilityOutput - ToLoadbalancerOptionsObservabilityOutputWithContext(context.Context) LoadbalancerOptionsObservabilityOutput + ToImageChecksumOutput() ImageChecksumOutput + ToImageChecksumOutputWithContext(context.Context) ImageChecksumOutput } -type LoadbalancerOptionsObservabilityArgs struct { - // Observability logs configuration. Not changeable after creation. - Logs LoadbalancerOptionsObservabilityLogsPtrInput `pulumi:"logs"` - // Observability metrics configuration. Not changeable after creation. - Metrics LoadbalancerOptionsObservabilityMetricsPtrInput `pulumi:"metrics"` +type ImageChecksumArgs struct { + // Algorithm for the checksum of the image data. + Algorithm pulumi.StringPtrInput `pulumi:"algorithm"` + // Hexdigest of the checksum of the image data. + Digest pulumi.StringPtrInput `pulumi:"digest"` } -func (LoadbalancerOptionsObservabilityArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerOptionsObservability)(nil)).Elem() +func (ImageChecksumArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ImageChecksum)(nil)).Elem() } -func (i LoadbalancerOptionsObservabilityArgs) ToLoadbalancerOptionsObservabilityOutput() LoadbalancerOptionsObservabilityOutput { - return i.ToLoadbalancerOptionsObservabilityOutputWithContext(context.Background()) +func (i ImageChecksumArgs) ToImageChecksumOutput() ImageChecksumOutput { + return i.ToImageChecksumOutputWithContext(context.Background()) } -func (i LoadbalancerOptionsObservabilityArgs) ToLoadbalancerOptionsObservabilityOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsObservabilityOutput) +func (i ImageChecksumArgs) ToImageChecksumOutputWithContext(ctx context.Context) ImageChecksumOutput { + return pulumi.ToOutputWithContext(ctx, i).(ImageChecksumOutput) } -func (i LoadbalancerOptionsObservabilityArgs) ToLoadbalancerOptionsObservabilityPtrOutput() LoadbalancerOptionsObservabilityPtrOutput { - return i.ToLoadbalancerOptionsObservabilityPtrOutputWithContext(context.Background()) +func (i ImageChecksumArgs) ToImageChecksumPtrOutput() ImageChecksumPtrOutput { + return i.ToImageChecksumPtrOutputWithContext(context.Background()) } -func (i LoadbalancerOptionsObservabilityArgs) ToLoadbalancerOptionsObservabilityPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsObservabilityOutput).ToLoadbalancerOptionsObservabilityPtrOutputWithContext(ctx) +func (i ImageChecksumArgs) ToImageChecksumPtrOutputWithContext(ctx context.Context) ImageChecksumPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ImageChecksumOutput).ToImageChecksumPtrOutputWithContext(ctx) } -// LoadbalancerOptionsObservabilityPtrInput is an input type that accepts LoadbalancerOptionsObservabilityArgs, LoadbalancerOptionsObservabilityPtr and LoadbalancerOptionsObservabilityPtrOutput values. -// You can construct a concrete instance of `LoadbalancerOptionsObservabilityPtrInput` via: +// ImageChecksumPtrInput is an input type that accepts ImageChecksumArgs, ImageChecksumPtr and ImageChecksumPtrOutput values. +// You can construct a concrete instance of `ImageChecksumPtrInput` via: // -// LoadbalancerOptionsObservabilityArgs{...} +// ImageChecksumArgs{...} // // or: // // nil -type LoadbalancerOptionsObservabilityPtrInput interface { +type ImageChecksumPtrInput interface { pulumi.Input - ToLoadbalancerOptionsObservabilityPtrOutput() LoadbalancerOptionsObservabilityPtrOutput - ToLoadbalancerOptionsObservabilityPtrOutputWithContext(context.Context) LoadbalancerOptionsObservabilityPtrOutput + ToImageChecksumPtrOutput() ImageChecksumPtrOutput + ToImageChecksumPtrOutputWithContext(context.Context) ImageChecksumPtrOutput } -type loadbalancerOptionsObservabilityPtrType LoadbalancerOptionsObservabilityArgs +type imageChecksumPtrType ImageChecksumArgs -func LoadbalancerOptionsObservabilityPtr(v *LoadbalancerOptionsObservabilityArgs) LoadbalancerOptionsObservabilityPtrInput { - return (*loadbalancerOptionsObservabilityPtrType)(v) +func ImageChecksumPtr(v *ImageChecksumArgs) ImageChecksumPtrInput { + return (*imageChecksumPtrType)(v) } -func (*loadbalancerOptionsObservabilityPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LoadbalancerOptionsObservability)(nil)).Elem() +func (*imageChecksumPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ImageChecksum)(nil)).Elem() } -func (i *loadbalancerOptionsObservabilityPtrType) ToLoadbalancerOptionsObservabilityPtrOutput() LoadbalancerOptionsObservabilityPtrOutput { - return i.ToLoadbalancerOptionsObservabilityPtrOutputWithContext(context.Background()) +func (i *imageChecksumPtrType) ToImageChecksumPtrOutput() ImageChecksumPtrOutput { + return i.ToImageChecksumPtrOutputWithContext(context.Background()) } -func (i *loadbalancerOptionsObservabilityPtrType) ToLoadbalancerOptionsObservabilityPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsObservabilityPtrOutput) +func (i *imageChecksumPtrType) ToImageChecksumPtrOutputWithContext(ctx context.Context) ImageChecksumPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ImageChecksumPtrOutput) } -type LoadbalancerOptionsObservabilityOutput struct{ *pulumi.OutputState } +type ImageChecksumOutput struct{ *pulumi.OutputState } -func (LoadbalancerOptionsObservabilityOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerOptionsObservability)(nil)).Elem() +func (ImageChecksumOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ImageChecksum)(nil)).Elem() } -func (o LoadbalancerOptionsObservabilityOutput) ToLoadbalancerOptionsObservabilityOutput() LoadbalancerOptionsObservabilityOutput { +func (o ImageChecksumOutput) ToImageChecksumOutput() ImageChecksumOutput { return o } -func (o LoadbalancerOptionsObservabilityOutput) ToLoadbalancerOptionsObservabilityOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityOutput { +func (o ImageChecksumOutput) ToImageChecksumOutputWithContext(ctx context.Context) ImageChecksumOutput { return o } -func (o LoadbalancerOptionsObservabilityOutput) ToLoadbalancerOptionsObservabilityPtrOutput() LoadbalancerOptionsObservabilityPtrOutput { - return o.ToLoadbalancerOptionsObservabilityPtrOutputWithContext(context.Background()) +func (o ImageChecksumOutput) ToImageChecksumPtrOutput() ImageChecksumPtrOutput { + return o.ToImageChecksumPtrOutputWithContext(context.Background()) } -func (o LoadbalancerOptionsObservabilityOutput) ToLoadbalancerOptionsObservabilityPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadbalancerOptionsObservability) *LoadbalancerOptionsObservability { +func (o ImageChecksumOutput) ToImageChecksumPtrOutputWithContext(ctx context.Context) ImageChecksumPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ImageChecksum) *ImageChecksum { return &v - }).(LoadbalancerOptionsObservabilityPtrOutput) + }).(ImageChecksumPtrOutput) } -// Observability logs configuration. Not changeable after creation. -func (o LoadbalancerOptionsObservabilityOutput) Logs() LoadbalancerOptionsObservabilityLogsPtrOutput { - return o.ApplyT(func(v LoadbalancerOptionsObservability) *LoadbalancerOptionsObservabilityLogs { return v.Logs }).(LoadbalancerOptionsObservabilityLogsPtrOutput) +// Algorithm for the checksum of the image data. +func (o ImageChecksumOutput) Algorithm() pulumi.StringPtrOutput { + return o.ApplyT(func(v ImageChecksum) *string { return v.Algorithm }).(pulumi.StringPtrOutput) } -// Observability metrics configuration. Not changeable after creation. -func (o LoadbalancerOptionsObservabilityOutput) Metrics() LoadbalancerOptionsObservabilityMetricsPtrOutput { - return o.ApplyT(func(v LoadbalancerOptionsObservability) *LoadbalancerOptionsObservabilityMetrics { return v.Metrics }).(LoadbalancerOptionsObservabilityMetricsPtrOutput) +// Hexdigest of the checksum of the image data. +func (o ImageChecksumOutput) Digest() pulumi.StringPtrOutput { + return o.ApplyT(func(v ImageChecksum) *string { return v.Digest }).(pulumi.StringPtrOutput) } -type LoadbalancerOptionsObservabilityPtrOutput struct{ *pulumi.OutputState } +type ImageChecksumPtrOutput struct{ *pulumi.OutputState } -func (LoadbalancerOptionsObservabilityPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LoadbalancerOptionsObservability)(nil)).Elem() +func (ImageChecksumPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ImageChecksum)(nil)).Elem() } -func (o LoadbalancerOptionsObservabilityPtrOutput) ToLoadbalancerOptionsObservabilityPtrOutput() LoadbalancerOptionsObservabilityPtrOutput { +func (o ImageChecksumPtrOutput) ToImageChecksumPtrOutput() ImageChecksumPtrOutput { return o } -func (o LoadbalancerOptionsObservabilityPtrOutput) ToLoadbalancerOptionsObservabilityPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityPtrOutput { +func (o ImageChecksumPtrOutput) ToImageChecksumPtrOutputWithContext(ctx context.Context) ImageChecksumPtrOutput { return o } -func (o LoadbalancerOptionsObservabilityPtrOutput) Elem() LoadbalancerOptionsObservabilityOutput { - return o.ApplyT(func(v *LoadbalancerOptionsObservability) LoadbalancerOptionsObservability { +func (o ImageChecksumPtrOutput) Elem() ImageChecksumOutput { + return o.ApplyT(func(v *ImageChecksum) ImageChecksum { if v != nil { return *v } - var ret LoadbalancerOptionsObservability + var ret ImageChecksum return ret - }).(LoadbalancerOptionsObservabilityOutput) + }).(ImageChecksumOutput) } -// Observability logs configuration. Not changeable after creation. -func (o LoadbalancerOptionsObservabilityPtrOutput) Logs() LoadbalancerOptionsObservabilityLogsPtrOutput { - return o.ApplyT(func(v *LoadbalancerOptionsObservability) *LoadbalancerOptionsObservabilityLogs { +// Algorithm for the checksum of the image data. +func (o ImageChecksumPtrOutput) Algorithm() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ImageChecksum) *string { if v == nil { return nil } - return v.Logs - }).(LoadbalancerOptionsObservabilityLogsPtrOutput) + return v.Algorithm + }).(pulumi.StringPtrOutput) } -// Observability metrics configuration. Not changeable after creation. -func (o LoadbalancerOptionsObservabilityPtrOutput) Metrics() LoadbalancerOptionsObservabilityMetricsPtrOutput { - return o.ApplyT(func(v *LoadbalancerOptionsObservability) *LoadbalancerOptionsObservabilityMetrics { +// Hexdigest of the checksum of the image data. +func (o ImageChecksumPtrOutput) Digest() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ImageChecksum) *string { if v == nil { return nil } - return v.Metrics - }).(LoadbalancerOptionsObservabilityMetricsPtrOutput) + return v.Digest + }).(pulumi.StringPtrOutput) } -type LoadbalancerOptionsObservabilityLogs struct { - // Credentials reference for logs. Not changeable after creation. - CredentialsRef *string `pulumi:"credentialsRef"` - // The ARGUS/Loki remote write Push URL to ship the logs to. Not changeable after creation. - PushUrl *string `pulumi:"pushUrl"` +type ImageConfig 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"` } -// LoadbalancerOptionsObservabilityLogsInput is an input type that accepts LoadbalancerOptionsObservabilityLogsArgs and LoadbalancerOptionsObservabilityLogsOutput values. -// You can construct a concrete instance of `LoadbalancerOptionsObservabilityLogsInput` via: +// ImageConfigInput is an input type that accepts ImageConfigArgs and ImageConfigOutput values. +// You can construct a concrete instance of `ImageConfigInput` via: // -// LoadbalancerOptionsObservabilityLogsArgs{...} -type LoadbalancerOptionsObservabilityLogsInput interface { +// ImageConfigArgs{...} +type ImageConfigInput interface { pulumi.Input - ToLoadbalancerOptionsObservabilityLogsOutput() LoadbalancerOptionsObservabilityLogsOutput - ToLoadbalancerOptionsObservabilityLogsOutputWithContext(context.Context) LoadbalancerOptionsObservabilityLogsOutput + ToImageConfigOutput() ImageConfigOutput + ToImageConfigOutputWithContext(context.Context) ImageConfigOutput } -type LoadbalancerOptionsObservabilityLogsArgs struct { - // Credentials reference for logs. Not changeable after creation. - CredentialsRef pulumi.StringPtrInput `pulumi:"credentialsRef"` - // The ARGUS/Loki remote write Push URL to ship the logs to. Not changeable after creation. - PushUrl pulumi.StringPtrInput `pulumi:"pushUrl"` +type ImageConfigArgs struct { + // Enables the BIOS bootmenu. + BootMenu pulumi.BoolPtrInput `pulumi:"bootMenu"` + // Sets CDROM bus controller type. + CdromBus pulumi.StringPtrInput `pulumi:"cdromBus"` + // Sets Disk bus controller type. + DiskBus pulumi.StringPtrInput `pulumi:"diskBus"` + // Sets virtual network interface model. + NicModel pulumi.StringPtrInput `pulumi:"nicModel"` + // Enables operating system specific optimizations. + OperatingSystem pulumi.StringPtrInput `pulumi:"operatingSystem"` + // Operating system distribution. + OperatingSystemDistro pulumi.StringPtrInput `pulumi:"operatingSystemDistro"` + // Version of the operating system. + OperatingSystemVersion pulumi.StringPtrInput `pulumi:"operatingSystemVersion"` + // Sets the device bus when the image is used as a rescue image. + RescueBus pulumi.StringPtrInput `pulumi:"rescueBus"` + // Sets the device when the image is used as a rescue image. + RescueDevice pulumi.StringPtrInput `pulumi:"rescueDevice"` + // Enables Secure Boot. + SecureBoot pulumi.BoolPtrInput `pulumi:"secureBoot"` + // Enables UEFI boot. + Uefi pulumi.BoolPtrInput `pulumi:"uefi"` + // Sets Graphic device model. + VideoModel pulumi.StringPtrInput `pulumi:"videoModel"` + // Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. + VirtioScsi pulumi.BoolPtrInput `pulumi:"virtioScsi"` } -func (LoadbalancerOptionsObservabilityLogsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerOptionsObservabilityLogs)(nil)).Elem() +func (ImageConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ImageConfig)(nil)).Elem() } -func (i LoadbalancerOptionsObservabilityLogsArgs) ToLoadbalancerOptionsObservabilityLogsOutput() LoadbalancerOptionsObservabilityLogsOutput { - return i.ToLoadbalancerOptionsObservabilityLogsOutputWithContext(context.Background()) +func (i ImageConfigArgs) ToImageConfigOutput() ImageConfigOutput { + return i.ToImageConfigOutputWithContext(context.Background()) } -func (i LoadbalancerOptionsObservabilityLogsArgs) ToLoadbalancerOptionsObservabilityLogsOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityLogsOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsObservabilityLogsOutput) +func (i ImageConfigArgs) ToImageConfigOutputWithContext(ctx context.Context) ImageConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ImageConfigOutput) } -func (i LoadbalancerOptionsObservabilityLogsArgs) ToLoadbalancerOptionsObservabilityLogsPtrOutput() LoadbalancerOptionsObservabilityLogsPtrOutput { - return i.ToLoadbalancerOptionsObservabilityLogsPtrOutputWithContext(context.Background()) +func (i ImageConfigArgs) ToImageConfigPtrOutput() ImageConfigPtrOutput { + return i.ToImageConfigPtrOutputWithContext(context.Background()) } -func (i LoadbalancerOptionsObservabilityLogsArgs) ToLoadbalancerOptionsObservabilityLogsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityLogsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsObservabilityLogsOutput).ToLoadbalancerOptionsObservabilityLogsPtrOutputWithContext(ctx) +func (i ImageConfigArgs) ToImageConfigPtrOutputWithContext(ctx context.Context) ImageConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ImageConfigOutput).ToImageConfigPtrOutputWithContext(ctx) } -// LoadbalancerOptionsObservabilityLogsPtrInput is an input type that accepts LoadbalancerOptionsObservabilityLogsArgs, LoadbalancerOptionsObservabilityLogsPtr and LoadbalancerOptionsObservabilityLogsPtrOutput values. -// You can construct a concrete instance of `LoadbalancerOptionsObservabilityLogsPtrInput` via: +// ImageConfigPtrInput is an input type that accepts ImageConfigArgs, ImageConfigPtr and ImageConfigPtrOutput values. +// You can construct a concrete instance of `ImageConfigPtrInput` via: // -// LoadbalancerOptionsObservabilityLogsArgs{...} +// ImageConfigArgs{...} // // or: // // nil -type LoadbalancerOptionsObservabilityLogsPtrInput interface { +type ImageConfigPtrInput interface { pulumi.Input - ToLoadbalancerOptionsObservabilityLogsPtrOutput() LoadbalancerOptionsObservabilityLogsPtrOutput - ToLoadbalancerOptionsObservabilityLogsPtrOutputWithContext(context.Context) LoadbalancerOptionsObservabilityLogsPtrOutput + ToImageConfigPtrOutput() ImageConfigPtrOutput + ToImageConfigPtrOutputWithContext(context.Context) ImageConfigPtrOutput } -type loadbalancerOptionsObservabilityLogsPtrType LoadbalancerOptionsObservabilityLogsArgs +type imageConfigPtrType ImageConfigArgs -func LoadbalancerOptionsObservabilityLogsPtr(v *LoadbalancerOptionsObservabilityLogsArgs) LoadbalancerOptionsObservabilityLogsPtrInput { - return (*loadbalancerOptionsObservabilityLogsPtrType)(v) +func ImageConfigPtr(v *ImageConfigArgs) ImageConfigPtrInput { + return (*imageConfigPtrType)(v) } -func (*loadbalancerOptionsObservabilityLogsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LoadbalancerOptionsObservabilityLogs)(nil)).Elem() +func (*imageConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ImageConfig)(nil)).Elem() } -func (i *loadbalancerOptionsObservabilityLogsPtrType) ToLoadbalancerOptionsObservabilityLogsPtrOutput() LoadbalancerOptionsObservabilityLogsPtrOutput { - return i.ToLoadbalancerOptionsObservabilityLogsPtrOutputWithContext(context.Background()) +func (i *imageConfigPtrType) ToImageConfigPtrOutput() ImageConfigPtrOutput { + return i.ToImageConfigPtrOutputWithContext(context.Background()) } -func (i *loadbalancerOptionsObservabilityLogsPtrType) ToLoadbalancerOptionsObservabilityLogsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityLogsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsObservabilityLogsPtrOutput) +func (i *imageConfigPtrType) ToImageConfigPtrOutputWithContext(ctx context.Context) ImageConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ImageConfigPtrOutput) } -type LoadbalancerOptionsObservabilityLogsOutput struct{ *pulumi.OutputState } +type ImageConfigOutput struct{ *pulumi.OutputState } -func (LoadbalancerOptionsObservabilityLogsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerOptionsObservabilityLogs)(nil)).Elem() +func (ImageConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ImageConfig)(nil)).Elem() } -func (o LoadbalancerOptionsObservabilityLogsOutput) ToLoadbalancerOptionsObservabilityLogsOutput() LoadbalancerOptionsObservabilityLogsOutput { +func (o ImageConfigOutput) ToImageConfigOutput() ImageConfigOutput { return o } -func (o LoadbalancerOptionsObservabilityLogsOutput) ToLoadbalancerOptionsObservabilityLogsOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityLogsOutput { +func (o ImageConfigOutput) ToImageConfigOutputWithContext(ctx context.Context) ImageConfigOutput { return o } -func (o LoadbalancerOptionsObservabilityLogsOutput) ToLoadbalancerOptionsObservabilityLogsPtrOutput() LoadbalancerOptionsObservabilityLogsPtrOutput { - return o.ToLoadbalancerOptionsObservabilityLogsPtrOutputWithContext(context.Background()) +func (o ImageConfigOutput) ToImageConfigPtrOutput() ImageConfigPtrOutput { + return o.ToImageConfigPtrOutputWithContext(context.Background()) } -func (o LoadbalancerOptionsObservabilityLogsOutput) ToLoadbalancerOptionsObservabilityLogsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityLogsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadbalancerOptionsObservabilityLogs) *LoadbalancerOptionsObservabilityLogs { +func (o ImageConfigOutput) ToImageConfigPtrOutputWithContext(ctx context.Context) ImageConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ImageConfig) *ImageConfig { return &v - }).(LoadbalancerOptionsObservabilityLogsPtrOutput) -} - -// Credentials reference for logs. Not changeable after creation. -func (o LoadbalancerOptionsObservabilityLogsOutput) CredentialsRef() pulumi.StringPtrOutput { - return o.ApplyT(func(v LoadbalancerOptionsObservabilityLogs) *string { return v.CredentialsRef }).(pulumi.StringPtrOutput) -} - -// The ARGUS/Loki remote write Push URL to ship the logs to. Not changeable after creation. -func (o LoadbalancerOptionsObservabilityLogsOutput) PushUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v LoadbalancerOptionsObservabilityLogs) *string { return v.PushUrl }).(pulumi.StringPtrOutput) -} - -type LoadbalancerOptionsObservabilityLogsPtrOutput struct{ *pulumi.OutputState } - -func (LoadbalancerOptionsObservabilityLogsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LoadbalancerOptionsObservabilityLogs)(nil)).Elem() -} - -func (o LoadbalancerOptionsObservabilityLogsPtrOutput) ToLoadbalancerOptionsObservabilityLogsPtrOutput() LoadbalancerOptionsObservabilityLogsPtrOutput { - return o -} - -func (o LoadbalancerOptionsObservabilityLogsPtrOutput) ToLoadbalancerOptionsObservabilityLogsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityLogsPtrOutput { - return o -} - -func (o LoadbalancerOptionsObservabilityLogsPtrOutput) Elem() LoadbalancerOptionsObservabilityLogsOutput { - return o.ApplyT(func(v *LoadbalancerOptionsObservabilityLogs) LoadbalancerOptionsObservabilityLogs { - if v != nil { - return *v - } - var ret LoadbalancerOptionsObservabilityLogs - return ret - }).(LoadbalancerOptionsObservabilityLogsOutput) -} - -// Credentials reference for logs. Not changeable after creation. -func (o LoadbalancerOptionsObservabilityLogsPtrOutput) CredentialsRef() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LoadbalancerOptionsObservabilityLogs) *string { - if v == nil { - return nil - } - return v.CredentialsRef - }).(pulumi.StringPtrOutput) -} - -// The ARGUS/Loki remote write Push URL to ship the logs to. Not changeable after creation. -func (o LoadbalancerOptionsObservabilityLogsPtrOutput) PushUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LoadbalancerOptionsObservabilityLogs) *string { - if v == nil { - return nil - } - return v.PushUrl - }).(pulumi.StringPtrOutput) + }).(ImageConfigPtrOutput) } -type LoadbalancerOptionsObservabilityMetrics struct { - // Credentials reference for metrics. Not changeable after creation. - CredentialsRef *string `pulumi:"credentialsRef"` - // The ARGUS/Prometheus remote write Push URL to ship the metrics to. Not changeable after creation. - PushUrl *string `pulumi:"pushUrl"` +// Enables the BIOS bootmenu. +func (o ImageConfigOutput) BootMenu() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ImageConfig) *bool { return v.BootMenu }).(pulumi.BoolPtrOutput) } -// LoadbalancerOptionsObservabilityMetricsInput is an input type that accepts LoadbalancerOptionsObservabilityMetricsArgs and LoadbalancerOptionsObservabilityMetricsOutput values. -// You can construct a concrete instance of `LoadbalancerOptionsObservabilityMetricsInput` via: -// -// LoadbalancerOptionsObservabilityMetricsArgs{...} -type LoadbalancerOptionsObservabilityMetricsInput interface { - pulumi.Input - - ToLoadbalancerOptionsObservabilityMetricsOutput() LoadbalancerOptionsObservabilityMetricsOutput - ToLoadbalancerOptionsObservabilityMetricsOutputWithContext(context.Context) LoadbalancerOptionsObservabilityMetricsOutput +// Sets CDROM bus controller type. +func (o ImageConfigOutput) CdromBus() pulumi.StringPtrOutput { + return o.ApplyT(func(v ImageConfig) *string { return v.CdromBus }).(pulumi.StringPtrOutput) } -type LoadbalancerOptionsObservabilityMetricsArgs struct { - // Credentials reference for metrics. Not changeable after creation. - CredentialsRef pulumi.StringPtrInput `pulumi:"credentialsRef"` - // The ARGUS/Prometheus remote write Push URL to ship the metrics to. Not changeable after creation. - PushUrl pulumi.StringPtrInput `pulumi:"pushUrl"` +// Sets Disk bus controller type. +func (o ImageConfigOutput) DiskBus() pulumi.StringPtrOutput { + return o.ApplyT(func(v ImageConfig) *string { return v.DiskBus }).(pulumi.StringPtrOutput) } -func (LoadbalancerOptionsObservabilityMetricsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerOptionsObservabilityMetrics)(nil)).Elem() +// Sets virtual network interface model. +func (o ImageConfigOutput) NicModel() pulumi.StringPtrOutput { + return o.ApplyT(func(v ImageConfig) *string { return v.NicModel }).(pulumi.StringPtrOutput) } -func (i LoadbalancerOptionsObservabilityMetricsArgs) ToLoadbalancerOptionsObservabilityMetricsOutput() LoadbalancerOptionsObservabilityMetricsOutput { - return i.ToLoadbalancerOptionsObservabilityMetricsOutputWithContext(context.Background()) +// Enables operating system specific optimizations. +func (o ImageConfigOutput) OperatingSystem() pulumi.StringPtrOutput { + return o.ApplyT(func(v ImageConfig) *string { return v.OperatingSystem }).(pulumi.StringPtrOutput) } -func (i LoadbalancerOptionsObservabilityMetricsArgs) ToLoadbalancerOptionsObservabilityMetricsOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityMetricsOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsObservabilityMetricsOutput) +// Operating system distribution. +func (o ImageConfigOutput) OperatingSystemDistro() pulumi.StringPtrOutput { + return o.ApplyT(func(v ImageConfig) *string { return v.OperatingSystemDistro }).(pulumi.StringPtrOutput) } -func (i LoadbalancerOptionsObservabilityMetricsArgs) ToLoadbalancerOptionsObservabilityMetricsPtrOutput() LoadbalancerOptionsObservabilityMetricsPtrOutput { - return i.ToLoadbalancerOptionsObservabilityMetricsPtrOutputWithContext(context.Background()) +// Version of the operating system. +func (o ImageConfigOutput) OperatingSystemVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v ImageConfig) *string { return v.OperatingSystemVersion }).(pulumi.StringPtrOutput) } -func (i LoadbalancerOptionsObservabilityMetricsArgs) ToLoadbalancerOptionsObservabilityMetricsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityMetricsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsObservabilityMetricsOutput).ToLoadbalancerOptionsObservabilityMetricsPtrOutputWithContext(ctx) +// Sets the device bus when the image is used as a rescue image. +func (o ImageConfigOutput) RescueBus() pulumi.StringPtrOutput { + return o.ApplyT(func(v ImageConfig) *string { return v.RescueBus }).(pulumi.StringPtrOutput) } -// LoadbalancerOptionsObservabilityMetricsPtrInput is an input type that accepts LoadbalancerOptionsObservabilityMetricsArgs, LoadbalancerOptionsObservabilityMetricsPtr and LoadbalancerOptionsObservabilityMetricsPtrOutput values. -// You can construct a concrete instance of `LoadbalancerOptionsObservabilityMetricsPtrInput` via: -// -// LoadbalancerOptionsObservabilityMetricsArgs{...} -// -// or: -// -// nil -type LoadbalancerOptionsObservabilityMetricsPtrInput interface { - pulumi.Input - - ToLoadbalancerOptionsObservabilityMetricsPtrOutput() LoadbalancerOptionsObservabilityMetricsPtrOutput - ToLoadbalancerOptionsObservabilityMetricsPtrOutputWithContext(context.Context) LoadbalancerOptionsObservabilityMetricsPtrOutput +// Sets the device when the image is used as a rescue image. +func (o ImageConfigOutput) RescueDevice() pulumi.StringPtrOutput { + return o.ApplyT(func(v ImageConfig) *string { return v.RescueDevice }).(pulumi.StringPtrOutput) } -type loadbalancerOptionsObservabilityMetricsPtrType LoadbalancerOptionsObservabilityMetricsArgs - -func LoadbalancerOptionsObservabilityMetricsPtr(v *LoadbalancerOptionsObservabilityMetricsArgs) LoadbalancerOptionsObservabilityMetricsPtrInput { - return (*loadbalancerOptionsObservabilityMetricsPtrType)(v) +// Enables Secure Boot. +func (o ImageConfigOutput) SecureBoot() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ImageConfig) *bool { return v.SecureBoot }).(pulumi.BoolPtrOutput) } -func (*loadbalancerOptionsObservabilityMetricsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LoadbalancerOptionsObservabilityMetrics)(nil)).Elem() +// Enables UEFI boot. +func (o ImageConfigOutput) Uefi() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ImageConfig) *bool { return v.Uefi }).(pulumi.BoolPtrOutput) } -func (i *loadbalancerOptionsObservabilityMetricsPtrType) ToLoadbalancerOptionsObservabilityMetricsPtrOutput() LoadbalancerOptionsObservabilityMetricsPtrOutput { - return i.ToLoadbalancerOptionsObservabilityMetricsPtrOutputWithContext(context.Background()) +// Sets Graphic device model. +func (o ImageConfigOutput) VideoModel() pulumi.StringPtrOutput { + return o.ApplyT(func(v ImageConfig) *string { return v.VideoModel }).(pulumi.StringPtrOutput) } -func (i *loadbalancerOptionsObservabilityMetricsPtrType) ToLoadbalancerOptionsObservabilityMetricsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityMetricsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsObservabilityMetricsPtrOutput) +// Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. +func (o ImageConfigOutput) VirtioScsi() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ImageConfig) *bool { return v.VirtioScsi }).(pulumi.BoolPtrOutput) } -type LoadbalancerOptionsObservabilityMetricsOutput struct{ *pulumi.OutputState } +type ImageConfigPtrOutput struct{ *pulumi.OutputState } -func (LoadbalancerOptionsObservabilityMetricsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerOptionsObservabilityMetrics)(nil)).Elem() +func (ImageConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ImageConfig)(nil)).Elem() } -func (o LoadbalancerOptionsObservabilityMetricsOutput) ToLoadbalancerOptionsObservabilityMetricsOutput() LoadbalancerOptionsObservabilityMetricsOutput { +func (o ImageConfigPtrOutput) ToImageConfigPtrOutput() ImageConfigPtrOutput { return o } -func (o LoadbalancerOptionsObservabilityMetricsOutput) ToLoadbalancerOptionsObservabilityMetricsOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityMetricsOutput { +func (o ImageConfigPtrOutput) ToImageConfigPtrOutputWithContext(ctx context.Context) ImageConfigPtrOutput { return o } -func (o LoadbalancerOptionsObservabilityMetricsOutput) ToLoadbalancerOptionsObservabilityMetricsPtrOutput() LoadbalancerOptionsObservabilityMetricsPtrOutput { - return o.ToLoadbalancerOptionsObservabilityMetricsPtrOutputWithContext(context.Background()) -} - -func (o LoadbalancerOptionsObservabilityMetricsOutput) ToLoadbalancerOptionsObservabilityMetricsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityMetricsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadbalancerOptionsObservabilityMetrics) *LoadbalancerOptionsObservabilityMetrics { - return &v - }).(LoadbalancerOptionsObservabilityMetricsPtrOutput) -} - -// Credentials reference for metrics. Not changeable after creation. -func (o LoadbalancerOptionsObservabilityMetricsOutput) CredentialsRef() pulumi.StringPtrOutput { - return o.ApplyT(func(v LoadbalancerOptionsObservabilityMetrics) *string { return v.CredentialsRef }).(pulumi.StringPtrOutput) +func (o ImageConfigPtrOutput) Elem() ImageConfigOutput { + return o.ApplyT(func(v *ImageConfig) ImageConfig { + if v != nil { + return *v + } + var ret ImageConfig + return ret + }).(ImageConfigOutput) } -// The ARGUS/Prometheus remote write Push URL to ship the metrics to. Not changeable after creation. -func (o LoadbalancerOptionsObservabilityMetricsOutput) PushUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v LoadbalancerOptionsObservabilityMetrics) *string { return v.PushUrl }).(pulumi.StringPtrOutput) +// Enables the BIOS bootmenu. +func (o ImageConfigPtrOutput) BootMenu() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ImageConfig) *bool { + if v == nil { + return nil + } + return v.BootMenu + }).(pulumi.BoolPtrOutput) } -type LoadbalancerOptionsObservabilityMetricsPtrOutput struct{ *pulumi.OutputState } - -func (LoadbalancerOptionsObservabilityMetricsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LoadbalancerOptionsObservabilityMetrics)(nil)).Elem() +// Sets CDROM bus controller type. +func (o ImageConfigPtrOutput) CdromBus() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ImageConfig) *string { + if v == nil { + return nil + } + return v.CdromBus + }).(pulumi.StringPtrOutput) } -func (o LoadbalancerOptionsObservabilityMetricsPtrOutput) ToLoadbalancerOptionsObservabilityMetricsPtrOutput() LoadbalancerOptionsObservabilityMetricsPtrOutput { - return o +// Sets Disk bus controller type. +func (o ImageConfigPtrOutput) DiskBus() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ImageConfig) *string { + if v == nil { + return nil + } + return v.DiskBus + }).(pulumi.StringPtrOutput) } -func (o LoadbalancerOptionsObservabilityMetricsPtrOutput) ToLoadbalancerOptionsObservabilityMetricsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityMetricsPtrOutput { - return o +// Sets virtual network interface model. +func (o ImageConfigPtrOutput) NicModel() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ImageConfig) *string { + if v == nil { + return nil + } + return v.NicModel + }).(pulumi.StringPtrOutput) } -func (o LoadbalancerOptionsObservabilityMetricsPtrOutput) Elem() LoadbalancerOptionsObservabilityMetricsOutput { - return o.ApplyT(func(v *LoadbalancerOptionsObservabilityMetrics) LoadbalancerOptionsObservabilityMetrics { - if v != nil { - return *v +// Enables operating system specific optimizations. +func (o ImageConfigPtrOutput) OperatingSystem() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ImageConfig) *string { + if v == nil { + return nil } - var ret LoadbalancerOptionsObservabilityMetrics - return ret - }).(LoadbalancerOptionsObservabilityMetricsOutput) + return v.OperatingSystem + }).(pulumi.StringPtrOutput) } -// Credentials reference for metrics. Not changeable after creation. -func (o LoadbalancerOptionsObservabilityMetricsPtrOutput) CredentialsRef() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LoadbalancerOptionsObservabilityMetrics) *string { +// Operating system distribution. +func (o ImageConfigPtrOutput) OperatingSystemDistro() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ImageConfig) *string { if v == nil { return nil } - return v.CredentialsRef + return v.OperatingSystemDistro }).(pulumi.StringPtrOutput) } -// The ARGUS/Prometheus remote write Push URL to ship the metrics to. Not changeable after creation. -func (o LoadbalancerOptionsObservabilityMetricsPtrOutput) PushUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LoadbalancerOptionsObservabilityMetrics) *string { +// Version of the operating system. +func (o ImageConfigPtrOutput) OperatingSystemVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ImageConfig) *string { if v == nil { return nil } - return v.PushUrl + return v.OperatingSystemVersion }).(pulumi.StringPtrOutput) } -type LoadbalancerTargetPool struct { - ActiveHealthCheck *LoadbalancerTargetPoolActiveHealthCheck `pulumi:"activeHealthCheck"` - // Target pool name. - Name string `pulumi:"name"` - // Here you can setup various session persistence options, so far only "`useSourceIpAddress`" is supported. - SessionPersistence *LoadbalancerTargetPoolSessionPersistence `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 []LoadbalancerTargetPoolTarget `pulumi:"targets"` +// Sets the device bus when the image is used as a rescue image. +func (o ImageConfigPtrOutput) RescueBus() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ImageConfig) *string { + if v == nil { + return nil + } + return v.RescueBus + }).(pulumi.StringPtrOutput) } -// LoadbalancerTargetPoolInput is an input type that accepts LoadbalancerTargetPoolArgs and LoadbalancerTargetPoolOutput values. -// You can construct a concrete instance of `LoadbalancerTargetPoolInput` via: +// Sets the device when the image is used as a rescue image. +func (o ImageConfigPtrOutput) RescueDevice() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ImageConfig) *string { + if v == nil { + return nil + } + return v.RescueDevice + }).(pulumi.StringPtrOutput) +} + +// Enables Secure Boot. +func (o ImageConfigPtrOutput) SecureBoot() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ImageConfig) *bool { + if v == nil { + return nil + } + return v.SecureBoot + }).(pulumi.BoolPtrOutput) +} + +// Enables UEFI boot. +func (o ImageConfigPtrOutput) Uefi() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ImageConfig) *bool { + if v == nil { + return nil + } + return v.Uefi + }).(pulumi.BoolPtrOutput) +} + +// Sets Graphic device model. +func (o ImageConfigPtrOutput) VideoModel() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ImageConfig) *string { + if v == nil { + return nil + } + return v.VideoModel + }).(pulumi.StringPtrOutput) +} + +// Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. +func (o ImageConfigPtrOutput) VirtioScsi() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ImageConfig) *bool { + if v == nil { + return nil + } + return v.VirtioScsi + }).(pulumi.BoolPtrOutput) +} + +type LoadbalancerListener 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. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_TCP`, `PROTOCOL_UDP`, `PROTOCOL_TCP_PROXY`, `PROTOCOL_TLS_PASSTHROUGH`. + 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 []LoadbalancerListenerServerNameIndicator `pulumi:"serverNameIndicators"` + // Reference target pool by target pool name. + TargetPool string `pulumi:"targetPool"` + // Options that are specific to the TCP protocol. + Tcp *LoadbalancerListenerTcp `pulumi:"tcp"` + // Options that are specific to the UDP protocol. + Udp *LoadbalancerListenerUdp `pulumi:"udp"` +} + +// LoadbalancerListenerInput is an input type that accepts LoadbalancerListenerArgs and LoadbalancerListenerOutput values. +// You can construct a concrete instance of `LoadbalancerListenerInput` via: // -// LoadbalancerTargetPoolArgs{...} -type LoadbalancerTargetPoolInput interface { +// LoadbalancerListenerArgs{...} +type LoadbalancerListenerInput interface { pulumi.Input - ToLoadbalancerTargetPoolOutput() LoadbalancerTargetPoolOutput - ToLoadbalancerTargetPoolOutputWithContext(context.Context) LoadbalancerTargetPoolOutput + ToLoadbalancerListenerOutput() LoadbalancerListenerOutput + ToLoadbalancerListenerOutputWithContext(context.Context) LoadbalancerListenerOutput } -type LoadbalancerTargetPoolArgs struct { - ActiveHealthCheck LoadbalancerTargetPoolActiveHealthCheckPtrInput `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 LoadbalancerTargetPoolSessionPersistencePtrInput `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 LoadbalancerTargetPoolTargetArrayInput `pulumi:"targets"` +type LoadbalancerListenerArgs struct { + DisplayName pulumi.StringPtrInput `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. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_TCP`, `PROTOCOL_UDP`, `PROTOCOL_TCP_PROXY`, `PROTOCOL_TLS_PASSTHROUGH`. + 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 LoadbalancerListenerServerNameIndicatorArrayInput `pulumi:"serverNameIndicators"` + // Reference target pool by target pool name. + TargetPool pulumi.StringInput `pulumi:"targetPool"` + // Options that are specific to the TCP protocol. + Tcp LoadbalancerListenerTcpPtrInput `pulumi:"tcp"` + // Options that are specific to the UDP protocol. + Udp LoadbalancerListenerUdpPtrInput `pulumi:"udp"` } -func (LoadbalancerTargetPoolArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerTargetPool)(nil)).Elem() +func (LoadbalancerListenerArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerListener)(nil)).Elem() } -func (i LoadbalancerTargetPoolArgs) ToLoadbalancerTargetPoolOutput() LoadbalancerTargetPoolOutput { - return i.ToLoadbalancerTargetPoolOutputWithContext(context.Background()) +func (i LoadbalancerListenerArgs) ToLoadbalancerListenerOutput() LoadbalancerListenerOutput { + return i.ToLoadbalancerListenerOutputWithContext(context.Background()) } -func (i LoadbalancerTargetPoolArgs) ToLoadbalancerTargetPoolOutputWithContext(ctx context.Context) LoadbalancerTargetPoolOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerTargetPoolOutput) +func (i LoadbalancerListenerArgs) ToLoadbalancerListenerOutputWithContext(ctx context.Context) LoadbalancerListenerOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerListenerOutput) } -// LoadbalancerTargetPoolArrayInput is an input type that accepts LoadbalancerTargetPoolArray and LoadbalancerTargetPoolArrayOutput values. -// You can construct a concrete instance of `LoadbalancerTargetPoolArrayInput` via: +// LoadbalancerListenerArrayInput is an input type that accepts LoadbalancerListenerArray and LoadbalancerListenerArrayOutput values. +// You can construct a concrete instance of `LoadbalancerListenerArrayInput` via: // -// LoadbalancerTargetPoolArray{ LoadbalancerTargetPoolArgs{...} } -type LoadbalancerTargetPoolArrayInput interface { +// LoadbalancerListenerArray{ LoadbalancerListenerArgs{...} } +type LoadbalancerListenerArrayInput interface { pulumi.Input - ToLoadbalancerTargetPoolArrayOutput() LoadbalancerTargetPoolArrayOutput - ToLoadbalancerTargetPoolArrayOutputWithContext(context.Context) LoadbalancerTargetPoolArrayOutput + ToLoadbalancerListenerArrayOutput() LoadbalancerListenerArrayOutput + ToLoadbalancerListenerArrayOutputWithContext(context.Context) LoadbalancerListenerArrayOutput } -type LoadbalancerTargetPoolArray []LoadbalancerTargetPoolInput +type LoadbalancerListenerArray []LoadbalancerListenerInput -func (LoadbalancerTargetPoolArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]LoadbalancerTargetPool)(nil)).Elem() +func (LoadbalancerListenerArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LoadbalancerListener)(nil)).Elem() } -func (i LoadbalancerTargetPoolArray) ToLoadbalancerTargetPoolArrayOutput() LoadbalancerTargetPoolArrayOutput { - return i.ToLoadbalancerTargetPoolArrayOutputWithContext(context.Background()) +func (i LoadbalancerListenerArray) ToLoadbalancerListenerArrayOutput() LoadbalancerListenerArrayOutput { + return i.ToLoadbalancerListenerArrayOutputWithContext(context.Background()) } -func (i LoadbalancerTargetPoolArray) ToLoadbalancerTargetPoolArrayOutputWithContext(ctx context.Context) LoadbalancerTargetPoolArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerTargetPoolArrayOutput) +func (i LoadbalancerListenerArray) ToLoadbalancerListenerArrayOutputWithContext(ctx context.Context) LoadbalancerListenerArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerListenerArrayOutput) } -type LoadbalancerTargetPoolOutput struct{ *pulumi.OutputState } +type LoadbalancerListenerOutput struct{ *pulumi.OutputState } -func (LoadbalancerTargetPoolOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerTargetPool)(nil)).Elem() +func (LoadbalancerListenerOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerListener)(nil)).Elem() } -func (o LoadbalancerTargetPoolOutput) ToLoadbalancerTargetPoolOutput() LoadbalancerTargetPoolOutput { +func (o LoadbalancerListenerOutput) ToLoadbalancerListenerOutput() LoadbalancerListenerOutput { return o } -func (o LoadbalancerTargetPoolOutput) ToLoadbalancerTargetPoolOutputWithContext(ctx context.Context) LoadbalancerTargetPoolOutput { +func (o LoadbalancerListenerOutput) ToLoadbalancerListenerOutputWithContext(ctx context.Context) LoadbalancerListenerOutput { return o } -func (o LoadbalancerTargetPoolOutput) ActiveHealthCheck() LoadbalancerTargetPoolActiveHealthCheckPtrOutput { - return o.ApplyT(func(v LoadbalancerTargetPool) *LoadbalancerTargetPoolActiveHealthCheck { return v.ActiveHealthCheck }).(LoadbalancerTargetPoolActiveHealthCheckPtrOutput) +func (o LoadbalancerListenerOutput) DisplayName() pulumi.StringPtrOutput { + return o.ApplyT(func(v LoadbalancerListener) *string { return v.DisplayName }).(pulumi.StringPtrOutput) } -// Target pool name. -func (o LoadbalancerTargetPoolOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v LoadbalancerTargetPool) string { return v.Name }).(pulumi.StringOutput) +// Port number where we listen for traffic. +func (o LoadbalancerListenerOutput) Port() pulumi.IntOutput { + return o.ApplyT(func(v LoadbalancerListener) int { return v.Port }).(pulumi.IntOutput) } -// Here you can setup various session persistence options, so far only "`useSourceIpAddress`" is supported. -func (o LoadbalancerTargetPoolOutput) SessionPersistence() LoadbalancerTargetPoolSessionPersistencePtrOutput { - return o.ApplyT(func(v LoadbalancerTargetPool) *LoadbalancerTargetPoolSessionPersistence { return v.SessionPersistence }).(LoadbalancerTargetPoolSessionPersistencePtrOutput) +// Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_TCP`, `PROTOCOL_UDP`, `PROTOCOL_TCP_PROXY`, `PROTOCOL_TLS_PASSTHROUGH`. +func (o LoadbalancerListenerOutput) Protocol() pulumi.StringOutput { + return o.ApplyT(func(v LoadbalancerListener) string { return v.Protocol }).(pulumi.StringOutput) } -// Identical port number where each target listens for traffic. -func (o LoadbalancerTargetPoolOutput) TargetPort() pulumi.IntOutput { - return o.ApplyT(func(v LoadbalancerTargetPool) int { return v.TargetPort }).(pulumi.IntOutput) +// 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 LoadbalancerListenerOutput) ServerNameIndicators() LoadbalancerListenerServerNameIndicatorArrayOutput { + return o.ApplyT(func(v LoadbalancerListener) []LoadbalancerListenerServerNameIndicator { return v.ServerNameIndicators }).(LoadbalancerListenerServerNameIndicatorArrayOutput) } -// List of all targets which will be used in the pool. Limited to 1000. -func (o LoadbalancerTargetPoolOutput) Targets() LoadbalancerTargetPoolTargetArrayOutput { - return o.ApplyT(func(v LoadbalancerTargetPool) []LoadbalancerTargetPoolTarget { return v.Targets }).(LoadbalancerTargetPoolTargetArrayOutput) +// Reference target pool by target pool name. +func (o LoadbalancerListenerOutput) TargetPool() pulumi.StringOutput { + return o.ApplyT(func(v LoadbalancerListener) string { return v.TargetPool }).(pulumi.StringOutput) } -type LoadbalancerTargetPoolArrayOutput struct{ *pulumi.OutputState } +// Options that are specific to the TCP protocol. +func (o LoadbalancerListenerOutput) Tcp() LoadbalancerListenerTcpPtrOutput { + return o.ApplyT(func(v LoadbalancerListener) *LoadbalancerListenerTcp { return v.Tcp }).(LoadbalancerListenerTcpPtrOutput) +} -func (LoadbalancerTargetPoolArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]LoadbalancerTargetPool)(nil)).Elem() +// Options that are specific to the UDP protocol. +func (o LoadbalancerListenerOutput) Udp() LoadbalancerListenerUdpPtrOutput { + return o.ApplyT(func(v LoadbalancerListener) *LoadbalancerListenerUdp { return v.Udp }).(LoadbalancerListenerUdpPtrOutput) } -func (o LoadbalancerTargetPoolArrayOutput) ToLoadbalancerTargetPoolArrayOutput() LoadbalancerTargetPoolArrayOutput { +type LoadbalancerListenerArrayOutput struct{ *pulumi.OutputState } + +func (LoadbalancerListenerArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LoadbalancerListener)(nil)).Elem() +} + +func (o LoadbalancerListenerArrayOutput) ToLoadbalancerListenerArrayOutput() LoadbalancerListenerArrayOutput { return o } -func (o LoadbalancerTargetPoolArrayOutput) ToLoadbalancerTargetPoolArrayOutputWithContext(ctx context.Context) LoadbalancerTargetPoolArrayOutput { +func (o LoadbalancerListenerArrayOutput) ToLoadbalancerListenerArrayOutputWithContext(ctx context.Context) LoadbalancerListenerArrayOutput { return o } -func (o LoadbalancerTargetPoolArrayOutput) Index(i pulumi.IntInput) LoadbalancerTargetPoolOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) LoadbalancerTargetPool { - return vs[0].([]LoadbalancerTargetPool)[vs[1].(int)] - }).(LoadbalancerTargetPoolOutput) +func (o LoadbalancerListenerArrayOutput) Index(i pulumi.IntInput) LoadbalancerListenerOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LoadbalancerListener { + return vs[0].([]LoadbalancerListener)[vs[1].(int)] + }).(LoadbalancerListenerOutput) } -type LoadbalancerTargetPoolActiveHealthCheck 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"` +type LoadbalancerListenerServerNameIndicator struct { + // A domain name to match in order to pass TLS traffic to the target pool in the current listener + Name *string `pulumi:"name"` } -// LoadbalancerTargetPoolActiveHealthCheckInput is an input type that accepts LoadbalancerTargetPoolActiveHealthCheckArgs and LoadbalancerTargetPoolActiveHealthCheckOutput values. -// You can construct a concrete instance of `LoadbalancerTargetPoolActiveHealthCheckInput` via: +// LoadbalancerListenerServerNameIndicatorInput is an input type that accepts LoadbalancerListenerServerNameIndicatorArgs and LoadbalancerListenerServerNameIndicatorOutput values. +// You can construct a concrete instance of `LoadbalancerListenerServerNameIndicatorInput` via: // -// LoadbalancerTargetPoolActiveHealthCheckArgs{...} -type LoadbalancerTargetPoolActiveHealthCheckInput interface { +// LoadbalancerListenerServerNameIndicatorArgs{...} +type LoadbalancerListenerServerNameIndicatorInput interface { pulumi.Input - ToLoadbalancerTargetPoolActiveHealthCheckOutput() LoadbalancerTargetPoolActiveHealthCheckOutput - ToLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(context.Context) LoadbalancerTargetPoolActiveHealthCheckOutput + ToLoadbalancerListenerServerNameIndicatorOutput() LoadbalancerListenerServerNameIndicatorOutput + ToLoadbalancerListenerServerNameIndicatorOutputWithContext(context.Context) LoadbalancerListenerServerNameIndicatorOutput } -type LoadbalancerTargetPoolActiveHealthCheckArgs struct { - // Healthy threshold of the health checking. - HealthyThreshold pulumi.IntPtrInput `pulumi:"healthyThreshold"` - // Interval duration of health checking in seconds. - Interval pulumi.StringPtrInput `pulumi:"interval"` - // Interval duration threshold of the health checking in seconds. - IntervalJitter pulumi.StringPtrInput `pulumi:"intervalJitter"` - // Active health checking timeout duration in seconds. - Timeout pulumi.StringPtrInput `pulumi:"timeout"` - // Unhealthy threshold of the health checking. - UnhealthyThreshold pulumi.IntPtrInput `pulumi:"unhealthyThreshold"` -} - -func (LoadbalancerTargetPoolActiveHealthCheckArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerTargetPoolActiveHealthCheck)(nil)).Elem() -} - -func (i LoadbalancerTargetPoolActiveHealthCheckArgs) ToLoadbalancerTargetPoolActiveHealthCheckOutput() LoadbalancerTargetPoolActiveHealthCheckOutput { - return i.ToLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(context.Background()) +type LoadbalancerListenerServerNameIndicatorArgs 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 (i LoadbalancerTargetPoolActiveHealthCheckArgs) ToLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(ctx context.Context) LoadbalancerTargetPoolActiveHealthCheckOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerTargetPoolActiveHealthCheckOutput) +func (LoadbalancerListenerServerNameIndicatorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerListenerServerNameIndicator)(nil)).Elem() } -func (i LoadbalancerTargetPoolActiveHealthCheckArgs) ToLoadbalancerTargetPoolActiveHealthCheckPtrOutput() LoadbalancerTargetPoolActiveHealthCheckPtrOutput { - return i.ToLoadbalancerTargetPoolActiveHealthCheckPtrOutputWithContext(context.Background()) +func (i LoadbalancerListenerServerNameIndicatorArgs) ToLoadbalancerListenerServerNameIndicatorOutput() LoadbalancerListenerServerNameIndicatorOutput { + return i.ToLoadbalancerListenerServerNameIndicatorOutputWithContext(context.Background()) } -func (i LoadbalancerTargetPoolActiveHealthCheckArgs) ToLoadbalancerTargetPoolActiveHealthCheckPtrOutputWithContext(ctx context.Context) LoadbalancerTargetPoolActiveHealthCheckPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerTargetPoolActiveHealthCheckOutput).ToLoadbalancerTargetPoolActiveHealthCheckPtrOutputWithContext(ctx) +func (i LoadbalancerListenerServerNameIndicatorArgs) ToLoadbalancerListenerServerNameIndicatorOutputWithContext(ctx context.Context) LoadbalancerListenerServerNameIndicatorOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerListenerServerNameIndicatorOutput) } -// LoadbalancerTargetPoolActiveHealthCheckPtrInput is an input type that accepts LoadbalancerTargetPoolActiveHealthCheckArgs, LoadbalancerTargetPoolActiveHealthCheckPtr and LoadbalancerTargetPoolActiveHealthCheckPtrOutput values. -// You can construct a concrete instance of `LoadbalancerTargetPoolActiveHealthCheckPtrInput` via: -// -// LoadbalancerTargetPoolActiveHealthCheckArgs{...} -// -// or: +// LoadbalancerListenerServerNameIndicatorArrayInput is an input type that accepts LoadbalancerListenerServerNameIndicatorArray and LoadbalancerListenerServerNameIndicatorArrayOutput values. +// You can construct a concrete instance of `LoadbalancerListenerServerNameIndicatorArrayInput` via: // -// nil -type LoadbalancerTargetPoolActiveHealthCheckPtrInput interface { +// LoadbalancerListenerServerNameIndicatorArray{ LoadbalancerListenerServerNameIndicatorArgs{...} } +type LoadbalancerListenerServerNameIndicatorArrayInput interface { pulumi.Input - ToLoadbalancerTargetPoolActiveHealthCheckPtrOutput() LoadbalancerTargetPoolActiveHealthCheckPtrOutput - ToLoadbalancerTargetPoolActiveHealthCheckPtrOutputWithContext(context.Context) LoadbalancerTargetPoolActiveHealthCheckPtrOutput + ToLoadbalancerListenerServerNameIndicatorArrayOutput() LoadbalancerListenerServerNameIndicatorArrayOutput + ToLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(context.Context) LoadbalancerListenerServerNameIndicatorArrayOutput } -type loadbalancerTargetPoolActiveHealthCheckPtrType LoadbalancerTargetPoolActiveHealthCheckArgs - -func LoadbalancerTargetPoolActiveHealthCheckPtr(v *LoadbalancerTargetPoolActiveHealthCheckArgs) LoadbalancerTargetPoolActiveHealthCheckPtrInput { - return (*loadbalancerTargetPoolActiveHealthCheckPtrType)(v) -} +type LoadbalancerListenerServerNameIndicatorArray []LoadbalancerListenerServerNameIndicatorInput -func (*loadbalancerTargetPoolActiveHealthCheckPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LoadbalancerTargetPoolActiveHealthCheck)(nil)).Elem() +func (LoadbalancerListenerServerNameIndicatorArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LoadbalancerListenerServerNameIndicator)(nil)).Elem() } -func (i *loadbalancerTargetPoolActiveHealthCheckPtrType) ToLoadbalancerTargetPoolActiveHealthCheckPtrOutput() LoadbalancerTargetPoolActiveHealthCheckPtrOutput { - return i.ToLoadbalancerTargetPoolActiveHealthCheckPtrOutputWithContext(context.Background()) +func (i LoadbalancerListenerServerNameIndicatorArray) ToLoadbalancerListenerServerNameIndicatorArrayOutput() LoadbalancerListenerServerNameIndicatorArrayOutput { + return i.ToLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(context.Background()) } -func (i *loadbalancerTargetPoolActiveHealthCheckPtrType) ToLoadbalancerTargetPoolActiveHealthCheckPtrOutputWithContext(ctx context.Context) LoadbalancerTargetPoolActiveHealthCheckPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerTargetPoolActiveHealthCheckPtrOutput) +func (i LoadbalancerListenerServerNameIndicatorArray) ToLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(ctx context.Context) LoadbalancerListenerServerNameIndicatorArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerListenerServerNameIndicatorArrayOutput) } -type LoadbalancerTargetPoolActiveHealthCheckOutput struct{ *pulumi.OutputState } +type LoadbalancerListenerServerNameIndicatorOutput struct{ *pulumi.OutputState } -func (LoadbalancerTargetPoolActiveHealthCheckOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerTargetPoolActiveHealthCheck)(nil)).Elem() +func (LoadbalancerListenerServerNameIndicatorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerListenerServerNameIndicator)(nil)).Elem() } -func (o LoadbalancerTargetPoolActiveHealthCheckOutput) ToLoadbalancerTargetPoolActiveHealthCheckOutput() LoadbalancerTargetPoolActiveHealthCheckOutput { +func (o LoadbalancerListenerServerNameIndicatorOutput) ToLoadbalancerListenerServerNameIndicatorOutput() LoadbalancerListenerServerNameIndicatorOutput { return o } -func (o LoadbalancerTargetPoolActiveHealthCheckOutput) ToLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(ctx context.Context) LoadbalancerTargetPoolActiveHealthCheckOutput { +func (o LoadbalancerListenerServerNameIndicatorOutput) ToLoadbalancerListenerServerNameIndicatorOutputWithContext(ctx context.Context) LoadbalancerListenerServerNameIndicatorOutput { return o } -func (o LoadbalancerTargetPoolActiveHealthCheckOutput) ToLoadbalancerTargetPoolActiveHealthCheckPtrOutput() LoadbalancerTargetPoolActiveHealthCheckPtrOutput { - return o.ToLoadbalancerTargetPoolActiveHealthCheckPtrOutputWithContext(context.Background()) +// A domain name to match in order to pass TLS traffic to the target pool in the current listener +func (o LoadbalancerListenerServerNameIndicatorOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v LoadbalancerListenerServerNameIndicator) *string { return v.Name }).(pulumi.StringPtrOutput) } -func (o LoadbalancerTargetPoolActiveHealthCheckOutput) ToLoadbalancerTargetPoolActiveHealthCheckPtrOutputWithContext(ctx context.Context) LoadbalancerTargetPoolActiveHealthCheckPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadbalancerTargetPoolActiveHealthCheck) *LoadbalancerTargetPoolActiveHealthCheck { - return &v - }).(LoadbalancerTargetPoolActiveHealthCheckPtrOutput) -} +type LoadbalancerListenerServerNameIndicatorArrayOutput struct{ *pulumi.OutputState } -// Healthy threshold of the health checking. -func (o LoadbalancerTargetPoolActiveHealthCheckOutput) HealthyThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v LoadbalancerTargetPoolActiveHealthCheck) *int { return v.HealthyThreshold }).(pulumi.IntPtrOutput) +func (LoadbalancerListenerServerNameIndicatorArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LoadbalancerListenerServerNameIndicator)(nil)).Elem() } -// Interval duration of health checking in seconds. -func (o LoadbalancerTargetPoolActiveHealthCheckOutput) Interval() pulumi.StringPtrOutput { - return o.ApplyT(func(v LoadbalancerTargetPoolActiveHealthCheck) *string { return v.Interval }).(pulumi.StringPtrOutput) +func (o LoadbalancerListenerServerNameIndicatorArrayOutput) ToLoadbalancerListenerServerNameIndicatorArrayOutput() LoadbalancerListenerServerNameIndicatorArrayOutput { + return o } -// Interval duration threshold of the health checking in seconds. -func (o LoadbalancerTargetPoolActiveHealthCheckOutput) IntervalJitter() pulumi.StringPtrOutput { - return o.ApplyT(func(v LoadbalancerTargetPoolActiveHealthCheck) *string { return v.IntervalJitter }).(pulumi.StringPtrOutput) +func (o LoadbalancerListenerServerNameIndicatorArrayOutput) ToLoadbalancerListenerServerNameIndicatorArrayOutputWithContext(ctx context.Context) LoadbalancerListenerServerNameIndicatorArrayOutput { + return o } -// Active health checking timeout duration in seconds. -func (o LoadbalancerTargetPoolActiveHealthCheckOutput) Timeout() pulumi.StringPtrOutput { - return o.ApplyT(func(v LoadbalancerTargetPoolActiveHealthCheck) *string { return v.Timeout }).(pulumi.StringPtrOutput) +func (o LoadbalancerListenerServerNameIndicatorArrayOutput) Index(i pulumi.IntInput) LoadbalancerListenerServerNameIndicatorOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LoadbalancerListenerServerNameIndicator { + return vs[0].([]LoadbalancerListenerServerNameIndicator)[vs[1].(int)] + }).(LoadbalancerListenerServerNameIndicatorOutput) } -// Unhealthy threshold of the health checking. -func (o LoadbalancerTargetPoolActiveHealthCheckOutput) UnhealthyThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v LoadbalancerTargetPoolActiveHealthCheck) *int { return v.UnhealthyThreshold }).(pulumi.IntPtrOutput) +type LoadbalancerListenerTcp struct { + // Time after which an idle connection is closed. The default value is set to 300 seconds, and the maximum value is 3600 seconds. The format is a duration and the unit must be seconds. Example: 30s + IdleTimeout *string `pulumi:"idleTimeout"` } -type LoadbalancerTargetPoolActiveHealthCheckPtrOutput struct{ *pulumi.OutputState } +// LoadbalancerListenerTcpInput is an input type that accepts LoadbalancerListenerTcpArgs and LoadbalancerListenerTcpOutput values. +// You can construct a concrete instance of `LoadbalancerListenerTcpInput` via: +// +// LoadbalancerListenerTcpArgs{...} +type LoadbalancerListenerTcpInput interface { + pulumi.Input -func (LoadbalancerTargetPoolActiveHealthCheckPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LoadbalancerTargetPoolActiveHealthCheck)(nil)).Elem() + ToLoadbalancerListenerTcpOutput() LoadbalancerListenerTcpOutput + ToLoadbalancerListenerTcpOutputWithContext(context.Context) LoadbalancerListenerTcpOutput } -func (o LoadbalancerTargetPoolActiveHealthCheckPtrOutput) ToLoadbalancerTargetPoolActiveHealthCheckPtrOutput() LoadbalancerTargetPoolActiveHealthCheckPtrOutput { - return o +type LoadbalancerListenerTcpArgs struct { + // Time after which an idle connection is closed. The default value is set to 300 seconds, and the maximum value is 3600 seconds. The format is a duration and the unit must be seconds. Example: 30s + IdleTimeout pulumi.StringPtrInput `pulumi:"idleTimeout"` } -func (o LoadbalancerTargetPoolActiveHealthCheckPtrOutput) ToLoadbalancerTargetPoolActiveHealthCheckPtrOutputWithContext(ctx context.Context) LoadbalancerTargetPoolActiveHealthCheckPtrOutput { - return o +func (LoadbalancerListenerTcpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerListenerTcp)(nil)).Elem() } -func (o LoadbalancerTargetPoolActiveHealthCheckPtrOutput) Elem() LoadbalancerTargetPoolActiveHealthCheckOutput { - return o.ApplyT(func(v *LoadbalancerTargetPoolActiveHealthCheck) LoadbalancerTargetPoolActiveHealthCheck { - if v != nil { - return *v - } - var ret LoadbalancerTargetPoolActiveHealthCheck - return ret - }).(LoadbalancerTargetPoolActiveHealthCheckOutput) +func (i LoadbalancerListenerTcpArgs) ToLoadbalancerListenerTcpOutput() LoadbalancerListenerTcpOutput { + return i.ToLoadbalancerListenerTcpOutputWithContext(context.Background()) } -// Healthy threshold of the health checking. -func (o LoadbalancerTargetPoolActiveHealthCheckPtrOutput) HealthyThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LoadbalancerTargetPoolActiveHealthCheck) *int { - if v == nil { - return nil - } - return v.HealthyThreshold - }).(pulumi.IntPtrOutput) +func (i LoadbalancerListenerTcpArgs) ToLoadbalancerListenerTcpOutputWithContext(ctx context.Context) LoadbalancerListenerTcpOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerListenerTcpOutput) } -// Interval duration of health checking in seconds. -func (o LoadbalancerTargetPoolActiveHealthCheckPtrOutput) Interval() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LoadbalancerTargetPoolActiveHealthCheck) *string { - if v == nil { - return nil - } - return v.Interval - }).(pulumi.StringPtrOutput) +func (i LoadbalancerListenerTcpArgs) ToLoadbalancerListenerTcpPtrOutput() LoadbalancerListenerTcpPtrOutput { + return i.ToLoadbalancerListenerTcpPtrOutputWithContext(context.Background()) } -// Interval duration threshold of the health checking in seconds. -func (o LoadbalancerTargetPoolActiveHealthCheckPtrOutput) IntervalJitter() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LoadbalancerTargetPoolActiveHealthCheck) *string { - if v == nil { - return nil - } - return v.IntervalJitter - }).(pulumi.StringPtrOutput) +func (i LoadbalancerListenerTcpArgs) ToLoadbalancerListenerTcpPtrOutputWithContext(ctx context.Context) LoadbalancerListenerTcpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerListenerTcpOutput).ToLoadbalancerListenerTcpPtrOutputWithContext(ctx) } -// Active health checking timeout duration in seconds. -func (o LoadbalancerTargetPoolActiveHealthCheckPtrOutput) Timeout() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LoadbalancerTargetPoolActiveHealthCheck) *string { - if v == nil { - return nil - } - return v.Timeout - }).(pulumi.StringPtrOutput) +// LoadbalancerListenerTcpPtrInput is an input type that accepts LoadbalancerListenerTcpArgs, LoadbalancerListenerTcpPtr and LoadbalancerListenerTcpPtrOutput values. +// You can construct a concrete instance of `LoadbalancerListenerTcpPtrInput` via: +// +// LoadbalancerListenerTcpArgs{...} +// +// or: +// +// nil +type LoadbalancerListenerTcpPtrInput interface { + pulumi.Input + + ToLoadbalancerListenerTcpPtrOutput() LoadbalancerListenerTcpPtrOutput + ToLoadbalancerListenerTcpPtrOutputWithContext(context.Context) LoadbalancerListenerTcpPtrOutput } -// Unhealthy threshold of the health checking. -func (o LoadbalancerTargetPoolActiveHealthCheckPtrOutput) UnhealthyThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LoadbalancerTargetPoolActiveHealthCheck) *int { - if v == nil { - return nil - } - return v.UnhealthyThreshold - }).(pulumi.IntPtrOutput) +type loadbalancerListenerTcpPtrType LoadbalancerListenerTcpArgs + +func LoadbalancerListenerTcpPtr(v *LoadbalancerListenerTcpArgs) LoadbalancerListenerTcpPtrInput { + return (*loadbalancerListenerTcpPtrType)(v) } -type LoadbalancerTargetPoolSessionPersistence 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"` +func (*loadbalancerListenerTcpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LoadbalancerListenerTcp)(nil)).Elem() } -// LoadbalancerTargetPoolSessionPersistenceInput is an input type that accepts LoadbalancerTargetPoolSessionPersistenceArgs and LoadbalancerTargetPoolSessionPersistenceOutput values. -// You can construct a concrete instance of `LoadbalancerTargetPoolSessionPersistenceInput` via: -// -// LoadbalancerTargetPoolSessionPersistenceArgs{...} -type LoadbalancerTargetPoolSessionPersistenceInput interface { - pulumi.Input +func (i *loadbalancerListenerTcpPtrType) ToLoadbalancerListenerTcpPtrOutput() LoadbalancerListenerTcpPtrOutput { + return i.ToLoadbalancerListenerTcpPtrOutputWithContext(context.Background()) +} - ToLoadbalancerTargetPoolSessionPersistenceOutput() LoadbalancerTargetPoolSessionPersistenceOutput - ToLoadbalancerTargetPoolSessionPersistenceOutputWithContext(context.Context) LoadbalancerTargetPoolSessionPersistenceOutput +func (i *loadbalancerListenerTcpPtrType) ToLoadbalancerListenerTcpPtrOutputWithContext(ctx context.Context) LoadbalancerListenerTcpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerListenerTcpPtrOutput) } -type LoadbalancerTargetPoolSessionPersistenceArgs 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.BoolPtrInput `pulumi:"useSourceIpAddress"` +type LoadbalancerListenerTcpOutput struct{ *pulumi.OutputState } + +func (LoadbalancerListenerTcpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerListenerTcp)(nil)).Elem() } -func (LoadbalancerTargetPoolSessionPersistenceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerTargetPoolSessionPersistence)(nil)).Elem() +func (o LoadbalancerListenerTcpOutput) ToLoadbalancerListenerTcpOutput() LoadbalancerListenerTcpOutput { + return o } -func (i LoadbalancerTargetPoolSessionPersistenceArgs) ToLoadbalancerTargetPoolSessionPersistenceOutput() LoadbalancerTargetPoolSessionPersistenceOutput { - return i.ToLoadbalancerTargetPoolSessionPersistenceOutputWithContext(context.Background()) +func (o LoadbalancerListenerTcpOutput) ToLoadbalancerListenerTcpOutputWithContext(ctx context.Context) LoadbalancerListenerTcpOutput { + return o } -func (i LoadbalancerTargetPoolSessionPersistenceArgs) ToLoadbalancerTargetPoolSessionPersistenceOutputWithContext(ctx context.Context) LoadbalancerTargetPoolSessionPersistenceOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerTargetPoolSessionPersistenceOutput) +func (o LoadbalancerListenerTcpOutput) ToLoadbalancerListenerTcpPtrOutput() LoadbalancerListenerTcpPtrOutput { + return o.ToLoadbalancerListenerTcpPtrOutputWithContext(context.Background()) } -func (i LoadbalancerTargetPoolSessionPersistenceArgs) ToLoadbalancerTargetPoolSessionPersistencePtrOutput() LoadbalancerTargetPoolSessionPersistencePtrOutput { - return i.ToLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(context.Background()) +func (o LoadbalancerListenerTcpOutput) ToLoadbalancerListenerTcpPtrOutputWithContext(ctx context.Context) LoadbalancerListenerTcpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadbalancerListenerTcp) *LoadbalancerListenerTcp { + return &v + }).(LoadbalancerListenerTcpPtrOutput) } -func (i LoadbalancerTargetPoolSessionPersistenceArgs) ToLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(ctx context.Context) LoadbalancerTargetPoolSessionPersistencePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerTargetPoolSessionPersistenceOutput).ToLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(ctx) +// Time after which an idle connection is closed. The default value is set to 300 seconds, and the maximum value is 3600 seconds. The format is a duration and the unit must be seconds. Example: 30s +func (o LoadbalancerListenerTcpOutput) IdleTimeout() pulumi.StringPtrOutput { + return o.ApplyT(func(v LoadbalancerListenerTcp) *string { return v.IdleTimeout }).(pulumi.StringPtrOutput) } -// LoadbalancerTargetPoolSessionPersistencePtrInput is an input type that accepts LoadbalancerTargetPoolSessionPersistenceArgs, LoadbalancerTargetPoolSessionPersistencePtr and LoadbalancerTargetPoolSessionPersistencePtrOutput values. -// You can construct a concrete instance of `LoadbalancerTargetPoolSessionPersistencePtrInput` via: +type LoadbalancerListenerTcpPtrOutput struct{ *pulumi.OutputState } + +func (LoadbalancerListenerTcpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LoadbalancerListenerTcp)(nil)).Elem() +} + +func (o LoadbalancerListenerTcpPtrOutput) ToLoadbalancerListenerTcpPtrOutput() LoadbalancerListenerTcpPtrOutput { + return o +} + +func (o LoadbalancerListenerTcpPtrOutput) ToLoadbalancerListenerTcpPtrOutputWithContext(ctx context.Context) LoadbalancerListenerTcpPtrOutput { + return o +} + +func (o LoadbalancerListenerTcpPtrOutput) Elem() LoadbalancerListenerTcpOutput { + return o.ApplyT(func(v *LoadbalancerListenerTcp) LoadbalancerListenerTcp { + if v != nil { + return *v + } + var ret LoadbalancerListenerTcp + return ret + }).(LoadbalancerListenerTcpOutput) +} + +// Time after which an idle connection is closed. The default value is set to 300 seconds, and the maximum value is 3600 seconds. The format is a duration and the unit must be seconds. Example: 30s +func (o LoadbalancerListenerTcpPtrOutput) IdleTimeout() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadbalancerListenerTcp) *string { + if v == nil { + return nil + } + return v.IdleTimeout + }).(pulumi.StringPtrOutput) +} + +type LoadbalancerListenerUdp struct { + // Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. The format is a duration and the unit must be seconds. Example: 30s + IdleTimeout *string `pulumi:"idleTimeout"` +} + +// LoadbalancerListenerUdpInput is an input type that accepts LoadbalancerListenerUdpArgs and LoadbalancerListenerUdpOutput values. +// You can construct a concrete instance of `LoadbalancerListenerUdpInput` via: // -// LoadbalancerTargetPoolSessionPersistenceArgs{...} +// LoadbalancerListenerUdpArgs{...} +type LoadbalancerListenerUdpInput interface { + pulumi.Input + + ToLoadbalancerListenerUdpOutput() LoadbalancerListenerUdpOutput + ToLoadbalancerListenerUdpOutputWithContext(context.Context) LoadbalancerListenerUdpOutput +} + +type LoadbalancerListenerUdpArgs struct { + // Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. The format is a duration and the unit must be seconds. Example: 30s + IdleTimeout pulumi.StringPtrInput `pulumi:"idleTimeout"` +} + +func (LoadbalancerListenerUdpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerListenerUdp)(nil)).Elem() +} + +func (i LoadbalancerListenerUdpArgs) ToLoadbalancerListenerUdpOutput() LoadbalancerListenerUdpOutput { + return i.ToLoadbalancerListenerUdpOutputWithContext(context.Background()) +} + +func (i LoadbalancerListenerUdpArgs) ToLoadbalancerListenerUdpOutputWithContext(ctx context.Context) LoadbalancerListenerUdpOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerListenerUdpOutput) +} + +func (i LoadbalancerListenerUdpArgs) ToLoadbalancerListenerUdpPtrOutput() LoadbalancerListenerUdpPtrOutput { + return i.ToLoadbalancerListenerUdpPtrOutputWithContext(context.Background()) +} + +func (i LoadbalancerListenerUdpArgs) ToLoadbalancerListenerUdpPtrOutputWithContext(ctx context.Context) LoadbalancerListenerUdpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerListenerUdpOutput).ToLoadbalancerListenerUdpPtrOutputWithContext(ctx) +} + +// LoadbalancerListenerUdpPtrInput is an input type that accepts LoadbalancerListenerUdpArgs, LoadbalancerListenerUdpPtr and LoadbalancerListenerUdpPtrOutput values. +// You can construct a concrete instance of `LoadbalancerListenerUdpPtrInput` via: +// +// LoadbalancerListenerUdpArgs{...} // // or: // // nil -type LoadbalancerTargetPoolSessionPersistencePtrInput interface { +type LoadbalancerListenerUdpPtrInput interface { pulumi.Input - ToLoadbalancerTargetPoolSessionPersistencePtrOutput() LoadbalancerTargetPoolSessionPersistencePtrOutput - ToLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(context.Context) LoadbalancerTargetPoolSessionPersistencePtrOutput + ToLoadbalancerListenerUdpPtrOutput() LoadbalancerListenerUdpPtrOutput + ToLoadbalancerListenerUdpPtrOutputWithContext(context.Context) LoadbalancerListenerUdpPtrOutput } -type loadbalancerTargetPoolSessionPersistencePtrType LoadbalancerTargetPoolSessionPersistenceArgs +type loadbalancerListenerUdpPtrType LoadbalancerListenerUdpArgs -func LoadbalancerTargetPoolSessionPersistencePtr(v *LoadbalancerTargetPoolSessionPersistenceArgs) LoadbalancerTargetPoolSessionPersistencePtrInput { - return (*loadbalancerTargetPoolSessionPersistencePtrType)(v) +func LoadbalancerListenerUdpPtr(v *LoadbalancerListenerUdpArgs) LoadbalancerListenerUdpPtrInput { + return (*loadbalancerListenerUdpPtrType)(v) } -func (*loadbalancerTargetPoolSessionPersistencePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LoadbalancerTargetPoolSessionPersistence)(nil)).Elem() +func (*loadbalancerListenerUdpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LoadbalancerListenerUdp)(nil)).Elem() } -func (i *loadbalancerTargetPoolSessionPersistencePtrType) ToLoadbalancerTargetPoolSessionPersistencePtrOutput() LoadbalancerTargetPoolSessionPersistencePtrOutput { - return i.ToLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(context.Background()) +func (i *loadbalancerListenerUdpPtrType) ToLoadbalancerListenerUdpPtrOutput() LoadbalancerListenerUdpPtrOutput { + return i.ToLoadbalancerListenerUdpPtrOutputWithContext(context.Background()) } -func (i *loadbalancerTargetPoolSessionPersistencePtrType) ToLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(ctx context.Context) LoadbalancerTargetPoolSessionPersistencePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerTargetPoolSessionPersistencePtrOutput) +func (i *loadbalancerListenerUdpPtrType) ToLoadbalancerListenerUdpPtrOutputWithContext(ctx context.Context) LoadbalancerListenerUdpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerListenerUdpPtrOutput) } -type LoadbalancerTargetPoolSessionPersistenceOutput struct{ *pulumi.OutputState } +type LoadbalancerListenerUdpOutput struct{ *pulumi.OutputState } -func (LoadbalancerTargetPoolSessionPersistenceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerTargetPoolSessionPersistence)(nil)).Elem() +func (LoadbalancerListenerUdpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerListenerUdp)(nil)).Elem() } -func (o LoadbalancerTargetPoolSessionPersistenceOutput) ToLoadbalancerTargetPoolSessionPersistenceOutput() LoadbalancerTargetPoolSessionPersistenceOutput { +func (o LoadbalancerListenerUdpOutput) ToLoadbalancerListenerUdpOutput() LoadbalancerListenerUdpOutput { return o } -func (o LoadbalancerTargetPoolSessionPersistenceOutput) ToLoadbalancerTargetPoolSessionPersistenceOutputWithContext(ctx context.Context) LoadbalancerTargetPoolSessionPersistenceOutput { +func (o LoadbalancerListenerUdpOutput) ToLoadbalancerListenerUdpOutputWithContext(ctx context.Context) LoadbalancerListenerUdpOutput { return o } -func (o LoadbalancerTargetPoolSessionPersistenceOutput) ToLoadbalancerTargetPoolSessionPersistencePtrOutput() LoadbalancerTargetPoolSessionPersistencePtrOutput { - return o.ToLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(context.Background()) +func (o LoadbalancerListenerUdpOutput) ToLoadbalancerListenerUdpPtrOutput() LoadbalancerListenerUdpPtrOutput { + return o.ToLoadbalancerListenerUdpPtrOutputWithContext(context.Background()) } -func (o LoadbalancerTargetPoolSessionPersistenceOutput) ToLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(ctx context.Context) LoadbalancerTargetPoolSessionPersistencePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadbalancerTargetPoolSessionPersistence) *LoadbalancerTargetPoolSessionPersistence { +func (o LoadbalancerListenerUdpOutput) ToLoadbalancerListenerUdpPtrOutputWithContext(ctx context.Context) LoadbalancerListenerUdpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadbalancerListenerUdp) *LoadbalancerListenerUdp { return &v - }).(LoadbalancerTargetPoolSessionPersistencePtrOutput) + }).(LoadbalancerListenerUdpPtrOutput) } -// 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 LoadbalancerTargetPoolSessionPersistenceOutput) UseSourceIpAddress() pulumi.BoolPtrOutput { - return o.ApplyT(func(v LoadbalancerTargetPoolSessionPersistence) *bool { return v.UseSourceIpAddress }).(pulumi.BoolPtrOutput) +// Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. The format is a duration and the unit must be seconds. Example: 30s +func (o LoadbalancerListenerUdpOutput) IdleTimeout() pulumi.StringPtrOutput { + return o.ApplyT(func(v LoadbalancerListenerUdp) *string { return v.IdleTimeout }).(pulumi.StringPtrOutput) } -type LoadbalancerTargetPoolSessionPersistencePtrOutput struct{ *pulumi.OutputState } +type LoadbalancerListenerUdpPtrOutput struct{ *pulumi.OutputState } -func (LoadbalancerTargetPoolSessionPersistencePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LoadbalancerTargetPoolSessionPersistence)(nil)).Elem() +func (LoadbalancerListenerUdpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LoadbalancerListenerUdp)(nil)).Elem() } -func (o LoadbalancerTargetPoolSessionPersistencePtrOutput) ToLoadbalancerTargetPoolSessionPersistencePtrOutput() LoadbalancerTargetPoolSessionPersistencePtrOutput { +func (o LoadbalancerListenerUdpPtrOutput) ToLoadbalancerListenerUdpPtrOutput() LoadbalancerListenerUdpPtrOutput { return o } -func (o LoadbalancerTargetPoolSessionPersistencePtrOutput) ToLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(ctx context.Context) LoadbalancerTargetPoolSessionPersistencePtrOutput { +func (o LoadbalancerListenerUdpPtrOutput) ToLoadbalancerListenerUdpPtrOutputWithContext(ctx context.Context) LoadbalancerListenerUdpPtrOutput { return o } -func (o LoadbalancerTargetPoolSessionPersistencePtrOutput) Elem() LoadbalancerTargetPoolSessionPersistenceOutput { - return o.ApplyT(func(v *LoadbalancerTargetPoolSessionPersistence) LoadbalancerTargetPoolSessionPersistence { +func (o LoadbalancerListenerUdpPtrOutput) Elem() LoadbalancerListenerUdpOutput { + return o.ApplyT(func(v *LoadbalancerListenerUdp) LoadbalancerListenerUdp { if v != nil { return *v } - var ret LoadbalancerTargetPoolSessionPersistence + var ret LoadbalancerListenerUdp return ret - }).(LoadbalancerTargetPoolSessionPersistenceOutput) + }).(LoadbalancerListenerUdpOutput) } -// 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 LoadbalancerTargetPoolSessionPersistencePtrOutput) UseSourceIpAddress() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *LoadbalancerTargetPoolSessionPersistence) *bool { +// Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. The format is a duration and the unit must be seconds. Example: 30s +func (o LoadbalancerListenerUdpPtrOutput) IdleTimeout() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadbalancerListenerUdp) *string { if v == nil { return nil } - return v.UseSourceIpAddress - }).(pulumi.BoolPtrOutput) + return v.IdleTimeout + }).(pulumi.StringPtrOutput) } -type LoadbalancerTargetPoolTarget struct { - // Target display name - DisplayName string `pulumi:"displayName"` - // Target IP - Ip string `pulumi:"ip"` +type LoadbalancerNetwork struct { + // Openstack network ID. + NetworkId string `pulumi:"networkId"` + // The role defines how the load balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. + Role string `pulumi:"role"` } -// LoadbalancerTargetPoolTargetInput is an input type that accepts LoadbalancerTargetPoolTargetArgs and LoadbalancerTargetPoolTargetOutput values. -// You can construct a concrete instance of `LoadbalancerTargetPoolTargetInput` via: +// LoadbalancerNetworkInput is an input type that accepts LoadbalancerNetworkArgs and LoadbalancerNetworkOutput values. +// You can construct a concrete instance of `LoadbalancerNetworkInput` via: // -// LoadbalancerTargetPoolTargetArgs{...} -type LoadbalancerTargetPoolTargetInput interface { +// LoadbalancerNetworkArgs{...} +type LoadbalancerNetworkInput interface { pulumi.Input - ToLoadbalancerTargetPoolTargetOutput() LoadbalancerTargetPoolTargetOutput - ToLoadbalancerTargetPoolTargetOutputWithContext(context.Context) LoadbalancerTargetPoolTargetOutput + ToLoadbalancerNetworkOutput() LoadbalancerNetworkOutput + ToLoadbalancerNetworkOutputWithContext(context.Context) LoadbalancerNetworkOutput } -type LoadbalancerTargetPoolTargetArgs struct { - // Target display name - DisplayName pulumi.StringInput `pulumi:"displayName"` - // Target IP - Ip pulumi.StringInput `pulumi:"ip"` +type LoadbalancerNetworkArgs struct { + // Openstack network ID. + NetworkId pulumi.StringInput `pulumi:"networkId"` + // The role defines how the 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 (LoadbalancerTargetPoolTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerTargetPoolTarget)(nil)).Elem() +func (LoadbalancerNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerNetwork)(nil)).Elem() } -func (i LoadbalancerTargetPoolTargetArgs) ToLoadbalancerTargetPoolTargetOutput() LoadbalancerTargetPoolTargetOutput { - return i.ToLoadbalancerTargetPoolTargetOutputWithContext(context.Background()) +func (i LoadbalancerNetworkArgs) ToLoadbalancerNetworkOutput() LoadbalancerNetworkOutput { + return i.ToLoadbalancerNetworkOutputWithContext(context.Background()) } -func (i LoadbalancerTargetPoolTargetArgs) ToLoadbalancerTargetPoolTargetOutputWithContext(ctx context.Context) LoadbalancerTargetPoolTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerTargetPoolTargetOutput) +func (i LoadbalancerNetworkArgs) ToLoadbalancerNetworkOutputWithContext(ctx context.Context) LoadbalancerNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerNetworkOutput) } -// LoadbalancerTargetPoolTargetArrayInput is an input type that accepts LoadbalancerTargetPoolTargetArray and LoadbalancerTargetPoolTargetArrayOutput values. -// You can construct a concrete instance of `LoadbalancerTargetPoolTargetArrayInput` via: +// LoadbalancerNetworkArrayInput is an input type that accepts LoadbalancerNetworkArray and LoadbalancerNetworkArrayOutput values. +// You can construct a concrete instance of `LoadbalancerNetworkArrayInput` via: // -// LoadbalancerTargetPoolTargetArray{ LoadbalancerTargetPoolTargetArgs{...} } -type LoadbalancerTargetPoolTargetArrayInput interface { +// LoadbalancerNetworkArray{ LoadbalancerNetworkArgs{...} } +type LoadbalancerNetworkArrayInput interface { pulumi.Input - ToLoadbalancerTargetPoolTargetArrayOutput() LoadbalancerTargetPoolTargetArrayOutput - ToLoadbalancerTargetPoolTargetArrayOutputWithContext(context.Context) LoadbalancerTargetPoolTargetArrayOutput + ToLoadbalancerNetworkArrayOutput() LoadbalancerNetworkArrayOutput + ToLoadbalancerNetworkArrayOutputWithContext(context.Context) LoadbalancerNetworkArrayOutput } -type LoadbalancerTargetPoolTargetArray []LoadbalancerTargetPoolTargetInput +type LoadbalancerNetworkArray []LoadbalancerNetworkInput -func (LoadbalancerTargetPoolTargetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]LoadbalancerTargetPoolTarget)(nil)).Elem() +func (LoadbalancerNetworkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LoadbalancerNetwork)(nil)).Elem() } -func (i LoadbalancerTargetPoolTargetArray) ToLoadbalancerTargetPoolTargetArrayOutput() LoadbalancerTargetPoolTargetArrayOutput { - return i.ToLoadbalancerTargetPoolTargetArrayOutputWithContext(context.Background()) +func (i LoadbalancerNetworkArray) ToLoadbalancerNetworkArrayOutput() LoadbalancerNetworkArrayOutput { + return i.ToLoadbalancerNetworkArrayOutputWithContext(context.Background()) } -func (i LoadbalancerTargetPoolTargetArray) ToLoadbalancerTargetPoolTargetArrayOutputWithContext(ctx context.Context) LoadbalancerTargetPoolTargetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerTargetPoolTargetArrayOutput) +func (i LoadbalancerNetworkArray) ToLoadbalancerNetworkArrayOutputWithContext(ctx context.Context) LoadbalancerNetworkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerNetworkArrayOutput) } -type LoadbalancerTargetPoolTargetOutput struct{ *pulumi.OutputState } +type LoadbalancerNetworkOutput struct{ *pulumi.OutputState } -func (LoadbalancerTargetPoolTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LoadbalancerTargetPoolTarget)(nil)).Elem() +func (LoadbalancerNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerNetwork)(nil)).Elem() } -func (o LoadbalancerTargetPoolTargetOutput) ToLoadbalancerTargetPoolTargetOutput() LoadbalancerTargetPoolTargetOutput { +func (o LoadbalancerNetworkOutput) ToLoadbalancerNetworkOutput() LoadbalancerNetworkOutput { return o } -func (o LoadbalancerTargetPoolTargetOutput) ToLoadbalancerTargetPoolTargetOutputWithContext(ctx context.Context) LoadbalancerTargetPoolTargetOutput { +func (o LoadbalancerNetworkOutput) ToLoadbalancerNetworkOutputWithContext(ctx context.Context) LoadbalancerNetworkOutput { return o } -// Target display name -func (o LoadbalancerTargetPoolTargetOutput) DisplayName() pulumi.StringOutput { - return o.ApplyT(func(v LoadbalancerTargetPoolTarget) string { return v.DisplayName }).(pulumi.StringOutput) +// Openstack network ID. +func (o LoadbalancerNetworkOutput) NetworkId() pulumi.StringOutput { + return o.ApplyT(func(v LoadbalancerNetwork) string { return v.NetworkId }).(pulumi.StringOutput) } -// Target IP -func (o LoadbalancerTargetPoolTargetOutput) Ip() pulumi.StringOutput { - return o.ApplyT(func(v LoadbalancerTargetPoolTarget) string { return v.Ip }).(pulumi.StringOutput) +// The role defines how the load balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. +func (o LoadbalancerNetworkOutput) Role() pulumi.StringOutput { + return o.ApplyT(func(v LoadbalancerNetwork) string { return v.Role }).(pulumi.StringOutput) } -type LoadbalancerTargetPoolTargetArrayOutput struct{ *pulumi.OutputState } +type LoadbalancerNetworkArrayOutput struct{ *pulumi.OutputState } -func (LoadbalancerTargetPoolTargetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]LoadbalancerTargetPoolTarget)(nil)).Elem() -} +func (LoadbalancerNetworkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LoadbalancerNetwork)(nil)).Elem() +} -func (o LoadbalancerTargetPoolTargetArrayOutput) ToLoadbalancerTargetPoolTargetArrayOutput() LoadbalancerTargetPoolTargetArrayOutput { +func (o LoadbalancerNetworkArrayOutput) ToLoadbalancerNetworkArrayOutput() LoadbalancerNetworkArrayOutput { return o } -func (o LoadbalancerTargetPoolTargetArrayOutput) ToLoadbalancerTargetPoolTargetArrayOutputWithContext(ctx context.Context) LoadbalancerTargetPoolTargetArrayOutput { +func (o LoadbalancerNetworkArrayOutput) ToLoadbalancerNetworkArrayOutputWithContext(ctx context.Context) LoadbalancerNetworkArrayOutput { return o } -func (o LoadbalancerTargetPoolTargetArrayOutput) Index(i pulumi.IntInput) LoadbalancerTargetPoolTargetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) LoadbalancerTargetPoolTarget { - return vs[0].([]LoadbalancerTargetPoolTarget)[vs[1].(int)] - }).(LoadbalancerTargetPoolTargetOutput) +func (o LoadbalancerNetworkArrayOutput) Index(i pulumi.IntInput) LoadbalancerNetworkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LoadbalancerNetwork { + return vs[0].([]LoadbalancerNetwork)[vs[1].(int)] + }).(LoadbalancerNetworkOutput) } -type LogmeInstanceParameters 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 LoadbalancerOptions 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. Not changeable after creation. + Observability *LoadbalancerOptionsObservability `pulumi:"observability"` + // If true, Load Balancer is accessible only via a private network IP address. + PrivateNetworkOnly *bool `pulumi:"privateNetworkOnly"` } -// LogmeInstanceParametersInput is an input type that accepts LogmeInstanceParametersArgs and LogmeInstanceParametersOutput values. -// You can construct a concrete instance of `LogmeInstanceParametersInput` via: +// LoadbalancerOptionsInput is an input type that accepts LoadbalancerOptionsArgs and LoadbalancerOptionsOutput values. +// You can construct a concrete instance of `LoadbalancerOptionsInput` via: // -// LogmeInstanceParametersArgs{...} -type LogmeInstanceParametersInput interface { +// LoadbalancerOptionsArgs{...} +type LoadbalancerOptionsInput interface { pulumi.Input - ToLogmeInstanceParametersOutput() LogmeInstanceParametersOutput - ToLogmeInstanceParametersOutputWithContext(context.Context) LogmeInstanceParametersOutput + ToLoadbalancerOptionsOutput() LoadbalancerOptionsOutput + ToLoadbalancerOptionsOutputWithContext(context.Context) LoadbalancerOptionsOutput } -type LogmeInstanceParametersArgs struct { - // Enable monitoring. - EnableMonitoring pulumi.BoolPtrInput `pulumi:"enableMonitoring"` - FluentdTcp pulumi.IntPtrInput `pulumi:"fluentdTcp"` - FluentdTls pulumi.IntPtrInput `pulumi:"fluentdTls"` - FluentdTlsCiphers pulumi.StringPtrInput `pulumi:"fluentdTlsCiphers"` - FluentdTlsMaxVersion pulumi.StringPtrInput `pulumi:"fluentdTlsMaxVersion"` - FluentdTlsMinVersion pulumi.StringPtrInput `pulumi:"fluentdTlsMinVersion"` - FluentdTlsVersion pulumi.StringPtrInput `pulumi:"fluentdTlsVersion"` - FluentdUdp pulumi.IntPtrInput `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.StringPtrInput `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.StringPtrInput `pulumi:"ismDeletionAfter"` - IsmJitter pulumi.Float64PtrInput `pulumi:"ismJitter"` - // Jitter of the execution time. - IsmJobInterval pulumi.IntPtrInput `pulumi:"ismJobInterval"` - // The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. - JavaHeapspace pulumi.IntPtrInput `pulumi:"javaHeapspace"` - // The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. - JavaMaxmetaspace pulumi.IntPtrInput `pulumi:"javaMaxmetaspace"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold pulumi.IntPtrInput `pulumi:"maxDiskThreshold"` - // The frequency in seconds at which metrics are emitted (in seconds). - MetricsFrequency pulumi.IntPtrInput `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.StringPtrInput `pulumi:"metricsPrefix"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId pulumi.StringPtrInput `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.StringPtrInput `pulumi:"sgwAcl"` - // List of syslog servers to send logs to. - Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` +type LoadbalancerOptionsArgs 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. Not changeable after creation. + Observability LoadbalancerOptionsObservabilityPtrInput `pulumi:"observability"` + // If true, Load Balancer is accessible only via a private network IP address. + PrivateNetworkOnly pulumi.BoolPtrInput `pulumi:"privateNetworkOnly"` } -func (LogmeInstanceParametersArgs) ElementType() reflect.Type { - return reflect.TypeOf((*LogmeInstanceParameters)(nil)).Elem() +func (LoadbalancerOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerOptions)(nil)).Elem() } -func (i LogmeInstanceParametersArgs) ToLogmeInstanceParametersOutput() LogmeInstanceParametersOutput { - return i.ToLogmeInstanceParametersOutputWithContext(context.Background()) +func (i LoadbalancerOptionsArgs) ToLoadbalancerOptionsOutput() LoadbalancerOptionsOutput { + return i.ToLoadbalancerOptionsOutputWithContext(context.Background()) } -func (i LogmeInstanceParametersArgs) ToLogmeInstanceParametersOutputWithContext(ctx context.Context) LogmeInstanceParametersOutput { - return pulumi.ToOutputWithContext(ctx, i).(LogmeInstanceParametersOutput) +func (i LoadbalancerOptionsArgs) ToLoadbalancerOptionsOutputWithContext(ctx context.Context) LoadbalancerOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsOutput) } -func (i LogmeInstanceParametersArgs) ToLogmeInstanceParametersPtrOutput() LogmeInstanceParametersPtrOutput { - return i.ToLogmeInstanceParametersPtrOutputWithContext(context.Background()) +func (i LoadbalancerOptionsArgs) ToLoadbalancerOptionsPtrOutput() LoadbalancerOptionsPtrOutput { + return i.ToLoadbalancerOptionsPtrOutputWithContext(context.Background()) } -func (i LogmeInstanceParametersArgs) ToLogmeInstanceParametersPtrOutputWithContext(ctx context.Context) LogmeInstanceParametersPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LogmeInstanceParametersOutput).ToLogmeInstanceParametersPtrOutputWithContext(ctx) +func (i LoadbalancerOptionsArgs) ToLoadbalancerOptionsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsOutput).ToLoadbalancerOptionsPtrOutputWithContext(ctx) } -// LogmeInstanceParametersPtrInput is an input type that accepts LogmeInstanceParametersArgs, LogmeInstanceParametersPtr and LogmeInstanceParametersPtrOutput values. -// You can construct a concrete instance of `LogmeInstanceParametersPtrInput` via: +// LoadbalancerOptionsPtrInput is an input type that accepts LoadbalancerOptionsArgs, LoadbalancerOptionsPtr and LoadbalancerOptionsPtrOutput values. +// You can construct a concrete instance of `LoadbalancerOptionsPtrInput` via: // -// LogmeInstanceParametersArgs{...} +// LoadbalancerOptionsArgs{...} // // or: // // nil -type LogmeInstanceParametersPtrInput interface { +type LoadbalancerOptionsPtrInput interface { pulumi.Input - ToLogmeInstanceParametersPtrOutput() LogmeInstanceParametersPtrOutput - ToLogmeInstanceParametersPtrOutputWithContext(context.Context) LogmeInstanceParametersPtrOutput + ToLoadbalancerOptionsPtrOutput() LoadbalancerOptionsPtrOutput + ToLoadbalancerOptionsPtrOutputWithContext(context.Context) LoadbalancerOptionsPtrOutput } -type logmeInstanceParametersPtrType LogmeInstanceParametersArgs +type loadbalancerOptionsPtrType LoadbalancerOptionsArgs -func LogmeInstanceParametersPtr(v *LogmeInstanceParametersArgs) LogmeInstanceParametersPtrInput { - return (*logmeInstanceParametersPtrType)(v) +func LoadbalancerOptionsPtr(v *LoadbalancerOptionsArgs) LoadbalancerOptionsPtrInput { + return (*loadbalancerOptionsPtrType)(v) } -func (*logmeInstanceParametersPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**LogmeInstanceParameters)(nil)).Elem() +func (*loadbalancerOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LoadbalancerOptions)(nil)).Elem() } -func (i *logmeInstanceParametersPtrType) ToLogmeInstanceParametersPtrOutput() LogmeInstanceParametersPtrOutput { - return i.ToLogmeInstanceParametersPtrOutputWithContext(context.Background()) +func (i *loadbalancerOptionsPtrType) ToLoadbalancerOptionsPtrOutput() LoadbalancerOptionsPtrOutput { + return i.ToLoadbalancerOptionsPtrOutputWithContext(context.Background()) } -func (i *logmeInstanceParametersPtrType) ToLogmeInstanceParametersPtrOutputWithContext(ctx context.Context) LogmeInstanceParametersPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(LogmeInstanceParametersPtrOutput) +func (i *loadbalancerOptionsPtrType) ToLoadbalancerOptionsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsPtrOutput) } -type LogmeInstanceParametersOutput struct{ *pulumi.OutputState } +type LoadbalancerOptionsOutput struct{ *pulumi.OutputState } -func (LogmeInstanceParametersOutput) ElementType() reflect.Type { - return reflect.TypeOf((*LogmeInstanceParameters)(nil)).Elem() +func (LoadbalancerOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerOptions)(nil)).Elem() } -func (o LogmeInstanceParametersOutput) ToLogmeInstanceParametersOutput() LogmeInstanceParametersOutput { +func (o LoadbalancerOptionsOutput) ToLoadbalancerOptionsOutput() LoadbalancerOptionsOutput { return o } -func (o LogmeInstanceParametersOutput) ToLogmeInstanceParametersOutputWithContext(ctx context.Context) LogmeInstanceParametersOutput { +func (o LoadbalancerOptionsOutput) ToLoadbalancerOptionsOutputWithContext(ctx context.Context) LoadbalancerOptionsOutput { return o } -func (o LogmeInstanceParametersOutput) ToLogmeInstanceParametersPtrOutput() LogmeInstanceParametersPtrOutput { - return o.ToLogmeInstanceParametersPtrOutputWithContext(context.Background()) +func (o LoadbalancerOptionsOutput) ToLoadbalancerOptionsPtrOutput() LoadbalancerOptionsPtrOutput { + return o.ToLoadbalancerOptionsPtrOutputWithContext(context.Background()) } -func (o LogmeInstanceParametersOutput) ToLogmeInstanceParametersPtrOutputWithContext(ctx context.Context) LogmeInstanceParametersPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v LogmeInstanceParameters) *LogmeInstanceParameters { +func (o LoadbalancerOptionsOutput) ToLoadbalancerOptionsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadbalancerOptions) *LoadbalancerOptions { return &v - }).(LogmeInstanceParametersPtrOutput) + }).(LoadbalancerOptionsPtrOutput) } -// Enable monitoring. -func (o LogmeInstanceParametersOutput) EnableMonitoring() pulumi.BoolPtrOutput { - return o.ApplyT(func(v LogmeInstanceParameters) *bool { return v.EnableMonitoring }).(pulumi.BoolPtrOutput) +// Load Balancer is accessible only from an IP address in this range. +func (o LoadbalancerOptionsOutput) Acls() pulumi.StringArrayOutput { + return o.ApplyT(func(v LoadbalancerOptions) []string { return v.Acls }).(pulumi.StringArrayOutput) } -func (o LogmeInstanceParametersOutput) FluentdTcp() pulumi.IntPtrOutput { - return o.ApplyT(func(v LogmeInstanceParameters) *int { return v.FluentdTcp }).(pulumi.IntPtrOutput) +// We offer Load Balancer metrics observability via ARGUS or external solutions. Not changeable after creation. +func (o LoadbalancerOptionsOutput) Observability() LoadbalancerOptionsObservabilityPtrOutput { + return o.ApplyT(func(v LoadbalancerOptions) *LoadbalancerOptionsObservability { return v.Observability }).(LoadbalancerOptionsObservabilityPtrOutput) } -func (o LogmeInstanceParametersOutput) FluentdTls() pulumi.IntPtrOutput { - return o.ApplyT(func(v LogmeInstanceParameters) *int { return v.FluentdTls }).(pulumi.IntPtrOutput) +// If true, Load Balancer is accessible only via a private network IP address. +func (o LoadbalancerOptionsOutput) PrivateNetworkOnly() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LoadbalancerOptions) *bool { return v.PrivateNetworkOnly }).(pulumi.BoolPtrOutput) } -func (o LogmeInstanceParametersOutput) FluentdTlsCiphers() pulumi.StringPtrOutput { - return o.ApplyT(func(v LogmeInstanceParameters) *string { return v.FluentdTlsCiphers }).(pulumi.StringPtrOutput) -} +type LoadbalancerOptionsPtrOutput struct{ *pulumi.OutputState } -func (o LogmeInstanceParametersOutput) FluentdTlsMaxVersion() pulumi.StringPtrOutput { - return o.ApplyT(func(v LogmeInstanceParameters) *string { return v.FluentdTlsMaxVersion }).(pulumi.StringPtrOutput) +func (LoadbalancerOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LoadbalancerOptions)(nil)).Elem() } -func (o LogmeInstanceParametersOutput) FluentdTlsMinVersion() pulumi.StringPtrOutput { - return o.ApplyT(func(v LogmeInstanceParameters) *string { return v.FluentdTlsMinVersion }).(pulumi.StringPtrOutput) +func (o LoadbalancerOptionsPtrOutput) ToLoadbalancerOptionsPtrOutput() LoadbalancerOptionsPtrOutput { + return o } -func (o LogmeInstanceParametersOutput) FluentdTlsVersion() pulumi.StringPtrOutput { - return o.ApplyT(func(v LogmeInstanceParameters) *string { return v.FluentdTlsVersion }).(pulumi.StringPtrOutput) +func (o LoadbalancerOptionsPtrOutput) ToLoadbalancerOptionsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsPtrOutput { + return o } -func (o LogmeInstanceParametersOutput) FluentdUdp() pulumi.IntPtrOutput { - return o.ApplyT(func(v LogmeInstanceParameters) *int { return v.FluentdUdp }).(pulumi.IntPtrOutput) +func (o LoadbalancerOptionsPtrOutput) Elem() LoadbalancerOptionsOutput { + return o.ApplyT(func(v *LoadbalancerOptions) LoadbalancerOptions { + if v != nil { + return *v + } + var ret LoadbalancerOptions + return ret + }).(LoadbalancerOptionsOutput) } -// 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 LogmeInstanceParametersOutput) Graphite() pulumi.StringPtrOutput { - return o.ApplyT(func(v LogmeInstanceParameters) *string { return v.Graphite }).(pulumi.StringPtrOutput) +// Load Balancer is accessible only from an IP address in this range. +func (o LoadbalancerOptionsPtrOutput) Acls() pulumi.StringArrayOutput { + return o.ApplyT(func(v *LoadbalancerOptions) []string { + if v == nil { + return nil + } + return v.Acls + }).(pulumi.StringArrayOutput) } -// 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 LogmeInstanceParametersOutput) IsmDeletionAfter() pulumi.StringPtrOutput { - return o.ApplyT(func(v LogmeInstanceParameters) *string { return v.IsmDeletionAfter }).(pulumi.StringPtrOutput) +// We offer Load Balancer metrics observability via ARGUS or external solutions. Not changeable after creation. +func (o LoadbalancerOptionsPtrOutput) Observability() LoadbalancerOptionsObservabilityPtrOutput { + return o.ApplyT(func(v *LoadbalancerOptions) *LoadbalancerOptionsObservability { + if v == nil { + return nil + } + return v.Observability + }).(LoadbalancerOptionsObservabilityPtrOutput) } -func (o LogmeInstanceParametersOutput) IsmJitter() pulumi.Float64PtrOutput { - return o.ApplyT(func(v LogmeInstanceParameters) *float64 { return v.IsmJitter }).(pulumi.Float64PtrOutput) +// If true, Load Balancer is accessible only via a private network IP address. +func (o LoadbalancerOptionsPtrOutput) PrivateNetworkOnly() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *LoadbalancerOptions) *bool { + if v == nil { + return nil + } + return v.PrivateNetworkOnly + }).(pulumi.BoolPtrOutput) } -// Jitter of the execution time. -func (o LogmeInstanceParametersOutput) IsmJobInterval() pulumi.IntPtrOutput { - return o.ApplyT(func(v LogmeInstanceParameters) *int { return v.IsmJobInterval }).(pulumi.IntPtrOutput) +type LoadbalancerOptionsObservability struct { + // Observability logs configuration. Not changeable after creation. + Logs *LoadbalancerOptionsObservabilityLogs `pulumi:"logs"` + // Observability metrics configuration. Not changeable after creation. + Metrics *LoadbalancerOptionsObservabilityMetrics `pulumi:"metrics"` } -// The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. -func (o LogmeInstanceParametersOutput) JavaHeapspace() pulumi.IntPtrOutput { - return o.ApplyT(func(v LogmeInstanceParameters) *int { return v.JavaHeapspace }).(pulumi.IntPtrOutput) +// LoadbalancerOptionsObservabilityInput is an input type that accepts LoadbalancerOptionsObservabilityArgs and LoadbalancerOptionsObservabilityOutput values. +// You can construct a concrete instance of `LoadbalancerOptionsObservabilityInput` via: +// +// LoadbalancerOptionsObservabilityArgs{...} +type LoadbalancerOptionsObservabilityInput interface { + pulumi.Input + + ToLoadbalancerOptionsObservabilityOutput() LoadbalancerOptionsObservabilityOutput + ToLoadbalancerOptionsObservabilityOutputWithContext(context.Context) LoadbalancerOptionsObservabilityOutput } -// The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. -func (o LogmeInstanceParametersOutput) JavaMaxmetaspace() pulumi.IntPtrOutput { - return o.ApplyT(func(v LogmeInstanceParameters) *int { return v.JavaMaxmetaspace }).(pulumi.IntPtrOutput) +type LoadbalancerOptionsObservabilityArgs struct { + // Observability logs configuration. Not changeable after creation. + Logs LoadbalancerOptionsObservabilityLogsPtrInput `pulumi:"logs"` + // Observability metrics configuration. Not changeable after creation. + Metrics LoadbalancerOptionsObservabilityMetricsPtrInput `pulumi:"metrics"` } -// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. -func (o LogmeInstanceParametersOutput) MaxDiskThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v LogmeInstanceParameters) *int { return v.MaxDiskThreshold }).(pulumi.IntPtrOutput) +func (LoadbalancerOptionsObservabilityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerOptionsObservability)(nil)).Elem() } -// The frequency in seconds at which metrics are emitted (in seconds). -func (o LogmeInstanceParametersOutput) MetricsFrequency() pulumi.IntPtrOutput { - return o.ApplyT(func(v LogmeInstanceParameters) *int { return v.MetricsFrequency }).(pulumi.IntPtrOutput) +func (i LoadbalancerOptionsObservabilityArgs) ToLoadbalancerOptionsObservabilityOutput() LoadbalancerOptionsObservabilityOutput { + return i.ToLoadbalancerOptionsObservabilityOutputWithContext(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 LogmeInstanceParametersOutput) MetricsPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v LogmeInstanceParameters) *string { return v.MetricsPrefix }).(pulumi.StringPtrOutput) +func (i LoadbalancerOptionsObservabilityArgs) ToLoadbalancerOptionsObservabilityOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsObservabilityOutput) } -// The ID of the STACKIT monitoring instance. -func (o LogmeInstanceParametersOutput) MonitoringInstanceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v LogmeInstanceParameters) *string { return v.MonitoringInstanceId }).(pulumi.StringPtrOutput) +func (i LoadbalancerOptionsObservabilityArgs) ToLoadbalancerOptionsObservabilityPtrOutput() LoadbalancerOptionsObservabilityPtrOutput { + return i.ToLoadbalancerOptionsObservabilityPtrOutputWithContext(context.Background()) } -func (o LogmeInstanceParametersOutput) OpensearchTlsCiphers() pulumi.StringArrayOutput { - return o.ApplyT(func(v LogmeInstanceParameters) []string { return v.OpensearchTlsCiphers }).(pulumi.StringArrayOutput) +func (i LoadbalancerOptionsObservabilityArgs) ToLoadbalancerOptionsObservabilityPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsObservabilityOutput).ToLoadbalancerOptionsObservabilityPtrOutputWithContext(ctx) } -func (o LogmeInstanceParametersOutput) OpensearchTlsProtocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v LogmeInstanceParameters) []string { return v.OpensearchTlsProtocols }).(pulumi.StringArrayOutput) +// LoadbalancerOptionsObservabilityPtrInput is an input type that accepts LoadbalancerOptionsObservabilityArgs, LoadbalancerOptionsObservabilityPtr and LoadbalancerOptionsObservabilityPtrOutput values. +// You can construct a concrete instance of `LoadbalancerOptionsObservabilityPtrInput` via: +// +// LoadbalancerOptionsObservabilityArgs{...} +// +// or: +// +// nil +type LoadbalancerOptionsObservabilityPtrInput interface { + pulumi.Input + + ToLoadbalancerOptionsObservabilityPtrOutput() LoadbalancerOptionsObservabilityPtrOutput + ToLoadbalancerOptionsObservabilityPtrOutputWithContext(context.Context) LoadbalancerOptionsObservabilityPtrOutput } -// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. -func (o LogmeInstanceParametersOutput) SgwAcl() pulumi.StringPtrOutput { - return o.ApplyT(func(v LogmeInstanceParameters) *string { return v.SgwAcl }).(pulumi.StringPtrOutput) +type loadbalancerOptionsObservabilityPtrType LoadbalancerOptionsObservabilityArgs + +func LoadbalancerOptionsObservabilityPtr(v *LoadbalancerOptionsObservabilityArgs) LoadbalancerOptionsObservabilityPtrInput { + return (*loadbalancerOptionsObservabilityPtrType)(v) } -// List of syslog servers to send logs to. -func (o LogmeInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { - return o.ApplyT(func(v LogmeInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +func (*loadbalancerOptionsObservabilityPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LoadbalancerOptionsObservability)(nil)).Elem() } -type LogmeInstanceParametersPtrOutput struct{ *pulumi.OutputState } +func (i *loadbalancerOptionsObservabilityPtrType) ToLoadbalancerOptionsObservabilityPtrOutput() LoadbalancerOptionsObservabilityPtrOutput { + return i.ToLoadbalancerOptionsObservabilityPtrOutputWithContext(context.Background()) +} -func (LogmeInstanceParametersPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**LogmeInstanceParameters)(nil)).Elem() +func (i *loadbalancerOptionsObservabilityPtrType) ToLoadbalancerOptionsObservabilityPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsObservabilityPtrOutput) } -func (o LogmeInstanceParametersPtrOutput) ToLogmeInstanceParametersPtrOutput() LogmeInstanceParametersPtrOutput { +type LoadbalancerOptionsObservabilityOutput struct{ *pulumi.OutputState } + +func (LoadbalancerOptionsObservabilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerOptionsObservability)(nil)).Elem() +} + +func (o LoadbalancerOptionsObservabilityOutput) ToLoadbalancerOptionsObservabilityOutput() LoadbalancerOptionsObservabilityOutput { return o } -func (o LogmeInstanceParametersPtrOutput) ToLogmeInstanceParametersPtrOutputWithContext(ctx context.Context) LogmeInstanceParametersPtrOutput { +func (o LoadbalancerOptionsObservabilityOutput) ToLoadbalancerOptionsObservabilityOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityOutput { return o } -func (o LogmeInstanceParametersPtrOutput) Elem() LogmeInstanceParametersOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) LogmeInstanceParameters { - if v != nil { - return *v - } - var ret LogmeInstanceParameters - return ret - }).(LogmeInstanceParametersOutput) +func (o LoadbalancerOptionsObservabilityOutput) ToLoadbalancerOptionsObservabilityPtrOutput() LoadbalancerOptionsObservabilityPtrOutput { + return o.ToLoadbalancerOptionsObservabilityPtrOutputWithContext(context.Background()) } -// Enable monitoring. -func (o LogmeInstanceParametersPtrOutput) EnableMonitoring() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) *bool { - if v == nil { - return nil - } - return v.EnableMonitoring - }).(pulumi.BoolPtrOutput) +func (o LoadbalancerOptionsObservabilityOutput) ToLoadbalancerOptionsObservabilityPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadbalancerOptionsObservability) *LoadbalancerOptionsObservability { + return &v + }).(LoadbalancerOptionsObservabilityPtrOutput) } -func (o LogmeInstanceParametersPtrOutput) FluentdTcp() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) *int { - if v == nil { - return nil - } - return v.FluentdTcp - }).(pulumi.IntPtrOutput) +// Observability logs configuration. Not changeable after creation. +func (o LoadbalancerOptionsObservabilityOutput) Logs() LoadbalancerOptionsObservabilityLogsPtrOutput { + return o.ApplyT(func(v LoadbalancerOptionsObservability) *LoadbalancerOptionsObservabilityLogs { return v.Logs }).(LoadbalancerOptionsObservabilityLogsPtrOutput) } -func (o LogmeInstanceParametersPtrOutput) FluentdTls() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) *int { - if v == nil { - return nil - } - return v.FluentdTls - }).(pulumi.IntPtrOutput) +// Observability metrics configuration. Not changeable after creation. +func (o LoadbalancerOptionsObservabilityOutput) Metrics() LoadbalancerOptionsObservabilityMetricsPtrOutput { + return o.ApplyT(func(v LoadbalancerOptionsObservability) *LoadbalancerOptionsObservabilityMetrics { return v.Metrics }).(LoadbalancerOptionsObservabilityMetricsPtrOutput) } -func (o LogmeInstanceParametersPtrOutput) FluentdTlsCiphers() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) *string { - if v == nil { - return nil - } - return v.FluentdTlsCiphers - }).(pulumi.StringPtrOutput) +type LoadbalancerOptionsObservabilityPtrOutput struct{ *pulumi.OutputState } + +func (LoadbalancerOptionsObservabilityPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LoadbalancerOptionsObservability)(nil)).Elem() } -func (o LogmeInstanceParametersPtrOutput) FluentdTlsMaxVersion() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) *string { - if v == nil { - return nil - } - return v.FluentdTlsMaxVersion - }).(pulumi.StringPtrOutput) +func (o LoadbalancerOptionsObservabilityPtrOutput) ToLoadbalancerOptionsObservabilityPtrOutput() LoadbalancerOptionsObservabilityPtrOutput { + return o } -func (o LogmeInstanceParametersPtrOutput) FluentdTlsMinVersion() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) *string { - if v == nil { - return nil - } - return v.FluentdTlsMinVersion - }).(pulumi.StringPtrOutput) +func (o LoadbalancerOptionsObservabilityPtrOutput) ToLoadbalancerOptionsObservabilityPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityPtrOutput { + return o } -func (o LogmeInstanceParametersPtrOutput) FluentdTlsVersion() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) *string { - if v == nil { - return nil +func (o LoadbalancerOptionsObservabilityPtrOutput) Elem() LoadbalancerOptionsObservabilityOutput { + return o.ApplyT(func(v *LoadbalancerOptionsObservability) LoadbalancerOptionsObservability { + if v != nil { + return *v } - return v.FluentdTlsVersion - }).(pulumi.StringPtrOutput) + var ret LoadbalancerOptionsObservability + return ret + }).(LoadbalancerOptionsObservabilityOutput) } -func (o LogmeInstanceParametersPtrOutput) FluentdUdp() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) *int { +// Observability logs configuration. Not changeable after creation. +func (o LoadbalancerOptionsObservabilityPtrOutput) Logs() LoadbalancerOptionsObservabilityLogsPtrOutput { + return o.ApplyT(func(v *LoadbalancerOptionsObservability) *LoadbalancerOptionsObservabilityLogs { if v == nil { return nil } - return v.FluentdUdp - }).(pulumi.IntPtrOutput) + return v.Logs + }).(LoadbalancerOptionsObservabilityLogsPtrOutput) } -// 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 LogmeInstanceParametersPtrOutput) Graphite() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) *string { +// Observability metrics configuration. Not changeable after creation. +func (o LoadbalancerOptionsObservabilityPtrOutput) Metrics() LoadbalancerOptionsObservabilityMetricsPtrOutput { + return o.ApplyT(func(v *LoadbalancerOptionsObservability) *LoadbalancerOptionsObservabilityMetrics { if v == nil { return nil } - return v.Graphite - }).(pulumi.StringPtrOutput) + return v.Metrics + }).(LoadbalancerOptionsObservabilityMetricsPtrOutput) } -// 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 LogmeInstanceParametersPtrOutput) IsmDeletionAfter() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) *string { - if v == nil { - return nil - } - return v.IsmDeletionAfter - }).(pulumi.StringPtrOutput) +type LoadbalancerOptionsObservabilityLogs struct { + // Credentials reference for logs. Not changeable after creation. + CredentialsRef *string `pulumi:"credentialsRef"` + // The ARGUS/Loki remote write Push URL to ship the logs to. Not changeable after creation. + PushUrl *string `pulumi:"pushUrl"` } -func (o LogmeInstanceParametersPtrOutput) IsmJitter() pulumi.Float64PtrOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) *float64 { - if v == nil { - return nil - } - return v.IsmJitter - }).(pulumi.Float64PtrOutput) +// LoadbalancerOptionsObservabilityLogsInput is an input type that accepts LoadbalancerOptionsObservabilityLogsArgs and LoadbalancerOptionsObservabilityLogsOutput values. +// You can construct a concrete instance of `LoadbalancerOptionsObservabilityLogsInput` via: +// +// LoadbalancerOptionsObservabilityLogsArgs{...} +type LoadbalancerOptionsObservabilityLogsInput interface { + pulumi.Input + + ToLoadbalancerOptionsObservabilityLogsOutput() LoadbalancerOptionsObservabilityLogsOutput + ToLoadbalancerOptionsObservabilityLogsOutputWithContext(context.Context) LoadbalancerOptionsObservabilityLogsOutput } -// Jitter of the execution time. -func (o LogmeInstanceParametersPtrOutput) IsmJobInterval() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) *int { - if v == nil { - return nil - } - return v.IsmJobInterval - }).(pulumi.IntPtrOutput) +type LoadbalancerOptionsObservabilityLogsArgs struct { + // Credentials reference for logs. Not changeable after creation. + CredentialsRef pulumi.StringPtrInput `pulumi:"credentialsRef"` + // The ARGUS/Loki remote write Push URL to ship the logs to. Not changeable after creation. + PushUrl pulumi.StringPtrInput `pulumi:"pushUrl"` } -// The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. -func (o LogmeInstanceParametersPtrOutput) JavaHeapspace() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) *int { - if v == nil { - return nil - } - return v.JavaHeapspace - }).(pulumi.IntPtrOutput) +func (LoadbalancerOptionsObservabilityLogsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerOptionsObservabilityLogs)(nil)).Elem() } -// The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. -func (o LogmeInstanceParametersPtrOutput) JavaMaxmetaspace() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) *int { - if v == nil { - return nil - } - return v.JavaMaxmetaspace - }).(pulumi.IntPtrOutput) +func (i LoadbalancerOptionsObservabilityLogsArgs) ToLoadbalancerOptionsObservabilityLogsOutput() LoadbalancerOptionsObservabilityLogsOutput { + return i.ToLoadbalancerOptionsObservabilityLogsOutputWithContext(context.Background()) } -// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. -func (o LogmeInstanceParametersPtrOutput) MaxDiskThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) *int { - if v == nil { - return nil - } - return v.MaxDiskThreshold - }).(pulumi.IntPtrOutput) +func (i LoadbalancerOptionsObservabilityLogsArgs) ToLoadbalancerOptionsObservabilityLogsOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityLogsOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsObservabilityLogsOutput) } -// The frequency in seconds at which metrics are emitted (in seconds). -func (o LogmeInstanceParametersPtrOutput) MetricsFrequency() pulumi.IntPtrOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) *int { - if v == nil { - return nil - } - return v.MetricsFrequency - }).(pulumi.IntPtrOutput) +func (i LoadbalancerOptionsObservabilityLogsArgs) ToLoadbalancerOptionsObservabilityLogsPtrOutput() LoadbalancerOptionsObservabilityLogsPtrOutput { + return i.ToLoadbalancerOptionsObservabilityLogsPtrOutputWithContext(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 LogmeInstanceParametersPtrOutput) MetricsPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) *string { - if v == nil { - return nil - } - return v.MetricsPrefix - }).(pulumi.StringPtrOutput) +func (i LoadbalancerOptionsObservabilityLogsArgs) ToLoadbalancerOptionsObservabilityLogsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityLogsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsObservabilityLogsOutput).ToLoadbalancerOptionsObservabilityLogsPtrOutputWithContext(ctx) } -// The ID of the STACKIT monitoring instance. -func (o LogmeInstanceParametersPtrOutput) MonitoringInstanceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) *string { - if v == nil { - return nil - } - return v.MonitoringInstanceId - }).(pulumi.StringPtrOutput) +// LoadbalancerOptionsObservabilityLogsPtrInput is an input type that accepts LoadbalancerOptionsObservabilityLogsArgs, LoadbalancerOptionsObservabilityLogsPtr and LoadbalancerOptionsObservabilityLogsPtrOutput values. +// You can construct a concrete instance of `LoadbalancerOptionsObservabilityLogsPtrInput` via: +// +// LoadbalancerOptionsObservabilityLogsArgs{...} +// +// or: +// +// nil +type LoadbalancerOptionsObservabilityLogsPtrInput interface { + pulumi.Input + + ToLoadbalancerOptionsObservabilityLogsPtrOutput() LoadbalancerOptionsObservabilityLogsPtrOutput + ToLoadbalancerOptionsObservabilityLogsPtrOutputWithContext(context.Context) LoadbalancerOptionsObservabilityLogsPtrOutput } -func (o LogmeInstanceParametersPtrOutput) OpensearchTlsCiphers() pulumi.StringArrayOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) []string { - if v == nil { - return nil - } - return v.OpensearchTlsCiphers - }).(pulumi.StringArrayOutput) +type loadbalancerOptionsObservabilityLogsPtrType LoadbalancerOptionsObservabilityLogsArgs + +func LoadbalancerOptionsObservabilityLogsPtr(v *LoadbalancerOptionsObservabilityLogsArgs) LoadbalancerOptionsObservabilityLogsPtrInput { + return (*loadbalancerOptionsObservabilityLogsPtrType)(v) } -func (o LogmeInstanceParametersPtrOutput) OpensearchTlsProtocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) []string { - if v == nil { - return nil +func (*loadbalancerOptionsObservabilityLogsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LoadbalancerOptionsObservabilityLogs)(nil)).Elem() +} + +func (i *loadbalancerOptionsObservabilityLogsPtrType) ToLoadbalancerOptionsObservabilityLogsPtrOutput() LoadbalancerOptionsObservabilityLogsPtrOutput { + return i.ToLoadbalancerOptionsObservabilityLogsPtrOutputWithContext(context.Background()) +} + +func (i *loadbalancerOptionsObservabilityLogsPtrType) ToLoadbalancerOptionsObservabilityLogsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityLogsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsObservabilityLogsPtrOutput) +} + +type LoadbalancerOptionsObservabilityLogsOutput struct{ *pulumi.OutputState } + +func (LoadbalancerOptionsObservabilityLogsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerOptionsObservabilityLogs)(nil)).Elem() +} + +func (o LoadbalancerOptionsObservabilityLogsOutput) ToLoadbalancerOptionsObservabilityLogsOutput() LoadbalancerOptionsObservabilityLogsOutput { + return o +} + +func (o LoadbalancerOptionsObservabilityLogsOutput) ToLoadbalancerOptionsObservabilityLogsOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityLogsOutput { + return o +} + +func (o LoadbalancerOptionsObservabilityLogsOutput) ToLoadbalancerOptionsObservabilityLogsPtrOutput() LoadbalancerOptionsObservabilityLogsPtrOutput { + return o.ToLoadbalancerOptionsObservabilityLogsPtrOutputWithContext(context.Background()) +} + +func (o LoadbalancerOptionsObservabilityLogsOutput) ToLoadbalancerOptionsObservabilityLogsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityLogsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadbalancerOptionsObservabilityLogs) *LoadbalancerOptionsObservabilityLogs { + return &v + }).(LoadbalancerOptionsObservabilityLogsPtrOutput) +} + +// Credentials reference for logs. Not changeable after creation. +func (o LoadbalancerOptionsObservabilityLogsOutput) CredentialsRef() pulumi.StringPtrOutput { + return o.ApplyT(func(v LoadbalancerOptionsObservabilityLogs) *string { return v.CredentialsRef }).(pulumi.StringPtrOutput) +} + +// The ARGUS/Loki remote write Push URL to ship the logs to. Not changeable after creation. +func (o LoadbalancerOptionsObservabilityLogsOutput) PushUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v LoadbalancerOptionsObservabilityLogs) *string { return v.PushUrl }).(pulumi.StringPtrOutput) +} + +type LoadbalancerOptionsObservabilityLogsPtrOutput struct{ *pulumi.OutputState } + +func (LoadbalancerOptionsObservabilityLogsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LoadbalancerOptionsObservabilityLogs)(nil)).Elem() +} + +func (o LoadbalancerOptionsObservabilityLogsPtrOutput) ToLoadbalancerOptionsObservabilityLogsPtrOutput() LoadbalancerOptionsObservabilityLogsPtrOutput { + return o +} + +func (o LoadbalancerOptionsObservabilityLogsPtrOutput) ToLoadbalancerOptionsObservabilityLogsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityLogsPtrOutput { + return o +} + +func (o LoadbalancerOptionsObservabilityLogsPtrOutput) Elem() LoadbalancerOptionsObservabilityLogsOutput { + return o.ApplyT(func(v *LoadbalancerOptionsObservabilityLogs) LoadbalancerOptionsObservabilityLogs { + if v != nil { + return *v } - return v.OpensearchTlsProtocols - }).(pulumi.StringArrayOutput) + var ret LoadbalancerOptionsObservabilityLogs + return ret + }).(LoadbalancerOptionsObservabilityLogsOutput) } -// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. -func (o LogmeInstanceParametersPtrOutput) SgwAcl() pulumi.StringPtrOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) *string { +// Credentials reference for logs. Not changeable after creation. +func (o LoadbalancerOptionsObservabilityLogsPtrOutput) CredentialsRef() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadbalancerOptionsObservabilityLogs) *string { if v == nil { return nil } - return v.SgwAcl + return v.CredentialsRef }).(pulumi.StringPtrOutput) } -// List of syslog servers to send logs to. -func (o LogmeInstanceParametersPtrOutput) Syslogs() pulumi.StringArrayOutput { - return o.ApplyT(func(v *LogmeInstanceParameters) []string { +// The ARGUS/Loki remote write Push URL to ship the logs to. Not changeable after creation. +func (o LoadbalancerOptionsObservabilityLogsPtrOutput) PushUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadbalancerOptionsObservabilityLogs) *string { if v == nil { return nil } - return v.Syslogs - }).(pulumi.StringArrayOutput) + return v.PushUrl + }).(pulumi.StringPtrOutput) } -type MariadbInstanceParameters struct { - // 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. Monitoring instances with the plan "Observability-Monitoring-Starter" are not supported. - 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"` +type LoadbalancerOptionsObservabilityMetrics struct { + // Credentials reference for metrics. Not changeable after creation. + CredentialsRef *string `pulumi:"credentialsRef"` + // The ARGUS/Prometheus remote write Push URL to ship the metrics to. Not changeable after creation. + PushUrl *string `pulumi:"pushUrl"` } -// MariadbInstanceParametersInput is an input type that accepts MariadbInstanceParametersArgs and MariadbInstanceParametersOutput values. -// You can construct a concrete instance of `MariadbInstanceParametersInput` via: +// LoadbalancerOptionsObservabilityMetricsInput is an input type that accepts LoadbalancerOptionsObservabilityMetricsArgs and LoadbalancerOptionsObservabilityMetricsOutput values. +// You can construct a concrete instance of `LoadbalancerOptionsObservabilityMetricsInput` via: // -// MariadbInstanceParametersArgs{...} -type MariadbInstanceParametersInput interface { +// LoadbalancerOptionsObservabilityMetricsArgs{...} +type LoadbalancerOptionsObservabilityMetricsInput interface { pulumi.Input - ToMariadbInstanceParametersOutput() MariadbInstanceParametersOutput - ToMariadbInstanceParametersOutputWithContext(context.Context) MariadbInstanceParametersOutput + ToLoadbalancerOptionsObservabilityMetricsOutput() LoadbalancerOptionsObservabilityMetricsOutput + ToLoadbalancerOptionsObservabilityMetricsOutputWithContext(context.Context) LoadbalancerOptionsObservabilityMetricsOutput } -type MariadbInstanceParametersArgs struct { - // Enable monitoring. - EnableMonitoring pulumi.BoolPtrInput `pulumi:"enableMonitoring"` - // Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. - Graphite pulumi.StringPtrInput `pulumi:"graphite"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold pulumi.IntPtrInput `pulumi:"maxDiskThreshold"` - // The frequency in seconds at which metrics are emitted. - MetricsFrequency pulumi.IntPtrInput `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.StringPtrInput `pulumi:"metricsPrefix"` - // The ID of the STACKIT monitoring instance. Monitoring instances with the plan "Observability-Monitoring-Starter" are not supported. - MonitoringInstanceId pulumi.StringPtrInput `pulumi:"monitoringInstanceId"` - // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - SgwAcl pulumi.StringPtrInput `pulumi:"sgwAcl"` - // List of syslog servers to send logs to. - Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` +type LoadbalancerOptionsObservabilityMetricsArgs struct { + // Credentials reference for metrics. Not changeable after creation. + CredentialsRef pulumi.StringPtrInput `pulumi:"credentialsRef"` + // The ARGUS/Prometheus remote write Push URL to ship the metrics to. Not changeable after creation. + PushUrl pulumi.StringPtrInput `pulumi:"pushUrl"` } -func (MariadbInstanceParametersArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MariadbInstanceParameters)(nil)).Elem() +func (LoadbalancerOptionsObservabilityMetricsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerOptionsObservabilityMetrics)(nil)).Elem() } -func (i MariadbInstanceParametersArgs) ToMariadbInstanceParametersOutput() MariadbInstanceParametersOutput { - return i.ToMariadbInstanceParametersOutputWithContext(context.Background()) +func (i LoadbalancerOptionsObservabilityMetricsArgs) ToLoadbalancerOptionsObservabilityMetricsOutput() LoadbalancerOptionsObservabilityMetricsOutput { + return i.ToLoadbalancerOptionsObservabilityMetricsOutputWithContext(context.Background()) } -func (i MariadbInstanceParametersArgs) ToMariadbInstanceParametersOutputWithContext(ctx context.Context) MariadbInstanceParametersOutput { - return pulumi.ToOutputWithContext(ctx, i).(MariadbInstanceParametersOutput) +func (i LoadbalancerOptionsObservabilityMetricsArgs) ToLoadbalancerOptionsObservabilityMetricsOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityMetricsOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsObservabilityMetricsOutput) } -func (i MariadbInstanceParametersArgs) ToMariadbInstanceParametersPtrOutput() MariadbInstanceParametersPtrOutput { - return i.ToMariadbInstanceParametersPtrOutputWithContext(context.Background()) +func (i LoadbalancerOptionsObservabilityMetricsArgs) ToLoadbalancerOptionsObservabilityMetricsPtrOutput() LoadbalancerOptionsObservabilityMetricsPtrOutput { + return i.ToLoadbalancerOptionsObservabilityMetricsPtrOutputWithContext(context.Background()) } -func (i MariadbInstanceParametersArgs) ToMariadbInstanceParametersPtrOutputWithContext(ctx context.Context) MariadbInstanceParametersPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MariadbInstanceParametersOutput).ToMariadbInstanceParametersPtrOutputWithContext(ctx) +func (i LoadbalancerOptionsObservabilityMetricsArgs) ToLoadbalancerOptionsObservabilityMetricsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityMetricsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsObservabilityMetricsOutput).ToLoadbalancerOptionsObservabilityMetricsPtrOutputWithContext(ctx) } -// MariadbInstanceParametersPtrInput is an input type that accepts MariadbInstanceParametersArgs, MariadbInstanceParametersPtr and MariadbInstanceParametersPtrOutput values. -// You can construct a concrete instance of `MariadbInstanceParametersPtrInput` via: +// LoadbalancerOptionsObservabilityMetricsPtrInput is an input type that accepts LoadbalancerOptionsObservabilityMetricsArgs, LoadbalancerOptionsObservabilityMetricsPtr and LoadbalancerOptionsObservabilityMetricsPtrOutput values. +// You can construct a concrete instance of `LoadbalancerOptionsObservabilityMetricsPtrInput` via: // -// MariadbInstanceParametersArgs{...} +// LoadbalancerOptionsObservabilityMetricsArgs{...} // // or: // // nil -type MariadbInstanceParametersPtrInput interface { +type LoadbalancerOptionsObservabilityMetricsPtrInput interface { pulumi.Input - ToMariadbInstanceParametersPtrOutput() MariadbInstanceParametersPtrOutput - ToMariadbInstanceParametersPtrOutputWithContext(context.Context) MariadbInstanceParametersPtrOutput + ToLoadbalancerOptionsObservabilityMetricsPtrOutput() LoadbalancerOptionsObservabilityMetricsPtrOutput + ToLoadbalancerOptionsObservabilityMetricsPtrOutputWithContext(context.Context) LoadbalancerOptionsObservabilityMetricsPtrOutput } -type mariadbInstanceParametersPtrType MariadbInstanceParametersArgs +type loadbalancerOptionsObservabilityMetricsPtrType LoadbalancerOptionsObservabilityMetricsArgs -func MariadbInstanceParametersPtr(v *MariadbInstanceParametersArgs) MariadbInstanceParametersPtrInput { - return (*mariadbInstanceParametersPtrType)(v) +func LoadbalancerOptionsObservabilityMetricsPtr(v *LoadbalancerOptionsObservabilityMetricsArgs) LoadbalancerOptionsObservabilityMetricsPtrInput { + return (*loadbalancerOptionsObservabilityMetricsPtrType)(v) } -func (*mariadbInstanceParametersPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**MariadbInstanceParameters)(nil)).Elem() +func (*loadbalancerOptionsObservabilityMetricsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LoadbalancerOptionsObservabilityMetrics)(nil)).Elem() } -func (i *mariadbInstanceParametersPtrType) ToMariadbInstanceParametersPtrOutput() MariadbInstanceParametersPtrOutput { - return i.ToMariadbInstanceParametersPtrOutputWithContext(context.Background()) +func (i *loadbalancerOptionsObservabilityMetricsPtrType) ToLoadbalancerOptionsObservabilityMetricsPtrOutput() LoadbalancerOptionsObservabilityMetricsPtrOutput { + return i.ToLoadbalancerOptionsObservabilityMetricsPtrOutputWithContext(context.Background()) } -func (i *mariadbInstanceParametersPtrType) ToMariadbInstanceParametersPtrOutputWithContext(ctx context.Context) MariadbInstanceParametersPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MariadbInstanceParametersPtrOutput) +func (i *loadbalancerOptionsObservabilityMetricsPtrType) ToLoadbalancerOptionsObservabilityMetricsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityMetricsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerOptionsObservabilityMetricsPtrOutput) } -type MariadbInstanceParametersOutput struct{ *pulumi.OutputState } +type LoadbalancerOptionsObservabilityMetricsOutput struct{ *pulumi.OutputState } -func (MariadbInstanceParametersOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MariadbInstanceParameters)(nil)).Elem() +func (LoadbalancerOptionsObservabilityMetricsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerOptionsObservabilityMetrics)(nil)).Elem() } -func (o MariadbInstanceParametersOutput) ToMariadbInstanceParametersOutput() MariadbInstanceParametersOutput { +func (o LoadbalancerOptionsObservabilityMetricsOutput) ToLoadbalancerOptionsObservabilityMetricsOutput() LoadbalancerOptionsObservabilityMetricsOutput { return o } -func (o MariadbInstanceParametersOutput) ToMariadbInstanceParametersOutputWithContext(ctx context.Context) MariadbInstanceParametersOutput { +func (o LoadbalancerOptionsObservabilityMetricsOutput) ToLoadbalancerOptionsObservabilityMetricsOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityMetricsOutput { return o } -func (o MariadbInstanceParametersOutput) ToMariadbInstanceParametersPtrOutput() MariadbInstanceParametersPtrOutput { - return o.ToMariadbInstanceParametersPtrOutputWithContext(context.Background()) +func (o LoadbalancerOptionsObservabilityMetricsOutput) ToLoadbalancerOptionsObservabilityMetricsPtrOutput() LoadbalancerOptionsObservabilityMetricsPtrOutput { + return o.ToLoadbalancerOptionsObservabilityMetricsPtrOutputWithContext(context.Background()) } -func (o MariadbInstanceParametersOutput) ToMariadbInstanceParametersPtrOutputWithContext(ctx context.Context) MariadbInstanceParametersPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v MariadbInstanceParameters) *MariadbInstanceParameters { +func (o LoadbalancerOptionsObservabilityMetricsOutput) ToLoadbalancerOptionsObservabilityMetricsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityMetricsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadbalancerOptionsObservabilityMetrics) *LoadbalancerOptionsObservabilityMetrics { return &v - }).(MariadbInstanceParametersPtrOutput) -} - -// Enable monitoring. -func (o MariadbInstanceParametersOutput) EnableMonitoring() pulumi.BoolPtrOutput { - return o.ApplyT(func(v MariadbInstanceParameters) *bool { return v.EnableMonitoring }).(pulumi.BoolPtrOutput) -} - -// Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. -func (o MariadbInstanceParametersOutput) Graphite() pulumi.StringPtrOutput { - return o.ApplyT(func(v MariadbInstanceParameters) *string { return v.Graphite }).(pulumi.StringPtrOutput) -} - -// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. -func (o MariadbInstanceParametersOutput) MaxDiskThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v MariadbInstanceParameters) *int { return v.MaxDiskThreshold }).(pulumi.IntPtrOutput) -} - -// The frequency in seconds at which metrics are emitted. -func (o MariadbInstanceParametersOutput) MetricsFrequency() pulumi.IntPtrOutput { - return o.ApplyT(func(v MariadbInstanceParameters) *int { return v.MetricsFrequency }).(pulumi.IntPtrOutput) -} - -// 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 MariadbInstanceParametersOutput) MetricsPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v MariadbInstanceParameters) *string { return v.MetricsPrefix }).(pulumi.StringPtrOutput) -} - -// The ID of the STACKIT monitoring instance. Monitoring instances with the plan "Observability-Monitoring-Starter" are not supported. -func (o MariadbInstanceParametersOutput) MonitoringInstanceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v MariadbInstanceParameters) *string { return v.MonitoringInstanceId }).(pulumi.StringPtrOutput) + }).(LoadbalancerOptionsObservabilityMetricsPtrOutput) } -// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. -func (o MariadbInstanceParametersOutput) SgwAcl() pulumi.StringPtrOutput { - return o.ApplyT(func(v MariadbInstanceParameters) *string { return v.SgwAcl }).(pulumi.StringPtrOutput) +// Credentials reference for metrics. Not changeable after creation. +func (o LoadbalancerOptionsObservabilityMetricsOutput) CredentialsRef() pulumi.StringPtrOutput { + return o.ApplyT(func(v LoadbalancerOptionsObservabilityMetrics) *string { return v.CredentialsRef }).(pulumi.StringPtrOutput) } -// List of syslog servers to send logs to. -func (o MariadbInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { - return o.ApplyT(func(v MariadbInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +// The ARGUS/Prometheus remote write Push URL to ship the metrics to. Not changeable after creation. +func (o LoadbalancerOptionsObservabilityMetricsOutput) PushUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v LoadbalancerOptionsObservabilityMetrics) *string { return v.PushUrl }).(pulumi.StringPtrOutput) } -type MariadbInstanceParametersPtrOutput struct{ *pulumi.OutputState } +type LoadbalancerOptionsObservabilityMetricsPtrOutput struct{ *pulumi.OutputState } -func (MariadbInstanceParametersPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**MariadbInstanceParameters)(nil)).Elem() +func (LoadbalancerOptionsObservabilityMetricsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LoadbalancerOptionsObservabilityMetrics)(nil)).Elem() } -func (o MariadbInstanceParametersPtrOutput) ToMariadbInstanceParametersPtrOutput() MariadbInstanceParametersPtrOutput { +func (o LoadbalancerOptionsObservabilityMetricsPtrOutput) ToLoadbalancerOptionsObservabilityMetricsPtrOutput() LoadbalancerOptionsObservabilityMetricsPtrOutput { return o } -func (o MariadbInstanceParametersPtrOutput) ToMariadbInstanceParametersPtrOutputWithContext(ctx context.Context) MariadbInstanceParametersPtrOutput { +func (o LoadbalancerOptionsObservabilityMetricsPtrOutput) ToLoadbalancerOptionsObservabilityMetricsPtrOutputWithContext(ctx context.Context) LoadbalancerOptionsObservabilityMetricsPtrOutput { return o } -func (o MariadbInstanceParametersPtrOutput) Elem() MariadbInstanceParametersOutput { - return o.ApplyT(func(v *MariadbInstanceParameters) MariadbInstanceParameters { +func (o LoadbalancerOptionsObservabilityMetricsPtrOutput) Elem() LoadbalancerOptionsObservabilityMetricsOutput { + return o.ApplyT(func(v *LoadbalancerOptionsObservabilityMetrics) LoadbalancerOptionsObservabilityMetrics { if v != nil { return *v } - var ret MariadbInstanceParameters + var ret LoadbalancerOptionsObservabilityMetrics return ret - }).(MariadbInstanceParametersOutput) + }).(LoadbalancerOptionsObservabilityMetricsOutput) } -// Enable monitoring. -func (o MariadbInstanceParametersPtrOutput) EnableMonitoring() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *MariadbInstanceParameters) *bool { +// Credentials reference for metrics. Not changeable after creation. +func (o LoadbalancerOptionsObservabilityMetricsPtrOutput) CredentialsRef() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadbalancerOptionsObservabilityMetrics) *string { if v == nil { return nil } - return v.EnableMonitoring - }).(pulumi.BoolPtrOutput) + return v.CredentialsRef + }).(pulumi.StringPtrOutput) } -// Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. -func (o MariadbInstanceParametersPtrOutput) Graphite() pulumi.StringPtrOutput { - return o.ApplyT(func(v *MariadbInstanceParameters) *string { +// The ARGUS/Prometheus remote write Push URL to ship the metrics to. Not changeable after creation. +func (o LoadbalancerOptionsObservabilityMetricsPtrOutput) PushUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadbalancerOptionsObservabilityMetrics) *string { if v == nil { return nil } - return v.Graphite + return v.PushUrl }).(pulumi.StringPtrOutput) } -// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. -func (o MariadbInstanceParametersPtrOutput) MaxDiskThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v *MariadbInstanceParameters) *int { - if v == nil { - return nil - } - return v.MaxDiskThreshold - }).(pulumi.IntPtrOutput) +type LoadbalancerTargetPool struct { + ActiveHealthCheck *LoadbalancerTargetPoolActiveHealthCheck `pulumi:"activeHealthCheck"` + // Target pool name. + Name string `pulumi:"name"` + // Here you can setup various session persistence options, so far only "`useSourceIpAddress`" is supported. + SessionPersistence *LoadbalancerTargetPoolSessionPersistence `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 []LoadbalancerTargetPoolTarget `pulumi:"targets"` } -// The frequency in seconds at which metrics are emitted. -func (o MariadbInstanceParametersPtrOutput) MetricsFrequency() pulumi.IntPtrOutput { - return o.ApplyT(func(v *MariadbInstanceParameters) *int { - if v == nil { - return nil - } - return v.MetricsFrequency - }).(pulumi.IntPtrOutput) -} +// LoadbalancerTargetPoolInput is an input type that accepts LoadbalancerTargetPoolArgs and LoadbalancerTargetPoolOutput values. +// You can construct a concrete instance of `LoadbalancerTargetPoolInput` via: +// +// LoadbalancerTargetPoolArgs{...} +type LoadbalancerTargetPoolInput 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 MariadbInstanceParametersPtrOutput) MetricsPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *MariadbInstanceParameters) *string { - if v == nil { - return nil - } - return v.MetricsPrefix - }).(pulumi.StringPtrOutput) + ToLoadbalancerTargetPoolOutput() LoadbalancerTargetPoolOutput + ToLoadbalancerTargetPoolOutputWithContext(context.Context) LoadbalancerTargetPoolOutput } -// The ID of the STACKIT monitoring instance. Monitoring instances with the plan "Observability-Monitoring-Starter" are not supported. -func (o MariadbInstanceParametersPtrOutput) MonitoringInstanceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *MariadbInstanceParameters) *string { - if v == nil { - return nil - } - return v.MonitoringInstanceId - }).(pulumi.StringPtrOutput) +type LoadbalancerTargetPoolArgs struct { + ActiveHealthCheck LoadbalancerTargetPoolActiveHealthCheckPtrInput `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 LoadbalancerTargetPoolSessionPersistencePtrInput `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 LoadbalancerTargetPoolTargetArrayInput `pulumi:"targets"` } -// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. -func (o MariadbInstanceParametersPtrOutput) SgwAcl() pulumi.StringPtrOutput { - return o.ApplyT(func(v *MariadbInstanceParameters) *string { - if v == nil { - return nil - } - return v.SgwAcl - }).(pulumi.StringPtrOutput) +func (LoadbalancerTargetPoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerTargetPool)(nil)).Elem() } -// List of syslog servers to send logs to. -func (o MariadbInstanceParametersPtrOutput) Syslogs() pulumi.StringArrayOutput { - return o.ApplyT(func(v *MariadbInstanceParameters) []string { - if v == nil { - return nil - } - return v.Syslogs - }).(pulumi.StringArrayOutput) +func (i LoadbalancerTargetPoolArgs) ToLoadbalancerTargetPoolOutput() LoadbalancerTargetPoolOutput { + return i.ToLoadbalancerTargetPoolOutputWithContext(context.Background()) } -type MongodbflexInstanceFlavor struct { - Cpu int `pulumi:"cpu"` - Description *string `pulumi:"description"` - Id *string `pulumi:"id"` - Ram int `pulumi:"ram"` +func (i LoadbalancerTargetPoolArgs) ToLoadbalancerTargetPoolOutputWithContext(ctx context.Context) LoadbalancerTargetPoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerTargetPoolOutput) } -// MongodbflexInstanceFlavorInput is an input type that accepts MongodbflexInstanceFlavorArgs and MongodbflexInstanceFlavorOutput values. -// You can construct a concrete instance of `MongodbflexInstanceFlavorInput` via: +// LoadbalancerTargetPoolArrayInput is an input type that accepts LoadbalancerTargetPoolArray and LoadbalancerTargetPoolArrayOutput values. +// You can construct a concrete instance of `LoadbalancerTargetPoolArrayInput` via: // -// MongodbflexInstanceFlavorArgs{...} -type MongodbflexInstanceFlavorInput interface { +// LoadbalancerTargetPoolArray{ LoadbalancerTargetPoolArgs{...} } +type LoadbalancerTargetPoolArrayInput interface { pulumi.Input - ToMongodbflexInstanceFlavorOutput() MongodbflexInstanceFlavorOutput - ToMongodbflexInstanceFlavorOutputWithContext(context.Context) MongodbflexInstanceFlavorOutput + ToLoadbalancerTargetPoolArrayOutput() LoadbalancerTargetPoolArrayOutput + ToLoadbalancerTargetPoolArrayOutputWithContext(context.Context) LoadbalancerTargetPoolArrayOutput } -type MongodbflexInstanceFlavorArgs struct { - Cpu pulumi.IntInput `pulumi:"cpu"` - Description pulumi.StringPtrInput `pulumi:"description"` - Id pulumi.StringPtrInput `pulumi:"id"` - Ram pulumi.IntInput `pulumi:"ram"` -} +type LoadbalancerTargetPoolArray []LoadbalancerTargetPoolInput -func (MongodbflexInstanceFlavorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MongodbflexInstanceFlavor)(nil)).Elem() +func (LoadbalancerTargetPoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LoadbalancerTargetPool)(nil)).Elem() } -func (i MongodbflexInstanceFlavorArgs) ToMongodbflexInstanceFlavorOutput() MongodbflexInstanceFlavorOutput { - return i.ToMongodbflexInstanceFlavorOutputWithContext(context.Background()) +func (i LoadbalancerTargetPoolArray) ToLoadbalancerTargetPoolArrayOutput() LoadbalancerTargetPoolArrayOutput { + return i.ToLoadbalancerTargetPoolArrayOutputWithContext(context.Background()) } -func (i MongodbflexInstanceFlavorArgs) ToMongodbflexInstanceFlavorOutputWithContext(ctx context.Context) MongodbflexInstanceFlavorOutput { - return pulumi.ToOutputWithContext(ctx, i).(MongodbflexInstanceFlavorOutput) +func (i LoadbalancerTargetPoolArray) ToLoadbalancerTargetPoolArrayOutputWithContext(ctx context.Context) LoadbalancerTargetPoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerTargetPoolArrayOutput) } -func (i MongodbflexInstanceFlavorArgs) ToMongodbflexInstanceFlavorPtrOutput() MongodbflexInstanceFlavorPtrOutput { - return i.ToMongodbflexInstanceFlavorPtrOutputWithContext(context.Background()) -} +type LoadbalancerTargetPoolOutput struct{ *pulumi.OutputState } -func (i MongodbflexInstanceFlavorArgs) ToMongodbflexInstanceFlavorPtrOutputWithContext(ctx context.Context) MongodbflexInstanceFlavorPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MongodbflexInstanceFlavorOutput).ToMongodbflexInstanceFlavorPtrOutputWithContext(ctx) +func (LoadbalancerTargetPoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerTargetPool)(nil)).Elem() } -// MongodbflexInstanceFlavorPtrInput is an input type that accepts MongodbflexInstanceFlavorArgs, MongodbflexInstanceFlavorPtr and MongodbflexInstanceFlavorPtrOutput values. -// You can construct a concrete instance of `MongodbflexInstanceFlavorPtrInput` via: -// -// MongodbflexInstanceFlavorArgs{...} -// -// or: -// -// nil -type MongodbflexInstanceFlavorPtrInput interface { - pulumi.Input - - ToMongodbflexInstanceFlavorPtrOutput() MongodbflexInstanceFlavorPtrOutput - ToMongodbflexInstanceFlavorPtrOutputWithContext(context.Context) MongodbflexInstanceFlavorPtrOutput +func (o LoadbalancerTargetPoolOutput) ToLoadbalancerTargetPoolOutput() LoadbalancerTargetPoolOutput { + return o } -type mongodbflexInstanceFlavorPtrType MongodbflexInstanceFlavorArgs +func (o LoadbalancerTargetPoolOutput) ToLoadbalancerTargetPoolOutputWithContext(ctx context.Context) LoadbalancerTargetPoolOutput { + return o +} -func MongodbflexInstanceFlavorPtr(v *MongodbflexInstanceFlavorArgs) MongodbflexInstanceFlavorPtrInput { - return (*mongodbflexInstanceFlavorPtrType)(v) +func (o LoadbalancerTargetPoolOutput) ActiveHealthCheck() LoadbalancerTargetPoolActiveHealthCheckPtrOutput { + return o.ApplyT(func(v LoadbalancerTargetPool) *LoadbalancerTargetPoolActiveHealthCheck { return v.ActiveHealthCheck }).(LoadbalancerTargetPoolActiveHealthCheckPtrOutput) } -func (*mongodbflexInstanceFlavorPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**MongodbflexInstanceFlavor)(nil)).Elem() -} - -func (i *mongodbflexInstanceFlavorPtrType) ToMongodbflexInstanceFlavorPtrOutput() MongodbflexInstanceFlavorPtrOutput { - return i.ToMongodbflexInstanceFlavorPtrOutputWithContext(context.Background()) -} - -func (i *mongodbflexInstanceFlavorPtrType) ToMongodbflexInstanceFlavorPtrOutputWithContext(ctx context.Context) MongodbflexInstanceFlavorPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MongodbflexInstanceFlavorPtrOutput) -} - -type MongodbflexInstanceFlavorOutput struct{ *pulumi.OutputState } - -func (MongodbflexInstanceFlavorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MongodbflexInstanceFlavor)(nil)).Elem() -} - -func (o MongodbflexInstanceFlavorOutput) ToMongodbflexInstanceFlavorOutput() MongodbflexInstanceFlavorOutput { - return o -} - -func (o MongodbflexInstanceFlavorOutput) ToMongodbflexInstanceFlavorOutputWithContext(ctx context.Context) MongodbflexInstanceFlavorOutput { - return o -} - -func (o MongodbflexInstanceFlavorOutput) ToMongodbflexInstanceFlavorPtrOutput() MongodbflexInstanceFlavorPtrOutput { - return o.ToMongodbflexInstanceFlavorPtrOutputWithContext(context.Background()) -} - -func (o MongodbflexInstanceFlavorOutput) ToMongodbflexInstanceFlavorPtrOutputWithContext(ctx context.Context) MongodbflexInstanceFlavorPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v MongodbflexInstanceFlavor) *MongodbflexInstanceFlavor { - return &v - }).(MongodbflexInstanceFlavorPtrOutput) -} - -func (o MongodbflexInstanceFlavorOutput) Cpu() pulumi.IntOutput { - return o.ApplyT(func(v MongodbflexInstanceFlavor) int { return v.Cpu }).(pulumi.IntOutput) +// Target pool name. +func (o LoadbalancerTargetPoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v LoadbalancerTargetPool) string { return v.Name }).(pulumi.StringOutput) } -func (o MongodbflexInstanceFlavorOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v MongodbflexInstanceFlavor) *string { return v.Description }).(pulumi.StringPtrOutput) +// Here you can setup various session persistence options, so far only "`useSourceIpAddress`" is supported. +func (o LoadbalancerTargetPoolOutput) SessionPersistence() LoadbalancerTargetPoolSessionPersistencePtrOutput { + return o.ApplyT(func(v LoadbalancerTargetPool) *LoadbalancerTargetPoolSessionPersistence { return v.SessionPersistence }).(LoadbalancerTargetPoolSessionPersistencePtrOutput) } -func (o MongodbflexInstanceFlavorOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v MongodbflexInstanceFlavor) *string { return v.Id }).(pulumi.StringPtrOutput) +// Identical port number where each target listens for traffic. +func (o LoadbalancerTargetPoolOutput) TargetPort() pulumi.IntOutput { + return o.ApplyT(func(v LoadbalancerTargetPool) int { return v.TargetPort }).(pulumi.IntOutput) } -func (o MongodbflexInstanceFlavorOutput) Ram() pulumi.IntOutput { - return o.ApplyT(func(v MongodbflexInstanceFlavor) int { return v.Ram }).(pulumi.IntOutput) +// List of all targets which will be used in the pool. Limited to 1000. +func (o LoadbalancerTargetPoolOutput) Targets() LoadbalancerTargetPoolTargetArrayOutput { + return o.ApplyT(func(v LoadbalancerTargetPool) []LoadbalancerTargetPoolTarget { return v.Targets }).(LoadbalancerTargetPoolTargetArrayOutput) } -type MongodbflexInstanceFlavorPtrOutput struct{ *pulumi.OutputState } +type LoadbalancerTargetPoolArrayOutput struct{ *pulumi.OutputState } -func (MongodbflexInstanceFlavorPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**MongodbflexInstanceFlavor)(nil)).Elem() +func (LoadbalancerTargetPoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LoadbalancerTargetPool)(nil)).Elem() } -func (o MongodbflexInstanceFlavorPtrOutput) ToMongodbflexInstanceFlavorPtrOutput() MongodbflexInstanceFlavorPtrOutput { +func (o LoadbalancerTargetPoolArrayOutput) ToLoadbalancerTargetPoolArrayOutput() LoadbalancerTargetPoolArrayOutput { return o } -func (o MongodbflexInstanceFlavorPtrOutput) ToMongodbflexInstanceFlavorPtrOutputWithContext(ctx context.Context) MongodbflexInstanceFlavorPtrOutput { +func (o LoadbalancerTargetPoolArrayOutput) ToLoadbalancerTargetPoolArrayOutputWithContext(ctx context.Context) LoadbalancerTargetPoolArrayOutput { return o } -func (o MongodbflexInstanceFlavorPtrOutput) Elem() MongodbflexInstanceFlavorOutput { - return o.ApplyT(func(v *MongodbflexInstanceFlavor) MongodbflexInstanceFlavor { - if v != nil { - return *v - } - var ret MongodbflexInstanceFlavor - return ret - }).(MongodbflexInstanceFlavorOutput) -} - -func (o MongodbflexInstanceFlavorPtrOutput) Cpu() pulumi.IntPtrOutput { - return o.ApplyT(func(v *MongodbflexInstanceFlavor) *int { - if v == nil { - return nil - } - return &v.Cpu - }).(pulumi.IntPtrOutput) -} - -func (o MongodbflexInstanceFlavorPtrOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v *MongodbflexInstanceFlavor) *string { - if v == nil { - return nil - } - return v.Description - }).(pulumi.StringPtrOutput) -} - -func (o MongodbflexInstanceFlavorPtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *MongodbflexInstanceFlavor) *string { - if v == nil { - return nil - } - return v.Id - }).(pulumi.StringPtrOutput) -} - -func (o MongodbflexInstanceFlavorPtrOutput) Ram() pulumi.IntPtrOutput { - return o.ApplyT(func(v *MongodbflexInstanceFlavor) *int { - if v == nil { - return nil - } - return &v.Ram - }).(pulumi.IntPtrOutput) +func (o LoadbalancerTargetPoolArrayOutput) Index(i pulumi.IntInput) LoadbalancerTargetPoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LoadbalancerTargetPool { + return vs[0].([]LoadbalancerTargetPool)[vs[1].(int)] + }).(LoadbalancerTargetPoolOutput) } -type MongodbflexInstanceOptions 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. Possible values are: `Replica`, `Sharded`, `Single`. - Type string `pulumi:"type"` - // The number of weeks that weekly backups will be retained. - WeeklySnapshotRetentionWeeks *int `pulumi:"weeklySnapshotRetentionWeeks"` +type LoadbalancerTargetPoolActiveHealthCheck 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"` } -// MongodbflexInstanceOptionsInput is an input type that accepts MongodbflexInstanceOptionsArgs and MongodbflexInstanceOptionsOutput values. -// You can construct a concrete instance of `MongodbflexInstanceOptionsInput` via: +// LoadbalancerTargetPoolActiveHealthCheckInput is an input type that accepts LoadbalancerTargetPoolActiveHealthCheckArgs and LoadbalancerTargetPoolActiveHealthCheckOutput values. +// You can construct a concrete instance of `LoadbalancerTargetPoolActiveHealthCheckInput` via: // -// MongodbflexInstanceOptionsArgs{...} -type MongodbflexInstanceOptionsInput interface { +// LoadbalancerTargetPoolActiveHealthCheckArgs{...} +type LoadbalancerTargetPoolActiveHealthCheckInput interface { pulumi.Input - ToMongodbflexInstanceOptionsOutput() MongodbflexInstanceOptionsOutput - ToMongodbflexInstanceOptionsOutputWithContext(context.Context) MongodbflexInstanceOptionsOutput + ToLoadbalancerTargetPoolActiveHealthCheckOutput() LoadbalancerTargetPoolActiveHealthCheckOutput + ToLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(context.Context) LoadbalancerTargetPoolActiveHealthCheckOutput } -type MongodbflexInstanceOptionsArgs struct { - // The number of days that daily backups will be retained. - DailySnapshotRetentionDays pulumi.IntPtrInput `pulumi:"dailySnapshotRetentionDays"` - // The number of months that monthly backups will be retained. - MonthlySnapshotRetentionMonths pulumi.IntPtrInput `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.IntPtrInput `pulumi:"snapshotRetentionDays"` - // Type of the MongoDB Flex instance. Possible values are: `Replica`, `Sharded`, `Single`. - Type pulumi.StringInput `pulumi:"type"` - // The number of weeks that weekly backups will be retained. - WeeklySnapshotRetentionWeeks pulumi.IntPtrInput `pulumi:"weeklySnapshotRetentionWeeks"` +type LoadbalancerTargetPoolActiveHealthCheckArgs struct { + // Healthy threshold of the health checking. + HealthyThreshold pulumi.IntPtrInput `pulumi:"healthyThreshold"` + // Interval duration of health checking in seconds. + Interval pulumi.StringPtrInput `pulumi:"interval"` + // Interval duration threshold of the health checking in seconds. + IntervalJitter pulumi.StringPtrInput `pulumi:"intervalJitter"` + // Active health checking timeout duration in seconds. + Timeout pulumi.StringPtrInput `pulumi:"timeout"` + // Unhealthy threshold of the health checking. + UnhealthyThreshold pulumi.IntPtrInput `pulumi:"unhealthyThreshold"` } -func (MongodbflexInstanceOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MongodbflexInstanceOptions)(nil)).Elem() +func (LoadbalancerTargetPoolActiveHealthCheckArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerTargetPoolActiveHealthCheck)(nil)).Elem() } -func (i MongodbflexInstanceOptionsArgs) ToMongodbflexInstanceOptionsOutput() MongodbflexInstanceOptionsOutput { - return i.ToMongodbflexInstanceOptionsOutputWithContext(context.Background()) +func (i LoadbalancerTargetPoolActiveHealthCheckArgs) ToLoadbalancerTargetPoolActiveHealthCheckOutput() LoadbalancerTargetPoolActiveHealthCheckOutput { + return i.ToLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(context.Background()) } -func (i MongodbflexInstanceOptionsArgs) ToMongodbflexInstanceOptionsOutputWithContext(ctx context.Context) MongodbflexInstanceOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(MongodbflexInstanceOptionsOutput) +func (i LoadbalancerTargetPoolActiveHealthCheckArgs) ToLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(ctx context.Context) LoadbalancerTargetPoolActiveHealthCheckOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerTargetPoolActiveHealthCheckOutput) } -func (i MongodbflexInstanceOptionsArgs) ToMongodbflexInstanceOptionsPtrOutput() MongodbflexInstanceOptionsPtrOutput { - return i.ToMongodbflexInstanceOptionsPtrOutputWithContext(context.Background()) +func (i LoadbalancerTargetPoolActiveHealthCheckArgs) ToLoadbalancerTargetPoolActiveHealthCheckPtrOutput() LoadbalancerTargetPoolActiveHealthCheckPtrOutput { + return i.ToLoadbalancerTargetPoolActiveHealthCheckPtrOutputWithContext(context.Background()) } -func (i MongodbflexInstanceOptionsArgs) ToMongodbflexInstanceOptionsPtrOutputWithContext(ctx context.Context) MongodbflexInstanceOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MongodbflexInstanceOptionsOutput).ToMongodbflexInstanceOptionsPtrOutputWithContext(ctx) +func (i LoadbalancerTargetPoolActiveHealthCheckArgs) ToLoadbalancerTargetPoolActiveHealthCheckPtrOutputWithContext(ctx context.Context) LoadbalancerTargetPoolActiveHealthCheckPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerTargetPoolActiveHealthCheckOutput).ToLoadbalancerTargetPoolActiveHealthCheckPtrOutputWithContext(ctx) } -// MongodbflexInstanceOptionsPtrInput is an input type that accepts MongodbflexInstanceOptionsArgs, MongodbflexInstanceOptionsPtr and MongodbflexInstanceOptionsPtrOutput values. -// You can construct a concrete instance of `MongodbflexInstanceOptionsPtrInput` via: +// LoadbalancerTargetPoolActiveHealthCheckPtrInput is an input type that accepts LoadbalancerTargetPoolActiveHealthCheckArgs, LoadbalancerTargetPoolActiveHealthCheckPtr and LoadbalancerTargetPoolActiveHealthCheckPtrOutput values. +// You can construct a concrete instance of `LoadbalancerTargetPoolActiveHealthCheckPtrInput` via: // -// MongodbflexInstanceOptionsArgs{...} +// LoadbalancerTargetPoolActiveHealthCheckArgs{...} // // or: // // nil -type MongodbflexInstanceOptionsPtrInput interface { +type LoadbalancerTargetPoolActiveHealthCheckPtrInput interface { pulumi.Input - ToMongodbflexInstanceOptionsPtrOutput() MongodbflexInstanceOptionsPtrOutput - ToMongodbflexInstanceOptionsPtrOutputWithContext(context.Context) MongodbflexInstanceOptionsPtrOutput + ToLoadbalancerTargetPoolActiveHealthCheckPtrOutput() LoadbalancerTargetPoolActiveHealthCheckPtrOutput + ToLoadbalancerTargetPoolActiveHealthCheckPtrOutputWithContext(context.Context) LoadbalancerTargetPoolActiveHealthCheckPtrOutput } -type mongodbflexInstanceOptionsPtrType MongodbflexInstanceOptionsArgs +type loadbalancerTargetPoolActiveHealthCheckPtrType LoadbalancerTargetPoolActiveHealthCheckArgs -func MongodbflexInstanceOptionsPtr(v *MongodbflexInstanceOptionsArgs) MongodbflexInstanceOptionsPtrInput { - return (*mongodbflexInstanceOptionsPtrType)(v) +func LoadbalancerTargetPoolActiveHealthCheckPtr(v *LoadbalancerTargetPoolActiveHealthCheckArgs) LoadbalancerTargetPoolActiveHealthCheckPtrInput { + return (*loadbalancerTargetPoolActiveHealthCheckPtrType)(v) } -func (*mongodbflexInstanceOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**MongodbflexInstanceOptions)(nil)).Elem() +func (*loadbalancerTargetPoolActiveHealthCheckPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LoadbalancerTargetPoolActiveHealthCheck)(nil)).Elem() } -func (i *mongodbflexInstanceOptionsPtrType) ToMongodbflexInstanceOptionsPtrOutput() MongodbflexInstanceOptionsPtrOutput { - return i.ToMongodbflexInstanceOptionsPtrOutputWithContext(context.Background()) +func (i *loadbalancerTargetPoolActiveHealthCheckPtrType) ToLoadbalancerTargetPoolActiveHealthCheckPtrOutput() LoadbalancerTargetPoolActiveHealthCheckPtrOutput { + return i.ToLoadbalancerTargetPoolActiveHealthCheckPtrOutputWithContext(context.Background()) } -func (i *mongodbflexInstanceOptionsPtrType) ToMongodbflexInstanceOptionsPtrOutputWithContext(ctx context.Context) MongodbflexInstanceOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MongodbflexInstanceOptionsPtrOutput) +func (i *loadbalancerTargetPoolActiveHealthCheckPtrType) ToLoadbalancerTargetPoolActiveHealthCheckPtrOutputWithContext(ctx context.Context) LoadbalancerTargetPoolActiveHealthCheckPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerTargetPoolActiveHealthCheckPtrOutput) } -type MongodbflexInstanceOptionsOutput struct{ *pulumi.OutputState } +type LoadbalancerTargetPoolActiveHealthCheckOutput struct{ *pulumi.OutputState } -func (MongodbflexInstanceOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MongodbflexInstanceOptions)(nil)).Elem() +func (LoadbalancerTargetPoolActiveHealthCheckOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerTargetPoolActiveHealthCheck)(nil)).Elem() } -func (o MongodbflexInstanceOptionsOutput) ToMongodbflexInstanceOptionsOutput() MongodbflexInstanceOptionsOutput { +func (o LoadbalancerTargetPoolActiveHealthCheckOutput) ToLoadbalancerTargetPoolActiveHealthCheckOutput() LoadbalancerTargetPoolActiveHealthCheckOutput { return o } -func (o MongodbflexInstanceOptionsOutput) ToMongodbflexInstanceOptionsOutputWithContext(ctx context.Context) MongodbflexInstanceOptionsOutput { +func (o LoadbalancerTargetPoolActiveHealthCheckOutput) ToLoadbalancerTargetPoolActiveHealthCheckOutputWithContext(ctx context.Context) LoadbalancerTargetPoolActiveHealthCheckOutput { return o } -func (o MongodbflexInstanceOptionsOutput) ToMongodbflexInstanceOptionsPtrOutput() MongodbflexInstanceOptionsPtrOutput { - return o.ToMongodbflexInstanceOptionsPtrOutputWithContext(context.Background()) +func (o LoadbalancerTargetPoolActiveHealthCheckOutput) ToLoadbalancerTargetPoolActiveHealthCheckPtrOutput() LoadbalancerTargetPoolActiveHealthCheckPtrOutput { + return o.ToLoadbalancerTargetPoolActiveHealthCheckPtrOutputWithContext(context.Background()) } -func (o MongodbflexInstanceOptionsOutput) ToMongodbflexInstanceOptionsPtrOutputWithContext(ctx context.Context) MongodbflexInstanceOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v MongodbflexInstanceOptions) *MongodbflexInstanceOptions { +func (o LoadbalancerTargetPoolActiveHealthCheckOutput) ToLoadbalancerTargetPoolActiveHealthCheckPtrOutputWithContext(ctx context.Context) LoadbalancerTargetPoolActiveHealthCheckPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadbalancerTargetPoolActiveHealthCheck) *LoadbalancerTargetPoolActiveHealthCheck { return &v - }).(MongodbflexInstanceOptionsPtrOutput) + }).(LoadbalancerTargetPoolActiveHealthCheckPtrOutput) } -// The number of days that daily backups will be retained. -func (o MongodbflexInstanceOptionsOutput) DailySnapshotRetentionDays() pulumi.IntPtrOutput { - return o.ApplyT(func(v MongodbflexInstanceOptions) *int { return v.DailySnapshotRetentionDays }).(pulumi.IntPtrOutput) +// Healthy threshold of the health checking. +func (o LoadbalancerTargetPoolActiveHealthCheckOutput) HealthyThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v LoadbalancerTargetPoolActiveHealthCheck) *int { return v.HealthyThreshold }).(pulumi.IntPtrOutput) } -// The number of months that monthly backups will be retained. -func (o MongodbflexInstanceOptionsOutput) MonthlySnapshotRetentionMonths() pulumi.IntPtrOutput { - return o.ApplyT(func(v MongodbflexInstanceOptions) *int { return v.MonthlySnapshotRetentionMonths }).(pulumi.IntPtrOutput) +// Interval duration of health checking in seconds. +func (o LoadbalancerTargetPoolActiveHealthCheckOutput) Interval() pulumi.StringPtrOutput { + return o.ApplyT(func(v LoadbalancerTargetPoolActiveHealthCheck) *string { return v.Interval }).(pulumi.StringPtrOutput) } -// The number of hours back in time the point-in-time recovery feature will be able to recover. -func (o MongodbflexInstanceOptionsOutput) PointInTimeWindowHours() pulumi.IntOutput { - return o.ApplyT(func(v MongodbflexInstanceOptions) int { return v.PointInTimeWindowHours }).(pulumi.IntOutput) -} - -// The number of days that continuous backups (controlled via the `backupSchedule`) will be retained. -func (o MongodbflexInstanceOptionsOutput) SnapshotRetentionDays() pulumi.IntPtrOutput { - return o.ApplyT(func(v MongodbflexInstanceOptions) *int { return v.SnapshotRetentionDays }).(pulumi.IntPtrOutput) +// Interval duration threshold of the health checking in seconds. +func (o LoadbalancerTargetPoolActiveHealthCheckOutput) IntervalJitter() pulumi.StringPtrOutput { + return o.ApplyT(func(v LoadbalancerTargetPoolActiveHealthCheck) *string { return v.IntervalJitter }).(pulumi.StringPtrOutput) } -// Type of the MongoDB Flex instance. Possible values are: `Replica`, `Sharded`, `Single`. -func (o MongodbflexInstanceOptionsOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v MongodbflexInstanceOptions) string { return v.Type }).(pulumi.StringOutput) +// Active health checking timeout duration in seconds. +func (o LoadbalancerTargetPoolActiveHealthCheckOutput) Timeout() pulumi.StringPtrOutput { + return o.ApplyT(func(v LoadbalancerTargetPoolActiveHealthCheck) *string { return v.Timeout }).(pulumi.StringPtrOutput) } -// The number of weeks that weekly backups will be retained. -func (o MongodbflexInstanceOptionsOutput) WeeklySnapshotRetentionWeeks() pulumi.IntPtrOutput { - return o.ApplyT(func(v MongodbflexInstanceOptions) *int { return v.WeeklySnapshotRetentionWeeks }).(pulumi.IntPtrOutput) +// Unhealthy threshold of the health checking. +func (o LoadbalancerTargetPoolActiveHealthCheckOutput) UnhealthyThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v LoadbalancerTargetPoolActiveHealthCheck) *int { return v.UnhealthyThreshold }).(pulumi.IntPtrOutput) } -type MongodbflexInstanceOptionsPtrOutput struct{ *pulumi.OutputState } +type LoadbalancerTargetPoolActiveHealthCheckPtrOutput struct{ *pulumi.OutputState } -func (MongodbflexInstanceOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**MongodbflexInstanceOptions)(nil)).Elem() +func (LoadbalancerTargetPoolActiveHealthCheckPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LoadbalancerTargetPoolActiveHealthCheck)(nil)).Elem() } -func (o MongodbflexInstanceOptionsPtrOutput) ToMongodbflexInstanceOptionsPtrOutput() MongodbflexInstanceOptionsPtrOutput { +func (o LoadbalancerTargetPoolActiveHealthCheckPtrOutput) ToLoadbalancerTargetPoolActiveHealthCheckPtrOutput() LoadbalancerTargetPoolActiveHealthCheckPtrOutput { return o } -func (o MongodbflexInstanceOptionsPtrOutput) ToMongodbflexInstanceOptionsPtrOutputWithContext(ctx context.Context) MongodbflexInstanceOptionsPtrOutput { +func (o LoadbalancerTargetPoolActiveHealthCheckPtrOutput) ToLoadbalancerTargetPoolActiveHealthCheckPtrOutputWithContext(ctx context.Context) LoadbalancerTargetPoolActiveHealthCheckPtrOutput { return o } -func (o MongodbflexInstanceOptionsPtrOutput) Elem() MongodbflexInstanceOptionsOutput { - return o.ApplyT(func(v *MongodbflexInstanceOptions) MongodbflexInstanceOptions { +func (o LoadbalancerTargetPoolActiveHealthCheckPtrOutput) Elem() LoadbalancerTargetPoolActiveHealthCheckOutput { + return o.ApplyT(func(v *LoadbalancerTargetPoolActiveHealthCheck) LoadbalancerTargetPoolActiveHealthCheck { if v != nil { return *v } - var ret MongodbflexInstanceOptions + var ret LoadbalancerTargetPoolActiveHealthCheck return ret - }).(MongodbflexInstanceOptionsOutput) -} - -// The number of days that daily backups will be retained. -func (o MongodbflexInstanceOptionsPtrOutput) DailySnapshotRetentionDays() pulumi.IntPtrOutput { - return o.ApplyT(func(v *MongodbflexInstanceOptions) *int { - if v == nil { - return nil - } - return v.DailySnapshotRetentionDays - }).(pulumi.IntPtrOutput) + }).(LoadbalancerTargetPoolActiveHealthCheckOutput) } -// The number of months that monthly backups will be retained. -func (o MongodbflexInstanceOptionsPtrOutput) MonthlySnapshotRetentionMonths() pulumi.IntPtrOutput { - return o.ApplyT(func(v *MongodbflexInstanceOptions) *int { +// Healthy threshold of the health checking. +func (o LoadbalancerTargetPoolActiveHealthCheckPtrOutput) HealthyThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LoadbalancerTargetPoolActiveHealthCheck) *int { if v == nil { return nil } - return v.MonthlySnapshotRetentionMonths + return v.HealthyThreshold }).(pulumi.IntPtrOutput) } -// The number of hours back in time the point-in-time recovery feature will be able to recover. -func (o MongodbflexInstanceOptionsPtrOutput) PointInTimeWindowHours() pulumi.IntPtrOutput { - return o.ApplyT(func(v *MongodbflexInstanceOptions) *int { +// Interval duration of health checking in seconds. +func (o LoadbalancerTargetPoolActiveHealthCheckPtrOutput) Interval() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadbalancerTargetPoolActiveHealthCheck) *string { if v == nil { return nil } - return &v.PointInTimeWindowHours - }).(pulumi.IntPtrOutput) + return v.Interval + }).(pulumi.StringPtrOutput) } -// The number of days that continuous backups (controlled via the `backupSchedule`) will be retained. -func (o MongodbflexInstanceOptionsPtrOutput) SnapshotRetentionDays() pulumi.IntPtrOutput { - return o.ApplyT(func(v *MongodbflexInstanceOptions) *int { +// Interval duration threshold of the health checking in seconds. +func (o LoadbalancerTargetPoolActiveHealthCheckPtrOutput) IntervalJitter() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadbalancerTargetPoolActiveHealthCheck) *string { if v == nil { return nil } - return v.SnapshotRetentionDays - }).(pulumi.IntPtrOutput) + return v.IntervalJitter + }).(pulumi.StringPtrOutput) } -// Type of the MongoDB Flex instance. Possible values are: `Replica`, `Sharded`, `Single`. -func (o MongodbflexInstanceOptionsPtrOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v *MongodbflexInstanceOptions) *string { +// Active health checking timeout duration in seconds. +func (o LoadbalancerTargetPoolActiveHealthCheckPtrOutput) Timeout() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LoadbalancerTargetPoolActiveHealthCheck) *string { if v == nil { return nil } - return &v.Type + return v.Timeout }).(pulumi.StringPtrOutput) } -// The number of weeks that weekly backups will be retained. -func (o MongodbflexInstanceOptionsPtrOutput) WeeklySnapshotRetentionWeeks() pulumi.IntPtrOutput { - return o.ApplyT(func(v *MongodbflexInstanceOptions) *int { +// Unhealthy threshold of the health checking. +func (o LoadbalancerTargetPoolActiveHealthCheckPtrOutput) UnhealthyThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LoadbalancerTargetPoolActiveHealthCheck) *int { if v == nil { return nil } - return v.WeeklySnapshotRetentionWeeks + return v.UnhealthyThreshold }).(pulumi.IntPtrOutput) } -type MongodbflexInstanceStorage struct { - Class string `pulumi:"class"` - Size int `pulumi:"size"` +type LoadbalancerTargetPoolSessionPersistence 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"` } -// MongodbflexInstanceStorageInput is an input type that accepts MongodbflexInstanceStorageArgs and MongodbflexInstanceStorageOutput values. -// You can construct a concrete instance of `MongodbflexInstanceStorageInput` via: +// LoadbalancerTargetPoolSessionPersistenceInput is an input type that accepts LoadbalancerTargetPoolSessionPersistenceArgs and LoadbalancerTargetPoolSessionPersistenceOutput values. +// You can construct a concrete instance of `LoadbalancerTargetPoolSessionPersistenceInput` via: // -// MongodbflexInstanceStorageArgs{...} -type MongodbflexInstanceStorageInput interface { +// LoadbalancerTargetPoolSessionPersistenceArgs{...} +type LoadbalancerTargetPoolSessionPersistenceInput interface { pulumi.Input - ToMongodbflexInstanceStorageOutput() MongodbflexInstanceStorageOutput - ToMongodbflexInstanceStorageOutputWithContext(context.Context) MongodbflexInstanceStorageOutput + ToLoadbalancerTargetPoolSessionPersistenceOutput() LoadbalancerTargetPoolSessionPersistenceOutput + ToLoadbalancerTargetPoolSessionPersistenceOutputWithContext(context.Context) LoadbalancerTargetPoolSessionPersistenceOutput } -type MongodbflexInstanceStorageArgs struct { - Class pulumi.StringInput `pulumi:"class"` - Size pulumi.IntInput `pulumi:"size"` +type LoadbalancerTargetPoolSessionPersistenceArgs 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.BoolPtrInput `pulumi:"useSourceIpAddress"` } -func (MongodbflexInstanceStorageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*MongodbflexInstanceStorage)(nil)).Elem() +func (LoadbalancerTargetPoolSessionPersistenceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerTargetPoolSessionPersistence)(nil)).Elem() } -func (i MongodbflexInstanceStorageArgs) ToMongodbflexInstanceStorageOutput() MongodbflexInstanceStorageOutput { - return i.ToMongodbflexInstanceStorageOutputWithContext(context.Background()) +func (i LoadbalancerTargetPoolSessionPersistenceArgs) ToLoadbalancerTargetPoolSessionPersistenceOutput() LoadbalancerTargetPoolSessionPersistenceOutput { + return i.ToLoadbalancerTargetPoolSessionPersistenceOutputWithContext(context.Background()) } -func (i MongodbflexInstanceStorageArgs) ToMongodbflexInstanceStorageOutputWithContext(ctx context.Context) MongodbflexInstanceStorageOutput { - return pulumi.ToOutputWithContext(ctx, i).(MongodbflexInstanceStorageOutput) +func (i LoadbalancerTargetPoolSessionPersistenceArgs) ToLoadbalancerTargetPoolSessionPersistenceOutputWithContext(ctx context.Context) LoadbalancerTargetPoolSessionPersistenceOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerTargetPoolSessionPersistenceOutput) } -func (i MongodbflexInstanceStorageArgs) ToMongodbflexInstanceStoragePtrOutput() MongodbflexInstanceStoragePtrOutput { - return i.ToMongodbflexInstanceStoragePtrOutputWithContext(context.Background()) +func (i LoadbalancerTargetPoolSessionPersistenceArgs) ToLoadbalancerTargetPoolSessionPersistencePtrOutput() LoadbalancerTargetPoolSessionPersistencePtrOutput { + return i.ToLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(context.Background()) } -func (i MongodbflexInstanceStorageArgs) ToMongodbflexInstanceStoragePtrOutputWithContext(ctx context.Context) MongodbflexInstanceStoragePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MongodbflexInstanceStorageOutput).ToMongodbflexInstanceStoragePtrOutputWithContext(ctx) +func (i LoadbalancerTargetPoolSessionPersistenceArgs) ToLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(ctx context.Context) LoadbalancerTargetPoolSessionPersistencePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerTargetPoolSessionPersistenceOutput).ToLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(ctx) } -// MongodbflexInstanceStoragePtrInput is an input type that accepts MongodbflexInstanceStorageArgs, MongodbflexInstanceStoragePtr and MongodbflexInstanceStoragePtrOutput values. -// You can construct a concrete instance of `MongodbflexInstanceStoragePtrInput` via: +// LoadbalancerTargetPoolSessionPersistencePtrInput is an input type that accepts LoadbalancerTargetPoolSessionPersistenceArgs, LoadbalancerTargetPoolSessionPersistencePtr and LoadbalancerTargetPoolSessionPersistencePtrOutput values. +// You can construct a concrete instance of `LoadbalancerTargetPoolSessionPersistencePtrInput` via: // -// MongodbflexInstanceStorageArgs{...} +// LoadbalancerTargetPoolSessionPersistenceArgs{...} // // or: // // nil -type MongodbflexInstanceStoragePtrInput interface { +type LoadbalancerTargetPoolSessionPersistencePtrInput interface { pulumi.Input - ToMongodbflexInstanceStoragePtrOutput() MongodbflexInstanceStoragePtrOutput - ToMongodbflexInstanceStoragePtrOutputWithContext(context.Context) MongodbflexInstanceStoragePtrOutput + ToLoadbalancerTargetPoolSessionPersistencePtrOutput() LoadbalancerTargetPoolSessionPersistencePtrOutput + ToLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(context.Context) LoadbalancerTargetPoolSessionPersistencePtrOutput } -type mongodbflexInstanceStoragePtrType MongodbflexInstanceStorageArgs +type loadbalancerTargetPoolSessionPersistencePtrType LoadbalancerTargetPoolSessionPersistenceArgs -func MongodbflexInstanceStoragePtr(v *MongodbflexInstanceStorageArgs) MongodbflexInstanceStoragePtrInput { - return (*mongodbflexInstanceStoragePtrType)(v) +func LoadbalancerTargetPoolSessionPersistencePtr(v *LoadbalancerTargetPoolSessionPersistenceArgs) LoadbalancerTargetPoolSessionPersistencePtrInput { + return (*loadbalancerTargetPoolSessionPersistencePtrType)(v) } -func (*mongodbflexInstanceStoragePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**MongodbflexInstanceStorage)(nil)).Elem() +func (*loadbalancerTargetPoolSessionPersistencePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LoadbalancerTargetPoolSessionPersistence)(nil)).Elem() } -func (i *mongodbflexInstanceStoragePtrType) ToMongodbflexInstanceStoragePtrOutput() MongodbflexInstanceStoragePtrOutput { - return i.ToMongodbflexInstanceStoragePtrOutputWithContext(context.Background()) +func (i *loadbalancerTargetPoolSessionPersistencePtrType) ToLoadbalancerTargetPoolSessionPersistencePtrOutput() LoadbalancerTargetPoolSessionPersistencePtrOutput { + return i.ToLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(context.Background()) } -func (i *mongodbflexInstanceStoragePtrType) ToMongodbflexInstanceStoragePtrOutputWithContext(ctx context.Context) MongodbflexInstanceStoragePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(MongodbflexInstanceStoragePtrOutput) +func (i *loadbalancerTargetPoolSessionPersistencePtrType) ToLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(ctx context.Context) LoadbalancerTargetPoolSessionPersistencePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerTargetPoolSessionPersistencePtrOutput) } -type MongodbflexInstanceStorageOutput struct{ *pulumi.OutputState } +type LoadbalancerTargetPoolSessionPersistenceOutput struct{ *pulumi.OutputState } -func (MongodbflexInstanceStorageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*MongodbflexInstanceStorage)(nil)).Elem() +func (LoadbalancerTargetPoolSessionPersistenceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerTargetPoolSessionPersistence)(nil)).Elem() } -func (o MongodbflexInstanceStorageOutput) ToMongodbflexInstanceStorageOutput() MongodbflexInstanceStorageOutput { +func (o LoadbalancerTargetPoolSessionPersistenceOutput) ToLoadbalancerTargetPoolSessionPersistenceOutput() LoadbalancerTargetPoolSessionPersistenceOutput { return o } -func (o MongodbflexInstanceStorageOutput) ToMongodbflexInstanceStorageOutputWithContext(ctx context.Context) MongodbflexInstanceStorageOutput { +func (o LoadbalancerTargetPoolSessionPersistenceOutput) ToLoadbalancerTargetPoolSessionPersistenceOutputWithContext(ctx context.Context) LoadbalancerTargetPoolSessionPersistenceOutput { return o } -func (o MongodbflexInstanceStorageOutput) ToMongodbflexInstanceStoragePtrOutput() MongodbflexInstanceStoragePtrOutput { - return o.ToMongodbflexInstanceStoragePtrOutputWithContext(context.Background()) +func (o LoadbalancerTargetPoolSessionPersistenceOutput) ToLoadbalancerTargetPoolSessionPersistencePtrOutput() LoadbalancerTargetPoolSessionPersistencePtrOutput { + return o.ToLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(context.Background()) } -func (o MongodbflexInstanceStorageOutput) ToMongodbflexInstanceStoragePtrOutputWithContext(ctx context.Context) MongodbflexInstanceStoragePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v MongodbflexInstanceStorage) *MongodbflexInstanceStorage { +func (o LoadbalancerTargetPoolSessionPersistenceOutput) ToLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(ctx context.Context) LoadbalancerTargetPoolSessionPersistencePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LoadbalancerTargetPoolSessionPersistence) *LoadbalancerTargetPoolSessionPersistence { return &v - }).(MongodbflexInstanceStoragePtrOutput) -} - -func (o MongodbflexInstanceStorageOutput) Class() pulumi.StringOutput { - return o.ApplyT(func(v MongodbflexInstanceStorage) string { return v.Class }).(pulumi.StringOutput) + }).(LoadbalancerTargetPoolSessionPersistencePtrOutput) } -func (o MongodbflexInstanceStorageOutput) Size() pulumi.IntOutput { - return o.ApplyT(func(v MongodbflexInstanceStorage) int { return v.Size }).(pulumi.IntOutput) +// 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 LoadbalancerTargetPoolSessionPersistenceOutput) UseSourceIpAddress() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LoadbalancerTargetPoolSessionPersistence) *bool { return v.UseSourceIpAddress }).(pulumi.BoolPtrOutput) } -type MongodbflexInstanceStoragePtrOutput struct{ *pulumi.OutputState } +type LoadbalancerTargetPoolSessionPersistencePtrOutput struct{ *pulumi.OutputState } -func (MongodbflexInstanceStoragePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**MongodbflexInstanceStorage)(nil)).Elem() +func (LoadbalancerTargetPoolSessionPersistencePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LoadbalancerTargetPoolSessionPersistence)(nil)).Elem() } -func (o MongodbflexInstanceStoragePtrOutput) ToMongodbflexInstanceStoragePtrOutput() MongodbflexInstanceStoragePtrOutput { +func (o LoadbalancerTargetPoolSessionPersistencePtrOutput) ToLoadbalancerTargetPoolSessionPersistencePtrOutput() LoadbalancerTargetPoolSessionPersistencePtrOutput { return o } -func (o MongodbflexInstanceStoragePtrOutput) ToMongodbflexInstanceStoragePtrOutputWithContext(ctx context.Context) MongodbflexInstanceStoragePtrOutput { +func (o LoadbalancerTargetPoolSessionPersistencePtrOutput) ToLoadbalancerTargetPoolSessionPersistencePtrOutputWithContext(ctx context.Context) LoadbalancerTargetPoolSessionPersistencePtrOutput { return o } -func (o MongodbflexInstanceStoragePtrOutput) Elem() MongodbflexInstanceStorageOutput { - return o.ApplyT(func(v *MongodbflexInstanceStorage) MongodbflexInstanceStorage { +func (o LoadbalancerTargetPoolSessionPersistencePtrOutput) Elem() LoadbalancerTargetPoolSessionPersistenceOutput { + return o.ApplyT(func(v *LoadbalancerTargetPoolSessionPersistence) LoadbalancerTargetPoolSessionPersistence { if v != nil { return *v } - var ret MongodbflexInstanceStorage + var ret LoadbalancerTargetPoolSessionPersistence return ret - }).(MongodbflexInstanceStorageOutput) -} - -func (o MongodbflexInstanceStoragePtrOutput) Class() pulumi.StringPtrOutput { - return o.ApplyT(func(v *MongodbflexInstanceStorage) *string { - if v == nil { - return nil - } - return &v.Class - }).(pulumi.StringPtrOutput) + }).(LoadbalancerTargetPoolSessionPersistenceOutput) } -func (o MongodbflexInstanceStoragePtrOutput) Size() pulumi.IntPtrOutput { - return o.ApplyT(func(v *MongodbflexInstanceStorage) *int { +// 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 LoadbalancerTargetPoolSessionPersistencePtrOutput) UseSourceIpAddress() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *LoadbalancerTargetPoolSessionPersistence) *bool { if v == nil { return nil } - return &v.Size - }).(pulumi.IntPtrOutput) + return v.UseSourceIpAddress + }).(pulumi.BoolPtrOutput) } -type NetworkAreaNetworkRange struct { - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - NetworkRangeId *string `pulumi:"networkRangeId"` - // Classless Inter-Domain Routing (CIDR). - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - Prefix string `pulumi:"prefix"` +type LoadbalancerTargetPoolTarget struct { + // Target display name + DisplayName string `pulumi:"displayName"` + // Target IP + Ip string `pulumi:"ip"` } -// NetworkAreaNetworkRangeInput is an input type that accepts NetworkAreaNetworkRangeArgs and NetworkAreaNetworkRangeOutput values. -// You can construct a concrete instance of `NetworkAreaNetworkRangeInput` via: +// LoadbalancerTargetPoolTargetInput is an input type that accepts LoadbalancerTargetPoolTargetArgs and LoadbalancerTargetPoolTargetOutput values. +// You can construct a concrete instance of `LoadbalancerTargetPoolTargetInput` via: // -// NetworkAreaNetworkRangeArgs{...} -type NetworkAreaNetworkRangeInput interface { +// LoadbalancerTargetPoolTargetArgs{...} +type LoadbalancerTargetPoolTargetInput interface { pulumi.Input - ToNetworkAreaNetworkRangeOutput() NetworkAreaNetworkRangeOutput - ToNetworkAreaNetworkRangeOutputWithContext(context.Context) NetworkAreaNetworkRangeOutput + ToLoadbalancerTargetPoolTargetOutput() LoadbalancerTargetPoolTargetOutput + ToLoadbalancerTargetPoolTargetOutputWithContext(context.Context) LoadbalancerTargetPoolTargetOutput } -type NetworkAreaNetworkRangeArgs struct { - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - NetworkRangeId pulumi.StringPtrInput `pulumi:"networkRangeId"` - // Classless Inter-Domain Routing (CIDR). - // - // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. - Prefix pulumi.StringInput `pulumi:"prefix"` +type LoadbalancerTargetPoolTargetArgs struct { + // Target display name + DisplayName pulumi.StringInput `pulumi:"displayName"` + // Target IP + Ip pulumi.StringInput `pulumi:"ip"` } -func (NetworkAreaNetworkRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkAreaNetworkRange)(nil)).Elem() +func (LoadbalancerTargetPoolTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerTargetPoolTarget)(nil)).Elem() } -func (i NetworkAreaNetworkRangeArgs) ToNetworkAreaNetworkRangeOutput() NetworkAreaNetworkRangeOutput { - return i.ToNetworkAreaNetworkRangeOutputWithContext(context.Background()) +func (i LoadbalancerTargetPoolTargetArgs) ToLoadbalancerTargetPoolTargetOutput() LoadbalancerTargetPoolTargetOutput { + return i.ToLoadbalancerTargetPoolTargetOutputWithContext(context.Background()) } -func (i NetworkAreaNetworkRangeArgs) ToNetworkAreaNetworkRangeOutputWithContext(ctx context.Context) NetworkAreaNetworkRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaNetworkRangeOutput) +func (i LoadbalancerTargetPoolTargetArgs) ToLoadbalancerTargetPoolTargetOutputWithContext(ctx context.Context) LoadbalancerTargetPoolTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerTargetPoolTargetOutput) } -// NetworkAreaNetworkRangeArrayInput is an input type that accepts NetworkAreaNetworkRangeArray and NetworkAreaNetworkRangeArrayOutput values. -// You can construct a concrete instance of `NetworkAreaNetworkRangeArrayInput` via: +// LoadbalancerTargetPoolTargetArrayInput is an input type that accepts LoadbalancerTargetPoolTargetArray and LoadbalancerTargetPoolTargetArrayOutput values. +// You can construct a concrete instance of `LoadbalancerTargetPoolTargetArrayInput` via: // -// NetworkAreaNetworkRangeArray{ NetworkAreaNetworkRangeArgs{...} } -type NetworkAreaNetworkRangeArrayInput interface { +// LoadbalancerTargetPoolTargetArray{ LoadbalancerTargetPoolTargetArgs{...} } +type LoadbalancerTargetPoolTargetArrayInput interface { pulumi.Input - ToNetworkAreaNetworkRangeArrayOutput() NetworkAreaNetworkRangeArrayOutput - ToNetworkAreaNetworkRangeArrayOutputWithContext(context.Context) NetworkAreaNetworkRangeArrayOutput + ToLoadbalancerTargetPoolTargetArrayOutput() LoadbalancerTargetPoolTargetArrayOutput + ToLoadbalancerTargetPoolTargetArrayOutputWithContext(context.Context) LoadbalancerTargetPoolTargetArrayOutput } -type NetworkAreaNetworkRangeArray []NetworkAreaNetworkRangeInput +type LoadbalancerTargetPoolTargetArray []LoadbalancerTargetPoolTargetInput -func (NetworkAreaNetworkRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkAreaNetworkRange)(nil)).Elem() +func (LoadbalancerTargetPoolTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]LoadbalancerTargetPoolTarget)(nil)).Elem() } -func (i NetworkAreaNetworkRangeArray) ToNetworkAreaNetworkRangeArrayOutput() NetworkAreaNetworkRangeArrayOutput { - return i.ToNetworkAreaNetworkRangeArrayOutputWithContext(context.Background()) +func (i LoadbalancerTargetPoolTargetArray) ToLoadbalancerTargetPoolTargetArrayOutput() LoadbalancerTargetPoolTargetArrayOutput { + return i.ToLoadbalancerTargetPoolTargetArrayOutputWithContext(context.Background()) } -func (i NetworkAreaNetworkRangeArray) ToNetworkAreaNetworkRangeArrayOutputWithContext(ctx context.Context) NetworkAreaNetworkRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaNetworkRangeArrayOutput) +func (i LoadbalancerTargetPoolTargetArray) ToLoadbalancerTargetPoolTargetArrayOutputWithContext(ctx context.Context) LoadbalancerTargetPoolTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(LoadbalancerTargetPoolTargetArrayOutput) } -type NetworkAreaNetworkRangeOutput struct{ *pulumi.OutputState } +type LoadbalancerTargetPoolTargetOutput struct{ *pulumi.OutputState } -func (NetworkAreaNetworkRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkAreaNetworkRange)(nil)).Elem() +func (LoadbalancerTargetPoolTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LoadbalancerTargetPoolTarget)(nil)).Elem() } -func (o NetworkAreaNetworkRangeOutput) ToNetworkAreaNetworkRangeOutput() NetworkAreaNetworkRangeOutput { +func (o LoadbalancerTargetPoolTargetOutput) ToLoadbalancerTargetPoolTargetOutput() LoadbalancerTargetPoolTargetOutput { return o } -func (o NetworkAreaNetworkRangeOutput) ToNetworkAreaNetworkRangeOutputWithContext(ctx context.Context) NetworkAreaNetworkRangeOutput { +func (o LoadbalancerTargetPoolTargetOutput) ToLoadbalancerTargetPoolTargetOutputWithContext(ctx context.Context) LoadbalancerTargetPoolTargetOutput { return o } -// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. -func (o NetworkAreaNetworkRangeOutput) NetworkRangeId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkAreaNetworkRange) *string { return v.NetworkRangeId }).(pulumi.StringPtrOutput) +// Target display name +func (o LoadbalancerTargetPoolTargetOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v LoadbalancerTargetPoolTarget) string { return v.DisplayName }).(pulumi.StringOutput) } -// Classless Inter-Domain Routing (CIDR). -// -// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. -func (o NetworkAreaNetworkRangeOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v NetworkAreaNetworkRange) string { return v.Prefix }).(pulumi.StringOutput) +// Target IP +func (o LoadbalancerTargetPoolTargetOutput) Ip() pulumi.StringOutput { + return o.ApplyT(func(v LoadbalancerTargetPoolTarget) string { return v.Ip }).(pulumi.StringOutput) } -type NetworkAreaNetworkRangeArrayOutput struct{ *pulumi.OutputState } +type LoadbalancerTargetPoolTargetArrayOutput struct{ *pulumi.OutputState } -func (NetworkAreaNetworkRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkAreaNetworkRange)(nil)).Elem() +func (LoadbalancerTargetPoolTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]LoadbalancerTargetPoolTarget)(nil)).Elem() } -func (o NetworkAreaNetworkRangeArrayOutput) ToNetworkAreaNetworkRangeArrayOutput() NetworkAreaNetworkRangeArrayOutput { +func (o LoadbalancerTargetPoolTargetArrayOutput) ToLoadbalancerTargetPoolTargetArrayOutput() LoadbalancerTargetPoolTargetArrayOutput { return o } -func (o NetworkAreaNetworkRangeArrayOutput) ToNetworkAreaNetworkRangeArrayOutputWithContext(ctx context.Context) NetworkAreaNetworkRangeArrayOutput { +func (o LoadbalancerTargetPoolTargetArrayOutput) ToLoadbalancerTargetPoolTargetArrayOutputWithContext(ctx context.Context) LoadbalancerTargetPoolTargetArrayOutput { return o } -func (o NetworkAreaNetworkRangeArrayOutput) Index(i pulumi.IntInput) NetworkAreaNetworkRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkAreaNetworkRange { - return vs[0].([]NetworkAreaNetworkRange)[vs[1].(int)] - }).(NetworkAreaNetworkRangeOutput) +func (o LoadbalancerTargetPoolTargetArrayOutput) Index(i pulumi.IntInput) LoadbalancerTargetPoolTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) LoadbalancerTargetPoolTarget { + return vs[0].([]LoadbalancerTargetPoolTarget)[vs[1].(int)] + }).(LoadbalancerTargetPoolTargetOutput) } -type NetworkAreaRegionIpv4 struct { - // List of DNS Servers/Nameservers. - DefaultNameservers []string `pulumi:"defaultNameservers"` - // The default prefix length for networks in the network area. - DefaultPrefixLength *int `pulumi:"defaultPrefixLength"` - // The maximal prefix length for networks in the network area. - MaxPrefixLength *int `pulumi:"maxPrefixLength"` - // The minimal prefix length for networks in the network area. - MinPrefixLength *int `pulumi:"minPrefixLength"` - // List of Network ranges. - NetworkRanges []NetworkAreaRegionIpv4NetworkRange `pulumi:"networkRanges"` - // IPv4 Classless Inter-Domain Routing (CIDR). - TransferNetwork string `pulumi:"transferNetwork"` +type LogmeInstanceParameters 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"` } -// NetworkAreaRegionIpv4Input is an input type that accepts NetworkAreaRegionIpv4Args and NetworkAreaRegionIpv4Output values. -// You can construct a concrete instance of `NetworkAreaRegionIpv4Input` via: +// LogmeInstanceParametersInput is an input type that accepts LogmeInstanceParametersArgs and LogmeInstanceParametersOutput values. +// You can construct a concrete instance of `LogmeInstanceParametersInput` via: // -// NetworkAreaRegionIpv4Args{...} -type NetworkAreaRegionIpv4Input interface { +// LogmeInstanceParametersArgs{...} +type LogmeInstanceParametersInput interface { pulumi.Input - ToNetworkAreaRegionIpv4Output() NetworkAreaRegionIpv4Output - ToNetworkAreaRegionIpv4OutputWithContext(context.Context) NetworkAreaRegionIpv4Output + ToLogmeInstanceParametersOutput() LogmeInstanceParametersOutput + ToLogmeInstanceParametersOutputWithContext(context.Context) LogmeInstanceParametersOutput } -type NetworkAreaRegionIpv4Args struct { - // List of DNS Servers/Nameservers. - DefaultNameservers pulumi.StringArrayInput `pulumi:"defaultNameservers"` - // The default prefix length for networks in the network area. - DefaultPrefixLength pulumi.IntPtrInput `pulumi:"defaultPrefixLength"` - // The maximal prefix length for networks in the network area. - MaxPrefixLength pulumi.IntPtrInput `pulumi:"maxPrefixLength"` - // The minimal prefix length for networks in the network area. - MinPrefixLength pulumi.IntPtrInput `pulumi:"minPrefixLength"` - // List of Network ranges. - NetworkRanges NetworkAreaRegionIpv4NetworkRangeArrayInput `pulumi:"networkRanges"` - // IPv4 Classless Inter-Domain Routing (CIDR). - TransferNetwork pulumi.StringInput `pulumi:"transferNetwork"` +type LogmeInstanceParametersArgs struct { + // Enable monitoring. + EnableMonitoring pulumi.BoolPtrInput `pulumi:"enableMonitoring"` + FluentdTcp pulumi.IntPtrInput `pulumi:"fluentdTcp"` + FluentdTls pulumi.IntPtrInput `pulumi:"fluentdTls"` + FluentdTlsCiphers pulumi.StringPtrInput `pulumi:"fluentdTlsCiphers"` + FluentdTlsMaxVersion pulumi.StringPtrInput `pulumi:"fluentdTlsMaxVersion"` + FluentdTlsMinVersion pulumi.StringPtrInput `pulumi:"fluentdTlsMinVersion"` + FluentdTlsVersion pulumi.StringPtrInput `pulumi:"fluentdTlsVersion"` + FluentdUdp pulumi.IntPtrInput `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.StringPtrInput `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.StringPtrInput `pulumi:"ismDeletionAfter"` + IsmJitter pulumi.Float64PtrInput `pulumi:"ismJitter"` + // Jitter of the execution time. + IsmJobInterval pulumi.IntPtrInput `pulumi:"ismJobInterval"` + // The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. + JavaHeapspace pulumi.IntPtrInput `pulumi:"javaHeapspace"` + // The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. + JavaMaxmetaspace pulumi.IntPtrInput `pulumi:"javaMaxmetaspace"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold pulumi.IntPtrInput `pulumi:"maxDiskThreshold"` + // The frequency in seconds at which metrics are emitted (in seconds). + MetricsFrequency pulumi.IntPtrInput `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.StringPtrInput `pulumi:"metricsPrefix"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId pulumi.StringPtrInput `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.StringPtrInput `pulumi:"sgwAcl"` + // List of syslog servers to send logs to. + Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` } -func (NetworkAreaRegionIpv4Args) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkAreaRegionIpv4)(nil)).Elem() +func (LogmeInstanceParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*LogmeInstanceParameters)(nil)).Elem() } -func (i NetworkAreaRegionIpv4Args) ToNetworkAreaRegionIpv4Output() NetworkAreaRegionIpv4Output { - return i.ToNetworkAreaRegionIpv4OutputWithContext(context.Background()) +func (i LogmeInstanceParametersArgs) ToLogmeInstanceParametersOutput() LogmeInstanceParametersOutput { + return i.ToLogmeInstanceParametersOutputWithContext(context.Background()) } -func (i NetworkAreaRegionIpv4Args) ToNetworkAreaRegionIpv4OutputWithContext(ctx context.Context) NetworkAreaRegionIpv4Output { - return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRegionIpv4Output) +func (i LogmeInstanceParametersArgs) ToLogmeInstanceParametersOutputWithContext(ctx context.Context) LogmeInstanceParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogmeInstanceParametersOutput) } -func (i NetworkAreaRegionIpv4Args) ToNetworkAreaRegionIpv4PtrOutput() NetworkAreaRegionIpv4PtrOutput { - return i.ToNetworkAreaRegionIpv4PtrOutputWithContext(context.Background()) +func (i LogmeInstanceParametersArgs) ToLogmeInstanceParametersPtrOutput() LogmeInstanceParametersPtrOutput { + return i.ToLogmeInstanceParametersPtrOutputWithContext(context.Background()) } -func (i NetworkAreaRegionIpv4Args) ToNetworkAreaRegionIpv4PtrOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRegionIpv4Output).ToNetworkAreaRegionIpv4PtrOutputWithContext(ctx) +func (i LogmeInstanceParametersArgs) ToLogmeInstanceParametersPtrOutputWithContext(ctx context.Context) LogmeInstanceParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogmeInstanceParametersOutput).ToLogmeInstanceParametersPtrOutputWithContext(ctx) } -// NetworkAreaRegionIpv4PtrInput is an input type that accepts NetworkAreaRegionIpv4Args, NetworkAreaRegionIpv4Ptr and NetworkAreaRegionIpv4PtrOutput values. -// You can construct a concrete instance of `NetworkAreaRegionIpv4PtrInput` via: +// LogmeInstanceParametersPtrInput is an input type that accepts LogmeInstanceParametersArgs, LogmeInstanceParametersPtr and LogmeInstanceParametersPtrOutput values. +// You can construct a concrete instance of `LogmeInstanceParametersPtrInput` via: // -// NetworkAreaRegionIpv4Args{...} +// LogmeInstanceParametersArgs{...} // // or: // // nil -type NetworkAreaRegionIpv4PtrInput interface { +type LogmeInstanceParametersPtrInput interface { pulumi.Input - ToNetworkAreaRegionIpv4PtrOutput() NetworkAreaRegionIpv4PtrOutput - ToNetworkAreaRegionIpv4PtrOutputWithContext(context.Context) NetworkAreaRegionIpv4PtrOutput + ToLogmeInstanceParametersPtrOutput() LogmeInstanceParametersPtrOutput + ToLogmeInstanceParametersPtrOutputWithContext(context.Context) LogmeInstanceParametersPtrOutput } -type networkAreaRegionIpv4PtrType NetworkAreaRegionIpv4Args +type logmeInstanceParametersPtrType LogmeInstanceParametersArgs -func NetworkAreaRegionIpv4Ptr(v *NetworkAreaRegionIpv4Args) NetworkAreaRegionIpv4PtrInput { - return (*networkAreaRegionIpv4PtrType)(v) +func LogmeInstanceParametersPtr(v *LogmeInstanceParametersArgs) LogmeInstanceParametersPtrInput { + return (*logmeInstanceParametersPtrType)(v) } -func (*networkAreaRegionIpv4PtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkAreaRegionIpv4)(nil)).Elem() +func (*logmeInstanceParametersPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**LogmeInstanceParameters)(nil)).Elem() } -func (i *networkAreaRegionIpv4PtrType) ToNetworkAreaRegionIpv4PtrOutput() NetworkAreaRegionIpv4PtrOutput { - return i.ToNetworkAreaRegionIpv4PtrOutputWithContext(context.Background()) +func (i *logmeInstanceParametersPtrType) ToLogmeInstanceParametersPtrOutput() LogmeInstanceParametersPtrOutput { + return i.ToLogmeInstanceParametersPtrOutputWithContext(context.Background()) } -func (i *networkAreaRegionIpv4PtrType) ToNetworkAreaRegionIpv4PtrOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRegionIpv4PtrOutput) +func (i *logmeInstanceParametersPtrType) ToLogmeInstanceParametersPtrOutputWithContext(ctx context.Context) LogmeInstanceParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(LogmeInstanceParametersPtrOutput) } -type NetworkAreaRegionIpv4Output struct{ *pulumi.OutputState } +type LogmeInstanceParametersOutput struct{ *pulumi.OutputState } -func (NetworkAreaRegionIpv4Output) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkAreaRegionIpv4)(nil)).Elem() +func (LogmeInstanceParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*LogmeInstanceParameters)(nil)).Elem() } -func (o NetworkAreaRegionIpv4Output) ToNetworkAreaRegionIpv4Output() NetworkAreaRegionIpv4Output { +func (o LogmeInstanceParametersOutput) ToLogmeInstanceParametersOutput() LogmeInstanceParametersOutput { return o } -func (o NetworkAreaRegionIpv4Output) ToNetworkAreaRegionIpv4OutputWithContext(ctx context.Context) NetworkAreaRegionIpv4Output { +func (o LogmeInstanceParametersOutput) ToLogmeInstanceParametersOutputWithContext(ctx context.Context) LogmeInstanceParametersOutput { return o } -func (o NetworkAreaRegionIpv4Output) ToNetworkAreaRegionIpv4PtrOutput() NetworkAreaRegionIpv4PtrOutput { - return o.ToNetworkAreaRegionIpv4PtrOutputWithContext(context.Background()) +func (o LogmeInstanceParametersOutput) ToLogmeInstanceParametersPtrOutput() LogmeInstanceParametersPtrOutput { + return o.ToLogmeInstanceParametersPtrOutputWithContext(context.Background()) } -func (o NetworkAreaRegionIpv4Output) ToNetworkAreaRegionIpv4PtrOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4PtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkAreaRegionIpv4) *NetworkAreaRegionIpv4 { +func (o LogmeInstanceParametersOutput) ToLogmeInstanceParametersPtrOutputWithContext(ctx context.Context) LogmeInstanceParametersPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v LogmeInstanceParameters) *LogmeInstanceParameters { return &v - }).(NetworkAreaRegionIpv4PtrOutput) + }).(LogmeInstanceParametersPtrOutput) } -// List of DNS Servers/Nameservers. -func (o NetworkAreaRegionIpv4Output) DefaultNameservers() pulumi.StringArrayOutput { - return o.ApplyT(func(v NetworkAreaRegionIpv4) []string { return v.DefaultNameservers }).(pulumi.StringArrayOutput) +// Enable monitoring. +func (o LogmeInstanceParametersOutput) EnableMonitoring() pulumi.BoolPtrOutput { + return o.ApplyT(func(v LogmeInstanceParameters) *bool { return v.EnableMonitoring }).(pulumi.BoolPtrOutput) } -// The default prefix length for networks in the network area. -func (o NetworkAreaRegionIpv4Output) DefaultPrefixLength() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkAreaRegionIpv4) *int { return v.DefaultPrefixLength }).(pulumi.IntPtrOutput) +func (o LogmeInstanceParametersOutput) FluentdTcp() pulumi.IntPtrOutput { + return o.ApplyT(func(v LogmeInstanceParameters) *int { return v.FluentdTcp }).(pulumi.IntPtrOutput) } -// The maximal prefix length for networks in the network area. -func (o NetworkAreaRegionIpv4Output) MaxPrefixLength() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkAreaRegionIpv4) *int { return v.MaxPrefixLength }).(pulumi.IntPtrOutput) +func (o LogmeInstanceParametersOutput) FluentdTls() pulumi.IntPtrOutput { + return o.ApplyT(func(v LogmeInstanceParameters) *int { return v.FluentdTls }).(pulumi.IntPtrOutput) } -// The minimal prefix length for networks in the network area. -func (o NetworkAreaRegionIpv4Output) MinPrefixLength() pulumi.IntPtrOutput { - return o.ApplyT(func(v NetworkAreaRegionIpv4) *int { return v.MinPrefixLength }).(pulumi.IntPtrOutput) +func (o LogmeInstanceParametersOutput) FluentdTlsCiphers() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogmeInstanceParameters) *string { return v.FluentdTlsCiphers }).(pulumi.StringPtrOutput) } -// List of Network ranges. -func (o NetworkAreaRegionIpv4Output) NetworkRanges() NetworkAreaRegionIpv4NetworkRangeArrayOutput { - return o.ApplyT(func(v NetworkAreaRegionIpv4) []NetworkAreaRegionIpv4NetworkRange { return v.NetworkRanges }).(NetworkAreaRegionIpv4NetworkRangeArrayOutput) +func (o LogmeInstanceParametersOutput) FluentdTlsMaxVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogmeInstanceParameters) *string { return v.FluentdTlsMaxVersion }).(pulumi.StringPtrOutput) } -// IPv4 Classless Inter-Domain Routing (CIDR). -func (o NetworkAreaRegionIpv4Output) TransferNetwork() pulumi.StringOutput { - return o.ApplyT(func(v NetworkAreaRegionIpv4) string { return v.TransferNetwork }).(pulumi.StringOutput) +func (o LogmeInstanceParametersOutput) FluentdTlsMinVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogmeInstanceParameters) *string { return v.FluentdTlsMinVersion }).(pulumi.StringPtrOutput) } -type NetworkAreaRegionIpv4PtrOutput struct{ *pulumi.OutputState } +func (o LogmeInstanceParametersOutput) FluentdTlsVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogmeInstanceParameters) *string { return v.FluentdTlsVersion }).(pulumi.StringPtrOutput) +} -func (NetworkAreaRegionIpv4PtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkAreaRegionIpv4)(nil)).Elem() +func (o LogmeInstanceParametersOutput) FluentdUdp() pulumi.IntPtrOutput { + return o.ApplyT(func(v LogmeInstanceParameters) *int { return v.FluentdUdp }).(pulumi.IntPtrOutput) } -func (o NetworkAreaRegionIpv4PtrOutput) ToNetworkAreaRegionIpv4PtrOutput() NetworkAreaRegionIpv4PtrOutput { +// 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 LogmeInstanceParametersOutput) Graphite() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogmeInstanceParameters) *string { return v.Graphite }).(pulumi.StringPtrOutput) +} + +// 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 LogmeInstanceParametersOutput) IsmDeletionAfter() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogmeInstanceParameters) *string { return v.IsmDeletionAfter }).(pulumi.StringPtrOutput) +} + +func (o LogmeInstanceParametersOutput) IsmJitter() pulumi.Float64PtrOutput { + return o.ApplyT(func(v LogmeInstanceParameters) *float64 { return v.IsmJitter }).(pulumi.Float64PtrOutput) +} + +// Jitter of the execution time. +func (o LogmeInstanceParametersOutput) IsmJobInterval() pulumi.IntPtrOutput { + return o.ApplyT(func(v LogmeInstanceParameters) *int { return v.IsmJobInterval }).(pulumi.IntPtrOutput) +} + +// The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. +func (o LogmeInstanceParametersOutput) JavaHeapspace() pulumi.IntPtrOutput { + return o.ApplyT(func(v LogmeInstanceParameters) *int { return v.JavaHeapspace }).(pulumi.IntPtrOutput) +} + +// The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. +func (o LogmeInstanceParametersOutput) JavaMaxmetaspace() pulumi.IntPtrOutput { + return o.ApplyT(func(v LogmeInstanceParameters) *int { return v.JavaMaxmetaspace }).(pulumi.IntPtrOutput) +} + +// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. +func (o LogmeInstanceParametersOutput) MaxDiskThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v LogmeInstanceParameters) *int { return v.MaxDiskThreshold }).(pulumi.IntPtrOutput) +} + +// The frequency in seconds at which metrics are emitted (in seconds). +func (o LogmeInstanceParametersOutput) MetricsFrequency() pulumi.IntPtrOutput { + return o.ApplyT(func(v LogmeInstanceParameters) *int { return v.MetricsFrequency }).(pulumi.IntPtrOutput) +} + +// 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 LogmeInstanceParametersOutput) MetricsPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogmeInstanceParameters) *string { return v.MetricsPrefix }).(pulumi.StringPtrOutput) +} + +// The ID of the STACKIT monitoring instance. +func (o LogmeInstanceParametersOutput) MonitoringInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogmeInstanceParameters) *string { return v.MonitoringInstanceId }).(pulumi.StringPtrOutput) +} + +func (o LogmeInstanceParametersOutput) OpensearchTlsCiphers() pulumi.StringArrayOutput { + return o.ApplyT(func(v LogmeInstanceParameters) []string { return v.OpensearchTlsCiphers }).(pulumi.StringArrayOutput) +} + +func (o LogmeInstanceParametersOutput) OpensearchTlsProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v LogmeInstanceParameters) []string { return v.OpensearchTlsProtocols }).(pulumi.StringArrayOutput) +} + +// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. +func (o LogmeInstanceParametersOutput) SgwAcl() pulumi.StringPtrOutput { + return o.ApplyT(func(v LogmeInstanceParameters) *string { return v.SgwAcl }).(pulumi.StringPtrOutput) +} + +// List of syslog servers to send logs to. +func (o LogmeInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { + return o.ApplyT(func(v LogmeInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +} + +type LogmeInstanceParametersPtrOutput struct{ *pulumi.OutputState } + +func (LogmeInstanceParametersPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**LogmeInstanceParameters)(nil)).Elem() +} + +func (o LogmeInstanceParametersPtrOutput) ToLogmeInstanceParametersPtrOutput() LogmeInstanceParametersPtrOutput { return o } -func (o NetworkAreaRegionIpv4PtrOutput) ToNetworkAreaRegionIpv4PtrOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4PtrOutput { +func (o LogmeInstanceParametersPtrOutput) ToLogmeInstanceParametersPtrOutputWithContext(ctx context.Context) LogmeInstanceParametersPtrOutput { return o } -func (o NetworkAreaRegionIpv4PtrOutput) Elem() NetworkAreaRegionIpv4Output { - return o.ApplyT(func(v *NetworkAreaRegionIpv4) NetworkAreaRegionIpv4 { +func (o LogmeInstanceParametersPtrOutput) Elem() LogmeInstanceParametersOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) LogmeInstanceParameters { if v != nil { return *v } - var ret NetworkAreaRegionIpv4 + var ret LogmeInstanceParameters return ret - }).(NetworkAreaRegionIpv4Output) + }).(LogmeInstanceParametersOutput) } -// List of DNS Servers/Nameservers. -func (o NetworkAreaRegionIpv4PtrOutput) DefaultNameservers() pulumi.StringArrayOutput { - return o.ApplyT(func(v *NetworkAreaRegionIpv4) []string { +// Enable monitoring. +func (o LogmeInstanceParametersPtrOutput) EnableMonitoring() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) *bool { if v == nil { return nil } - return v.DefaultNameservers - }).(pulumi.StringArrayOutput) + return v.EnableMonitoring + }).(pulumi.BoolPtrOutput) } -// The default prefix length for networks in the network area. -func (o NetworkAreaRegionIpv4PtrOutput) DefaultPrefixLength() pulumi.IntPtrOutput { - return o.ApplyT(func(v *NetworkAreaRegionIpv4) *int { +func (o LogmeInstanceParametersPtrOutput) FluentdTcp() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) *int { if v == nil { return nil } - return v.DefaultPrefixLength + return v.FluentdTcp }).(pulumi.IntPtrOutput) } -// The maximal prefix length for networks in the network area. -func (o NetworkAreaRegionIpv4PtrOutput) MaxPrefixLength() pulumi.IntPtrOutput { - return o.ApplyT(func(v *NetworkAreaRegionIpv4) *int { +func (o LogmeInstanceParametersPtrOutput) FluentdTls() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) *int { if v == nil { return nil } - return v.MaxPrefixLength + return v.FluentdTls }).(pulumi.IntPtrOutput) } -// The minimal prefix length for networks in the network area. -func (o NetworkAreaRegionIpv4PtrOutput) MinPrefixLength() pulumi.IntPtrOutput { - return o.ApplyT(func(v *NetworkAreaRegionIpv4) *int { +func (o LogmeInstanceParametersPtrOutput) FluentdTlsCiphers() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) *string { if v == nil { return nil } - return v.MinPrefixLength - }).(pulumi.IntPtrOutput) + return v.FluentdTlsCiphers + }).(pulumi.StringPtrOutput) } -// List of Network ranges. -func (o NetworkAreaRegionIpv4PtrOutput) NetworkRanges() NetworkAreaRegionIpv4NetworkRangeArrayOutput { - return o.ApplyT(func(v *NetworkAreaRegionIpv4) []NetworkAreaRegionIpv4NetworkRange { +func (o LogmeInstanceParametersPtrOutput) FluentdTlsMaxVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) *string { if v == nil { return nil } - return v.NetworkRanges - }).(NetworkAreaRegionIpv4NetworkRangeArrayOutput) + return v.FluentdTlsMaxVersion + }).(pulumi.StringPtrOutput) } -// IPv4 Classless Inter-Domain Routing (CIDR). -func (o NetworkAreaRegionIpv4PtrOutput) TransferNetwork() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkAreaRegionIpv4) *string { +func (o LogmeInstanceParametersPtrOutput) FluentdTlsMinVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) *string { if v == nil { return nil } - return &v.TransferNetwork + return v.FluentdTlsMinVersion }).(pulumi.StringPtrOutput) } -type NetworkAreaRegionIpv4NetworkRange struct { - NetworkRangeId *string `pulumi:"networkRangeId"` - // Classless Inter-Domain Routing (CIDR). - Prefix string `pulumi:"prefix"` +func (o LogmeInstanceParametersPtrOutput) FluentdTlsVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) *string { + if v == nil { + return nil + } + return v.FluentdTlsVersion + }).(pulumi.StringPtrOutput) } -// NetworkAreaRegionIpv4NetworkRangeInput is an input type that accepts NetworkAreaRegionIpv4NetworkRangeArgs and NetworkAreaRegionIpv4NetworkRangeOutput values. -// You can construct a concrete instance of `NetworkAreaRegionIpv4NetworkRangeInput` via: -// -// NetworkAreaRegionIpv4NetworkRangeArgs{...} -type NetworkAreaRegionIpv4NetworkRangeInput interface { - pulumi.Input +func (o LogmeInstanceParametersPtrOutput) FluentdUdp() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) *int { + if v == nil { + return nil + } + return v.FluentdUdp + }).(pulumi.IntPtrOutput) +} - ToNetworkAreaRegionIpv4NetworkRangeOutput() NetworkAreaRegionIpv4NetworkRangeOutput - ToNetworkAreaRegionIpv4NetworkRangeOutputWithContext(context.Context) NetworkAreaRegionIpv4NetworkRangeOutput +// 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 LogmeInstanceParametersPtrOutput) Graphite() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) *string { + if v == nil { + return nil + } + return v.Graphite + }).(pulumi.StringPtrOutput) } -type NetworkAreaRegionIpv4NetworkRangeArgs struct { - NetworkRangeId pulumi.StringPtrInput `pulumi:"networkRangeId"` - // Classless Inter-Domain Routing (CIDR). - Prefix pulumi.StringInput `pulumi:"prefix"` +// 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 LogmeInstanceParametersPtrOutput) IsmDeletionAfter() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) *string { + if v == nil { + return nil + } + return v.IsmDeletionAfter + }).(pulumi.StringPtrOutput) } -func (NetworkAreaRegionIpv4NetworkRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkAreaRegionIpv4NetworkRange)(nil)).Elem() +func (o LogmeInstanceParametersPtrOutput) IsmJitter() pulumi.Float64PtrOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) *float64 { + if v == nil { + return nil + } + return v.IsmJitter + }).(pulumi.Float64PtrOutput) } -func (i NetworkAreaRegionIpv4NetworkRangeArgs) ToNetworkAreaRegionIpv4NetworkRangeOutput() NetworkAreaRegionIpv4NetworkRangeOutput { - return i.ToNetworkAreaRegionIpv4NetworkRangeOutputWithContext(context.Background()) +// Jitter of the execution time. +func (o LogmeInstanceParametersPtrOutput) IsmJobInterval() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) *int { + if v == nil { + return nil + } + return v.IsmJobInterval + }).(pulumi.IntPtrOutput) } -func (i NetworkAreaRegionIpv4NetworkRangeArgs) ToNetworkAreaRegionIpv4NetworkRangeOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4NetworkRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRegionIpv4NetworkRangeOutput) -} - -// NetworkAreaRegionIpv4NetworkRangeArrayInput is an input type that accepts NetworkAreaRegionIpv4NetworkRangeArray and NetworkAreaRegionIpv4NetworkRangeArrayOutput values. -// You can construct a concrete instance of `NetworkAreaRegionIpv4NetworkRangeArrayInput` via: -// -// NetworkAreaRegionIpv4NetworkRangeArray{ NetworkAreaRegionIpv4NetworkRangeArgs{...} } -type NetworkAreaRegionIpv4NetworkRangeArrayInput interface { - pulumi.Input - - ToNetworkAreaRegionIpv4NetworkRangeArrayOutput() NetworkAreaRegionIpv4NetworkRangeArrayOutput - ToNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(context.Context) NetworkAreaRegionIpv4NetworkRangeArrayOutput -} - -type NetworkAreaRegionIpv4NetworkRangeArray []NetworkAreaRegionIpv4NetworkRangeInput - -func (NetworkAreaRegionIpv4NetworkRangeArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkAreaRegionIpv4NetworkRange)(nil)).Elem() -} - -func (i NetworkAreaRegionIpv4NetworkRangeArray) ToNetworkAreaRegionIpv4NetworkRangeArrayOutput() NetworkAreaRegionIpv4NetworkRangeArrayOutput { - return i.ToNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(context.Background()) -} - -func (i NetworkAreaRegionIpv4NetworkRangeArray) ToNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4NetworkRangeArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRegionIpv4NetworkRangeArrayOutput) +// The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. +func (o LogmeInstanceParametersPtrOutput) JavaHeapspace() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) *int { + if v == nil { + return nil + } + return v.JavaHeapspace + }).(pulumi.IntPtrOutput) } -type NetworkAreaRegionIpv4NetworkRangeOutput struct{ *pulumi.OutputState } - -func (NetworkAreaRegionIpv4NetworkRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkAreaRegionIpv4NetworkRange)(nil)).Elem() +// The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. +func (o LogmeInstanceParametersPtrOutput) JavaMaxmetaspace() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) *int { + if v == nil { + return nil + } + return v.JavaMaxmetaspace + }).(pulumi.IntPtrOutput) } -func (o NetworkAreaRegionIpv4NetworkRangeOutput) ToNetworkAreaRegionIpv4NetworkRangeOutput() NetworkAreaRegionIpv4NetworkRangeOutput { - return o +// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. +func (o LogmeInstanceParametersPtrOutput) MaxDiskThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) *int { + if v == nil { + return nil + } + return v.MaxDiskThreshold + }).(pulumi.IntPtrOutput) } -func (o NetworkAreaRegionIpv4NetworkRangeOutput) ToNetworkAreaRegionIpv4NetworkRangeOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4NetworkRangeOutput { - return o +// The frequency in seconds at which metrics are emitted (in seconds). +func (o LogmeInstanceParametersPtrOutput) MetricsFrequency() pulumi.IntPtrOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) *int { + if v == nil { + return nil + } + return v.MetricsFrequency + }).(pulumi.IntPtrOutput) } -func (o NetworkAreaRegionIpv4NetworkRangeOutput) NetworkRangeId() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkAreaRegionIpv4NetworkRange) *string { return v.NetworkRangeId }).(pulumi.StringPtrOutput) +// 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 LogmeInstanceParametersPtrOutput) MetricsPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) *string { + if v == nil { + return nil + } + return v.MetricsPrefix + }).(pulumi.StringPtrOutput) } -// Classless Inter-Domain Routing (CIDR). -func (o NetworkAreaRegionIpv4NetworkRangeOutput) Prefix() pulumi.StringOutput { - return o.ApplyT(func(v NetworkAreaRegionIpv4NetworkRange) string { return v.Prefix }).(pulumi.StringOutput) +// The ID of the STACKIT monitoring instance. +func (o LogmeInstanceParametersPtrOutput) MonitoringInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) *string { + if v == nil { + return nil + } + return v.MonitoringInstanceId + }).(pulumi.StringPtrOutput) } -type NetworkAreaRegionIpv4NetworkRangeArrayOutput struct{ *pulumi.OutputState } - -func (NetworkAreaRegionIpv4NetworkRangeArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]NetworkAreaRegionIpv4NetworkRange)(nil)).Elem() +func (o LogmeInstanceParametersPtrOutput) OpensearchTlsCiphers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) []string { + if v == nil { + return nil + } + return v.OpensearchTlsCiphers + }).(pulumi.StringArrayOutput) } -func (o NetworkAreaRegionIpv4NetworkRangeArrayOutput) ToNetworkAreaRegionIpv4NetworkRangeArrayOutput() NetworkAreaRegionIpv4NetworkRangeArrayOutput { - return o +func (o LogmeInstanceParametersPtrOutput) OpensearchTlsProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) []string { + if v == nil { + return nil + } + return v.OpensearchTlsProtocols + }).(pulumi.StringArrayOutput) } -func (o NetworkAreaRegionIpv4NetworkRangeArrayOutput) ToNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4NetworkRangeArrayOutput { - return o +// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. +func (o LogmeInstanceParametersPtrOutput) SgwAcl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) *string { + if v == nil { + return nil + } + return v.SgwAcl + }).(pulumi.StringPtrOutput) } -func (o NetworkAreaRegionIpv4NetworkRangeArrayOutput) Index(i pulumi.IntInput) NetworkAreaRegionIpv4NetworkRangeOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkAreaRegionIpv4NetworkRange { - return vs[0].([]NetworkAreaRegionIpv4NetworkRange)[vs[1].(int)] - }).(NetworkAreaRegionIpv4NetworkRangeOutput) +// List of syslog servers to send logs to. +func (o LogmeInstanceParametersPtrOutput) Syslogs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *LogmeInstanceParameters) []string { + if v == nil { + return nil + } + return v.Syslogs + }).(pulumi.StringArrayOutput) } -type NetworkAreaRouteDestination struct { - // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported currently. - Type string `pulumi:"type"` - // An CIDR string. - Value string `pulumi:"value"` +type MariadbInstanceParameters struct { + // 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. Monitoring instances with the plan "Observability-Monitoring-Starter" are not supported. + 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"` } -// NetworkAreaRouteDestinationInput is an input type that accepts NetworkAreaRouteDestinationArgs and NetworkAreaRouteDestinationOutput values. -// You can construct a concrete instance of `NetworkAreaRouteDestinationInput` via: +// MariadbInstanceParametersInput is an input type that accepts MariadbInstanceParametersArgs and MariadbInstanceParametersOutput values. +// You can construct a concrete instance of `MariadbInstanceParametersInput` via: // -// NetworkAreaRouteDestinationArgs{...} -type NetworkAreaRouteDestinationInput interface { +// MariadbInstanceParametersArgs{...} +type MariadbInstanceParametersInput interface { pulumi.Input - ToNetworkAreaRouteDestinationOutput() NetworkAreaRouteDestinationOutput - ToNetworkAreaRouteDestinationOutputWithContext(context.Context) NetworkAreaRouteDestinationOutput + ToMariadbInstanceParametersOutput() MariadbInstanceParametersOutput + ToMariadbInstanceParametersOutputWithContext(context.Context) MariadbInstanceParametersOutput } -type NetworkAreaRouteDestinationArgs struct { - // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported currently. - Type pulumi.StringInput `pulumi:"type"` - // An CIDR string. - Value pulumi.StringInput `pulumi:"value"` +type MariadbInstanceParametersArgs struct { + // Enable monitoring. + EnableMonitoring pulumi.BoolPtrInput `pulumi:"enableMonitoring"` + // Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. + Graphite pulumi.StringPtrInput `pulumi:"graphite"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold pulumi.IntPtrInput `pulumi:"maxDiskThreshold"` + // The frequency in seconds at which metrics are emitted. + MetricsFrequency pulumi.IntPtrInput `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.StringPtrInput `pulumi:"metricsPrefix"` + // The ID of the STACKIT monitoring instance. Monitoring instances with the plan "Observability-Monitoring-Starter" are not supported. + MonitoringInstanceId pulumi.StringPtrInput `pulumi:"monitoringInstanceId"` + // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + SgwAcl pulumi.StringPtrInput `pulumi:"sgwAcl"` + // List of syslog servers to send logs to. + Syslogs pulumi.StringArrayInput `pulumi:"syslogs"` } -func (NetworkAreaRouteDestinationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkAreaRouteDestination)(nil)).Elem() +func (MariadbInstanceParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MariadbInstanceParameters)(nil)).Elem() } -func (i NetworkAreaRouteDestinationArgs) ToNetworkAreaRouteDestinationOutput() NetworkAreaRouteDestinationOutput { - return i.ToNetworkAreaRouteDestinationOutputWithContext(context.Background()) +func (i MariadbInstanceParametersArgs) ToMariadbInstanceParametersOutput() MariadbInstanceParametersOutput { + return i.ToMariadbInstanceParametersOutputWithContext(context.Background()) } -func (i NetworkAreaRouteDestinationArgs) ToNetworkAreaRouteDestinationOutputWithContext(ctx context.Context) NetworkAreaRouteDestinationOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRouteDestinationOutput) +func (i MariadbInstanceParametersArgs) ToMariadbInstanceParametersOutputWithContext(ctx context.Context) MariadbInstanceParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(MariadbInstanceParametersOutput) } -func (i NetworkAreaRouteDestinationArgs) ToNetworkAreaRouteDestinationPtrOutput() NetworkAreaRouteDestinationPtrOutput { - return i.ToNetworkAreaRouteDestinationPtrOutputWithContext(context.Background()) +func (i MariadbInstanceParametersArgs) ToMariadbInstanceParametersPtrOutput() MariadbInstanceParametersPtrOutput { + return i.ToMariadbInstanceParametersPtrOutputWithContext(context.Background()) } -func (i NetworkAreaRouteDestinationArgs) ToNetworkAreaRouteDestinationPtrOutputWithContext(ctx context.Context) NetworkAreaRouteDestinationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRouteDestinationOutput).ToNetworkAreaRouteDestinationPtrOutputWithContext(ctx) +func (i MariadbInstanceParametersArgs) ToMariadbInstanceParametersPtrOutputWithContext(ctx context.Context) MariadbInstanceParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MariadbInstanceParametersOutput).ToMariadbInstanceParametersPtrOutputWithContext(ctx) } -// NetworkAreaRouteDestinationPtrInput is an input type that accepts NetworkAreaRouteDestinationArgs, NetworkAreaRouteDestinationPtr and NetworkAreaRouteDestinationPtrOutput values. -// You can construct a concrete instance of `NetworkAreaRouteDestinationPtrInput` via: +// MariadbInstanceParametersPtrInput is an input type that accepts MariadbInstanceParametersArgs, MariadbInstanceParametersPtr and MariadbInstanceParametersPtrOutput values. +// You can construct a concrete instance of `MariadbInstanceParametersPtrInput` via: // -// NetworkAreaRouteDestinationArgs{...} +// MariadbInstanceParametersArgs{...} // // or: // // nil -type NetworkAreaRouteDestinationPtrInput interface { +type MariadbInstanceParametersPtrInput interface { pulumi.Input - ToNetworkAreaRouteDestinationPtrOutput() NetworkAreaRouteDestinationPtrOutput - ToNetworkAreaRouteDestinationPtrOutputWithContext(context.Context) NetworkAreaRouteDestinationPtrOutput + ToMariadbInstanceParametersPtrOutput() MariadbInstanceParametersPtrOutput + ToMariadbInstanceParametersPtrOutputWithContext(context.Context) MariadbInstanceParametersPtrOutput } -type networkAreaRouteDestinationPtrType NetworkAreaRouteDestinationArgs +type mariadbInstanceParametersPtrType MariadbInstanceParametersArgs -func NetworkAreaRouteDestinationPtr(v *NetworkAreaRouteDestinationArgs) NetworkAreaRouteDestinationPtrInput { - return (*networkAreaRouteDestinationPtrType)(v) +func MariadbInstanceParametersPtr(v *MariadbInstanceParametersArgs) MariadbInstanceParametersPtrInput { + return (*mariadbInstanceParametersPtrType)(v) } -func (*networkAreaRouteDestinationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkAreaRouteDestination)(nil)).Elem() +func (*mariadbInstanceParametersPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MariadbInstanceParameters)(nil)).Elem() } -func (i *networkAreaRouteDestinationPtrType) ToNetworkAreaRouteDestinationPtrOutput() NetworkAreaRouteDestinationPtrOutput { - return i.ToNetworkAreaRouteDestinationPtrOutputWithContext(context.Background()) +func (i *mariadbInstanceParametersPtrType) ToMariadbInstanceParametersPtrOutput() MariadbInstanceParametersPtrOutput { + return i.ToMariadbInstanceParametersPtrOutputWithContext(context.Background()) } -func (i *networkAreaRouteDestinationPtrType) ToNetworkAreaRouteDestinationPtrOutputWithContext(ctx context.Context) NetworkAreaRouteDestinationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRouteDestinationPtrOutput) +func (i *mariadbInstanceParametersPtrType) ToMariadbInstanceParametersPtrOutputWithContext(ctx context.Context) MariadbInstanceParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MariadbInstanceParametersPtrOutput) } -type NetworkAreaRouteDestinationOutput struct{ *pulumi.OutputState } +type MariadbInstanceParametersOutput struct{ *pulumi.OutputState } -func (NetworkAreaRouteDestinationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkAreaRouteDestination)(nil)).Elem() +func (MariadbInstanceParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MariadbInstanceParameters)(nil)).Elem() } -func (o NetworkAreaRouteDestinationOutput) ToNetworkAreaRouteDestinationOutput() NetworkAreaRouteDestinationOutput { +func (o MariadbInstanceParametersOutput) ToMariadbInstanceParametersOutput() MariadbInstanceParametersOutput { return o } -func (o NetworkAreaRouteDestinationOutput) ToNetworkAreaRouteDestinationOutputWithContext(ctx context.Context) NetworkAreaRouteDestinationOutput { +func (o MariadbInstanceParametersOutput) ToMariadbInstanceParametersOutputWithContext(ctx context.Context) MariadbInstanceParametersOutput { return o } -func (o NetworkAreaRouteDestinationOutput) ToNetworkAreaRouteDestinationPtrOutput() NetworkAreaRouteDestinationPtrOutput { - return o.ToNetworkAreaRouteDestinationPtrOutputWithContext(context.Background()) +func (o MariadbInstanceParametersOutput) ToMariadbInstanceParametersPtrOutput() MariadbInstanceParametersPtrOutput { + return o.ToMariadbInstanceParametersPtrOutputWithContext(context.Background()) } -func (o NetworkAreaRouteDestinationOutput) ToNetworkAreaRouteDestinationPtrOutputWithContext(ctx context.Context) NetworkAreaRouteDestinationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkAreaRouteDestination) *NetworkAreaRouteDestination { +func (o MariadbInstanceParametersOutput) ToMariadbInstanceParametersPtrOutputWithContext(ctx context.Context) MariadbInstanceParametersPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MariadbInstanceParameters) *MariadbInstanceParameters { return &v - }).(NetworkAreaRouteDestinationPtrOutput) + }).(MariadbInstanceParametersPtrOutput) } -// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported currently. -func (o NetworkAreaRouteDestinationOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v NetworkAreaRouteDestination) string { return v.Type }).(pulumi.StringOutput) +// Enable monitoring. +func (o MariadbInstanceParametersOutput) EnableMonitoring() pulumi.BoolPtrOutput { + return o.ApplyT(func(v MariadbInstanceParameters) *bool { return v.EnableMonitoring }).(pulumi.BoolPtrOutput) } -// An CIDR string. -func (o NetworkAreaRouteDestinationOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v NetworkAreaRouteDestination) string { return v.Value }).(pulumi.StringOutput) +// Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. +func (o MariadbInstanceParametersOutput) Graphite() pulumi.StringPtrOutput { + return o.ApplyT(func(v MariadbInstanceParameters) *string { return v.Graphite }).(pulumi.StringPtrOutput) } -type NetworkAreaRouteDestinationPtrOutput struct{ *pulumi.OutputState } +// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. +func (o MariadbInstanceParametersOutput) MaxDiskThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v MariadbInstanceParameters) *int { return v.MaxDiskThreshold }).(pulumi.IntPtrOutput) +} -func (NetworkAreaRouteDestinationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkAreaRouteDestination)(nil)).Elem() +// The frequency in seconds at which metrics are emitted. +func (o MariadbInstanceParametersOutput) MetricsFrequency() pulumi.IntPtrOutput { + return o.ApplyT(func(v MariadbInstanceParameters) *int { return v.MetricsFrequency }).(pulumi.IntPtrOutput) } -func (o NetworkAreaRouteDestinationPtrOutput) ToNetworkAreaRouteDestinationPtrOutput() NetworkAreaRouteDestinationPtrOutput { +// 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 MariadbInstanceParametersOutput) MetricsPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v MariadbInstanceParameters) *string { return v.MetricsPrefix }).(pulumi.StringPtrOutput) +} + +// The ID of the STACKIT monitoring instance. Monitoring instances with the plan "Observability-Monitoring-Starter" are not supported. +func (o MariadbInstanceParametersOutput) MonitoringInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v MariadbInstanceParameters) *string { return v.MonitoringInstanceId }).(pulumi.StringPtrOutput) +} + +// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. +func (o MariadbInstanceParametersOutput) SgwAcl() pulumi.StringPtrOutput { + return o.ApplyT(func(v MariadbInstanceParameters) *string { return v.SgwAcl }).(pulumi.StringPtrOutput) +} + +// List of syslog servers to send logs to. +func (o MariadbInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { + return o.ApplyT(func(v MariadbInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +} + +type MariadbInstanceParametersPtrOutput struct{ *pulumi.OutputState } + +func (MariadbInstanceParametersPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MariadbInstanceParameters)(nil)).Elem() +} + +func (o MariadbInstanceParametersPtrOutput) ToMariadbInstanceParametersPtrOutput() MariadbInstanceParametersPtrOutput { return o } -func (o NetworkAreaRouteDestinationPtrOutput) ToNetworkAreaRouteDestinationPtrOutputWithContext(ctx context.Context) NetworkAreaRouteDestinationPtrOutput { +func (o MariadbInstanceParametersPtrOutput) ToMariadbInstanceParametersPtrOutputWithContext(ctx context.Context) MariadbInstanceParametersPtrOutput { return o } -func (o NetworkAreaRouteDestinationPtrOutput) Elem() NetworkAreaRouteDestinationOutput { - return o.ApplyT(func(v *NetworkAreaRouteDestination) NetworkAreaRouteDestination { +func (o MariadbInstanceParametersPtrOutput) Elem() MariadbInstanceParametersOutput { + return o.ApplyT(func(v *MariadbInstanceParameters) MariadbInstanceParameters { if v != nil { return *v } - var ret NetworkAreaRouteDestination + var ret MariadbInstanceParameters return ret - }).(NetworkAreaRouteDestinationOutput) + }).(MariadbInstanceParametersOutput) } -// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported currently. -func (o NetworkAreaRouteDestinationPtrOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkAreaRouteDestination) *string { +// Enable monitoring. +func (o MariadbInstanceParametersPtrOutput) EnableMonitoring() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *MariadbInstanceParameters) *bool { if v == nil { return nil } - return &v.Type + return v.EnableMonitoring + }).(pulumi.BoolPtrOutput) +} + +// Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. +func (o MariadbInstanceParametersPtrOutput) Graphite() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MariadbInstanceParameters) *string { + if v == nil { + return nil + } + return v.Graphite }).(pulumi.StringPtrOutput) } -// An CIDR string. -func (o NetworkAreaRouteDestinationPtrOutput) Value() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkAreaRouteDestination) *string { +// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. +func (o MariadbInstanceParametersPtrOutput) MaxDiskThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MariadbInstanceParameters) *int { if v == nil { return nil } - return &v.Value + return v.MaxDiskThreshold + }).(pulumi.IntPtrOutput) +} + +// The frequency in seconds at which metrics are emitted. +func (o MariadbInstanceParametersPtrOutput) MetricsFrequency() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MariadbInstanceParameters) *int { + if v == nil { + return nil + } + return v.MetricsFrequency + }).(pulumi.IntPtrOutput) +} + +// 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 MariadbInstanceParametersPtrOutput) MetricsPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MariadbInstanceParameters) *string { + if v == nil { + return nil + } + return v.MetricsPrefix }).(pulumi.StringPtrOutput) } -type NetworkAreaRouteNextHop struct { - // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `ipv4` supported currently. - Type string `pulumi:"type"` - // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. - Value *string `pulumi:"value"` +// The ID of the STACKIT monitoring instance. Monitoring instances with the plan "Observability-Monitoring-Starter" are not supported. +func (o MariadbInstanceParametersPtrOutput) MonitoringInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MariadbInstanceParameters) *string { + if v == nil { + return nil + } + return v.MonitoringInstanceId + }).(pulumi.StringPtrOutput) } -// NetworkAreaRouteNextHopInput is an input type that accepts NetworkAreaRouteNextHopArgs and NetworkAreaRouteNextHopOutput values. -// You can construct a concrete instance of `NetworkAreaRouteNextHopInput` via: +// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. +func (o MariadbInstanceParametersPtrOutput) SgwAcl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MariadbInstanceParameters) *string { + if v == nil { + return nil + } + return v.SgwAcl + }).(pulumi.StringPtrOutput) +} + +// List of syslog servers to send logs to. +func (o MariadbInstanceParametersPtrOutput) Syslogs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *MariadbInstanceParameters) []string { + if v == nil { + return nil + } + return v.Syslogs + }).(pulumi.StringArrayOutput) +} + +type MongodbflexInstanceFlavor struct { + Cpu int `pulumi:"cpu"` + Description *string `pulumi:"description"` + Id *string `pulumi:"id"` + Ram int `pulumi:"ram"` +} + +// MongodbflexInstanceFlavorInput is an input type that accepts MongodbflexInstanceFlavorArgs and MongodbflexInstanceFlavorOutput values. +// You can construct a concrete instance of `MongodbflexInstanceFlavorInput` via: // -// NetworkAreaRouteNextHopArgs{...} -type NetworkAreaRouteNextHopInput interface { +// MongodbflexInstanceFlavorArgs{...} +type MongodbflexInstanceFlavorInput interface { pulumi.Input - ToNetworkAreaRouteNextHopOutput() NetworkAreaRouteNextHopOutput - ToNetworkAreaRouteNextHopOutputWithContext(context.Context) NetworkAreaRouteNextHopOutput + ToMongodbflexInstanceFlavorOutput() MongodbflexInstanceFlavorOutput + ToMongodbflexInstanceFlavorOutputWithContext(context.Context) MongodbflexInstanceFlavorOutput } -type NetworkAreaRouteNextHopArgs struct { - // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `ipv4` supported currently. - Type pulumi.StringInput `pulumi:"type"` - // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. - Value pulumi.StringPtrInput `pulumi:"value"` +type MongodbflexInstanceFlavorArgs struct { + Cpu pulumi.IntInput `pulumi:"cpu"` + Description pulumi.StringPtrInput `pulumi:"description"` + Id pulumi.StringPtrInput `pulumi:"id"` + Ram pulumi.IntInput `pulumi:"ram"` } -func (NetworkAreaRouteNextHopArgs) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkAreaRouteNextHop)(nil)).Elem() +func (MongodbflexInstanceFlavorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MongodbflexInstanceFlavor)(nil)).Elem() } -func (i NetworkAreaRouteNextHopArgs) ToNetworkAreaRouteNextHopOutput() NetworkAreaRouteNextHopOutput { - return i.ToNetworkAreaRouteNextHopOutputWithContext(context.Background()) +func (i MongodbflexInstanceFlavorArgs) ToMongodbflexInstanceFlavorOutput() MongodbflexInstanceFlavorOutput { + return i.ToMongodbflexInstanceFlavorOutputWithContext(context.Background()) } -func (i NetworkAreaRouteNextHopArgs) ToNetworkAreaRouteNextHopOutputWithContext(ctx context.Context) NetworkAreaRouteNextHopOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRouteNextHopOutput) +func (i MongodbflexInstanceFlavorArgs) ToMongodbflexInstanceFlavorOutputWithContext(ctx context.Context) MongodbflexInstanceFlavorOutput { + return pulumi.ToOutputWithContext(ctx, i).(MongodbflexInstanceFlavorOutput) } -func (i NetworkAreaRouteNextHopArgs) ToNetworkAreaRouteNextHopPtrOutput() NetworkAreaRouteNextHopPtrOutput { - return i.ToNetworkAreaRouteNextHopPtrOutputWithContext(context.Background()) +func (i MongodbflexInstanceFlavorArgs) ToMongodbflexInstanceFlavorPtrOutput() MongodbflexInstanceFlavorPtrOutput { + return i.ToMongodbflexInstanceFlavorPtrOutputWithContext(context.Background()) } -func (i NetworkAreaRouteNextHopArgs) ToNetworkAreaRouteNextHopPtrOutputWithContext(ctx context.Context) NetworkAreaRouteNextHopPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRouteNextHopOutput).ToNetworkAreaRouteNextHopPtrOutputWithContext(ctx) +func (i MongodbflexInstanceFlavorArgs) ToMongodbflexInstanceFlavorPtrOutputWithContext(ctx context.Context) MongodbflexInstanceFlavorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MongodbflexInstanceFlavorOutput).ToMongodbflexInstanceFlavorPtrOutputWithContext(ctx) } -// NetworkAreaRouteNextHopPtrInput is an input type that accepts NetworkAreaRouteNextHopArgs, NetworkAreaRouteNextHopPtr and NetworkAreaRouteNextHopPtrOutput values. -// You can construct a concrete instance of `NetworkAreaRouteNextHopPtrInput` via: +// MongodbflexInstanceFlavorPtrInput is an input type that accepts MongodbflexInstanceFlavorArgs, MongodbflexInstanceFlavorPtr and MongodbflexInstanceFlavorPtrOutput values. +// You can construct a concrete instance of `MongodbflexInstanceFlavorPtrInput` via: // -// NetworkAreaRouteNextHopArgs{...} +// MongodbflexInstanceFlavorArgs{...} // // or: // // nil -type NetworkAreaRouteNextHopPtrInput interface { +type MongodbflexInstanceFlavorPtrInput interface { pulumi.Input - ToNetworkAreaRouteNextHopPtrOutput() NetworkAreaRouteNextHopPtrOutput - ToNetworkAreaRouteNextHopPtrOutputWithContext(context.Context) NetworkAreaRouteNextHopPtrOutput + ToMongodbflexInstanceFlavorPtrOutput() MongodbflexInstanceFlavorPtrOutput + ToMongodbflexInstanceFlavorPtrOutputWithContext(context.Context) MongodbflexInstanceFlavorPtrOutput } -type networkAreaRouteNextHopPtrType NetworkAreaRouteNextHopArgs +type mongodbflexInstanceFlavorPtrType MongodbflexInstanceFlavorArgs -func NetworkAreaRouteNextHopPtr(v *NetworkAreaRouteNextHopArgs) NetworkAreaRouteNextHopPtrInput { - return (*networkAreaRouteNextHopPtrType)(v) +func MongodbflexInstanceFlavorPtr(v *MongodbflexInstanceFlavorArgs) MongodbflexInstanceFlavorPtrInput { + return (*mongodbflexInstanceFlavorPtrType)(v) } -func (*networkAreaRouteNextHopPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkAreaRouteNextHop)(nil)).Elem() +func (*mongodbflexInstanceFlavorPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MongodbflexInstanceFlavor)(nil)).Elem() } -func (i *networkAreaRouteNextHopPtrType) ToNetworkAreaRouteNextHopPtrOutput() NetworkAreaRouteNextHopPtrOutput { - return i.ToNetworkAreaRouteNextHopPtrOutputWithContext(context.Background()) +func (i *mongodbflexInstanceFlavorPtrType) ToMongodbflexInstanceFlavorPtrOutput() MongodbflexInstanceFlavorPtrOutput { + return i.ToMongodbflexInstanceFlavorPtrOutputWithContext(context.Background()) } -func (i *networkAreaRouteNextHopPtrType) ToNetworkAreaRouteNextHopPtrOutputWithContext(ctx context.Context) NetworkAreaRouteNextHopPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRouteNextHopPtrOutput) +func (i *mongodbflexInstanceFlavorPtrType) ToMongodbflexInstanceFlavorPtrOutputWithContext(ctx context.Context) MongodbflexInstanceFlavorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MongodbflexInstanceFlavorPtrOutput) } -type NetworkAreaRouteNextHopOutput struct{ *pulumi.OutputState } +type MongodbflexInstanceFlavorOutput struct{ *pulumi.OutputState } -func (NetworkAreaRouteNextHopOutput) ElementType() reflect.Type { - return reflect.TypeOf((*NetworkAreaRouteNextHop)(nil)).Elem() +func (MongodbflexInstanceFlavorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MongodbflexInstanceFlavor)(nil)).Elem() } -func (o NetworkAreaRouteNextHopOutput) ToNetworkAreaRouteNextHopOutput() NetworkAreaRouteNextHopOutput { +func (o MongodbflexInstanceFlavorOutput) ToMongodbflexInstanceFlavorOutput() MongodbflexInstanceFlavorOutput { return o } -func (o NetworkAreaRouteNextHopOutput) ToNetworkAreaRouteNextHopOutputWithContext(ctx context.Context) NetworkAreaRouteNextHopOutput { +func (o MongodbflexInstanceFlavorOutput) ToMongodbflexInstanceFlavorOutputWithContext(ctx context.Context) MongodbflexInstanceFlavorOutput { return o } -func (o NetworkAreaRouteNextHopOutput) ToNetworkAreaRouteNextHopPtrOutput() NetworkAreaRouteNextHopPtrOutput { - return o.ToNetworkAreaRouteNextHopPtrOutputWithContext(context.Background()) +func (o MongodbflexInstanceFlavorOutput) ToMongodbflexInstanceFlavorPtrOutput() MongodbflexInstanceFlavorPtrOutput { + return o.ToMongodbflexInstanceFlavorPtrOutputWithContext(context.Background()) } -func (o NetworkAreaRouteNextHopOutput) ToNetworkAreaRouteNextHopPtrOutputWithContext(ctx context.Context) NetworkAreaRouteNextHopPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkAreaRouteNextHop) *NetworkAreaRouteNextHop { +func (o MongodbflexInstanceFlavorOutput) ToMongodbflexInstanceFlavorPtrOutputWithContext(ctx context.Context) MongodbflexInstanceFlavorPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MongodbflexInstanceFlavor) *MongodbflexInstanceFlavor { return &v - }).(NetworkAreaRouteNextHopPtrOutput) + }).(MongodbflexInstanceFlavorPtrOutput) } -// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `ipv4` supported currently. -func (o NetworkAreaRouteNextHopOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v NetworkAreaRouteNextHop) string { return v.Type }).(pulumi.StringOutput) +func (o MongodbflexInstanceFlavorOutput) Cpu() pulumi.IntOutput { + return o.ApplyT(func(v MongodbflexInstanceFlavor) int { return v.Cpu }).(pulumi.IntOutput) } -// Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. -func (o NetworkAreaRouteNextHopOutput) Value() pulumi.StringPtrOutput { - return o.ApplyT(func(v NetworkAreaRouteNextHop) *string { return v.Value }).(pulumi.StringPtrOutput) +func (o MongodbflexInstanceFlavorOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v MongodbflexInstanceFlavor) *string { return v.Description }).(pulumi.StringPtrOutput) } -type NetworkAreaRouteNextHopPtrOutput struct{ *pulumi.OutputState } +func (o MongodbflexInstanceFlavorOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v MongodbflexInstanceFlavor) *string { return v.Id }).(pulumi.StringPtrOutput) +} -func (NetworkAreaRouteNextHopPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**NetworkAreaRouteNextHop)(nil)).Elem() +func (o MongodbflexInstanceFlavorOutput) Ram() pulumi.IntOutput { + return o.ApplyT(func(v MongodbflexInstanceFlavor) int { return v.Ram }).(pulumi.IntOutput) } -func (o NetworkAreaRouteNextHopPtrOutput) ToNetworkAreaRouteNextHopPtrOutput() NetworkAreaRouteNextHopPtrOutput { +type MongodbflexInstanceFlavorPtrOutput struct{ *pulumi.OutputState } + +func (MongodbflexInstanceFlavorPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MongodbflexInstanceFlavor)(nil)).Elem() +} + +func (o MongodbflexInstanceFlavorPtrOutput) ToMongodbflexInstanceFlavorPtrOutput() MongodbflexInstanceFlavorPtrOutput { return o } -func (o NetworkAreaRouteNextHopPtrOutput) ToNetworkAreaRouteNextHopPtrOutputWithContext(ctx context.Context) NetworkAreaRouteNextHopPtrOutput { +func (o MongodbflexInstanceFlavorPtrOutput) ToMongodbflexInstanceFlavorPtrOutputWithContext(ctx context.Context) MongodbflexInstanceFlavorPtrOutput { return o } -func (o NetworkAreaRouteNextHopPtrOutput) Elem() NetworkAreaRouteNextHopOutput { - return o.ApplyT(func(v *NetworkAreaRouteNextHop) NetworkAreaRouteNextHop { +func (o MongodbflexInstanceFlavorPtrOutput) Elem() MongodbflexInstanceFlavorOutput { + return o.ApplyT(func(v *MongodbflexInstanceFlavor) MongodbflexInstanceFlavor { if v != nil { return *v } - var ret NetworkAreaRouteNextHop + var ret MongodbflexInstanceFlavor return ret - }).(NetworkAreaRouteNextHopOutput) + }).(MongodbflexInstanceFlavorOutput) } -// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `ipv4` supported currently. -func (o NetworkAreaRouteNextHopPtrOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkAreaRouteNextHop) *string { +func (o MongodbflexInstanceFlavorPtrOutput) Cpu() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MongodbflexInstanceFlavor) *int { if v == nil { return nil } - return &v.Type + return &v.Cpu + }).(pulumi.IntPtrOutput) +} + +func (o MongodbflexInstanceFlavorPtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MongodbflexInstanceFlavor) *string { + if v == nil { + return nil + } + return v.Description }).(pulumi.StringPtrOutput) } -// Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. -func (o NetworkAreaRouteNextHopPtrOutput) Value() pulumi.StringPtrOutput { - return o.ApplyT(func(v *NetworkAreaRouteNextHop) *string { +func (o MongodbflexInstanceFlavorPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MongodbflexInstanceFlavor) *string { if v == nil { return nil } - return v.Value + return v.Id }).(pulumi.StringPtrOutput) } -type ObservabilityAlertgroupRule struct { - // The name of the alert rule. Is the identifier and must be unique in the group. - Alert *string `pulumi:"alert"` - // 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"` +func (o MongodbflexInstanceFlavorPtrOutput) Ram() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MongodbflexInstanceFlavor) *int { + if v == nil { + return nil + } + return &v.Ram + }).(pulumi.IntPtrOutput) } -// ObservabilityAlertgroupRuleInput is an input type that accepts ObservabilityAlertgroupRuleArgs and ObservabilityAlertgroupRuleOutput values. -// You can construct a concrete instance of `ObservabilityAlertgroupRuleInput` via: +type MongodbflexInstanceOptions 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. Possible values are: `Replica`, `Sharded`, `Single`. + Type string `pulumi:"type"` + // The number of weeks that weekly backups will be retained. + WeeklySnapshotRetentionWeeks *int `pulumi:"weeklySnapshotRetentionWeeks"` +} + +// MongodbflexInstanceOptionsInput is an input type that accepts MongodbflexInstanceOptionsArgs and MongodbflexInstanceOptionsOutput values. +// You can construct a concrete instance of `MongodbflexInstanceOptionsInput` via: // -// ObservabilityAlertgroupRuleArgs{...} -type ObservabilityAlertgroupRuleInput interface { +// MongodbflexInstanceOptionsArgs{...} +type MongodbflexInstanceOptionsInput interface { pulumi.Input - ToObservabilityAlertgroupRuleOutput() ObservabilityAlertgroupRuleOutput - ToObservabilityAlertgroupRuleOutputWithContext(context.Context) ObservabilityAlertgroupRuleOutput + ToMongodbflexInstanceOptionsOutput() MongodbflexInstanceOptionsOutput + ToMongodbflexInstanceOptionsOutputWithContext(context.Context) MongodbflexInstanceOptionsOutput } -type ObservabilityAlertgroupRuleArgs struct { - // The name of the alert rule. Is the identifier and must be unique in the group. - Alert pulumi.StringPtrInput `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.StringPtrInput `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.StringPtrInput `pulumi:"record"` +type MongodbflexInstanceOptionsArgs struct { + // The number of days that daily backups will be retained. + DailySnapshotRetentionDays pulumi.IntPtrInput `pulumi:"dailySnapshotRetentionDays"` + // The number of months that monthly backups will be retained. + MonthlySnapshotRetentionMonths pulumi.IntPtrInput `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.IntPtrInput `pulumi:"snapshotRetentionDays"` + // Type of the MongoDB Flex instance. Possible values are: `Replica`, `Sharded`, `Single`. + Type pulumi.StringInput `pulumi:"type"` + // The number of weeks that weekly backups will be retained. + WeeklySnapshotRetentionWeeks pulumi.IntPtrInput `pulumi:"weeklySnapshotRetentionWeeks"` } -func (ObservabilityAlertgroupRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityAlertgroupRule)(nil)).Elem() +func (MongodbflexInstanceOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MongodbflexInstanceOptions)(nil)).Elem() } -func (i ObservabilityAlertgroupRuleArgs) ToObservabilityAlertgroupRuleOutput() ObservabilityAlertgroupRuleOutput { - return i.ToObservabilityAlertgroupRuleOutputWithContext(context.Background()) +func (i MongodbflexInstanceOptionsArgs) ToMongodbflexInstanceOptionsOutput() MongodbflexInstanceOptionsOutput { + return i.ToMongodbflexInstanceOptionsOutputWithContext(context.Background()) } -func (i ObservabilityAlertgroupRuleArgs) ToObservabilityAlertgroupRuleOutputWithContext(ctx context.Context) ObservabilityAlertgroupRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityAlertgroupRuleOutput) +func (i MongodbflexInstanceOptionsArgs) ToMongodbflexInstanceOptionsOutputWithContext(ctx context.Context) MongodbflexInstanceOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(MongodbflexInstanceOptionsOutput) } -// ObservabilityAlertgroupRuleArrayInput is an input type that accepts ObservabilityAlertgroupRuleArray and ObservabilityAlertgroupRuleArrayOutput values. -// You can construct a concrete instance of `ObservabilityAlertgroupRuleArrayInput` via: +func (i MongodbflexInstanceOptionsArgs) ToMongodbflexInstanceOptionsPtrOutput() MongodbflexInstanceOptionsPtrOutput { + return i.ToMongodbflexInstanceOptionsPtrOutputWithContext(context.Background()) +} + +func (i MongodbflexInstanceOptionsArgs) ToMongodbflexInstanceOptionsPtrOutputWithContext(ctx context.Context) MongodbflexInstanceOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MongodbflexInstanceOptionsOutput).ToMongodbflexInstanceOptionsPtrOutputWithContext(ctx) +} + +// MongodbflexInstanceOptionsPtrInput is an input type that accepts MongodbflexInstanceOptionsArgs, MongodbflexInstanceOptionsPtr and MongodbflexInstanceOptionsPtrOutput values. +// You can construct a concrete instance of `MongodbflexInstanceOptionsPtrInput` via: // -// ObservabilityAlertgroupRuleArray{ ObservabilityAlertgroupRuleArgs{...} } -type ObservabilityAlertgroupRuleArrayInput interface { +// MongodbflexInstanceOptionsArgs{...} +// +// or: +// +// nil +type MongodbflexInstanceOptionsPtrInput interface { pulumi.Input - ToObservabilityAlertgroupRuleArrayOutput() ObservabilityAlertgroupRuleArrayOutput - ToObservabilityAlertgroupRuleArrayOutputWithContext(context.Context) ObservabilityAlertgroupRuleArrayOutput + ToMongodbflexInstanceOptionsPtrOutput() MongodbflexInstanceOptionsPtrOutput + ToMongodbflexInstanceOptionsPtrOutputWithContext(context.Context) MongodbflexInstanceOptionsPtrOutput } -type ObservabilityAlertgroupRuleArray []ObservabilityAlertgroupRuleInput +type mongodbflexInstanceOptionsPtrType MongodbflexInstanceOptionsArgs -func (ObservabilityAlertgroupRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ObservabilityAlertgroupRule)(nil)).Elem() +func MongodbflexInstanceOptionsPtr(v *MongodbflexInstanceOptionsArgs) MongodbflexInstanceOptionsPtrInput { + return (*mongodbflexInstanceOptionsPtrType)(v) } -func (i ObservabilityAlertgroupRuleArray) ToObservabilityAlertgroupRuleArrayOutput() ObservabilityAlertgroupRuleArrayOutput { - return i.ToObservabilityAlertgroupRuleArrayOutputWithContext(context.Background()) +func (*mongodbflexInstanceOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MongodbflexInstanceOptions)(nil)).Elem() } -func (i ObservabilityAlertgroupRuleArray) ToObservabilityAlertgroupRuleArrayOutputWithContext(ctx context.Context) ObservabilityAlertgroupRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityAlertgroupRuleArrayOutput) +func (i *mongodbflexInstanceOptionsPtrType) ToMongodbflexInstanceOptionsPtrOutput() MongodbflexInstanceOptionsPtrOutput { + return i.ToMongodbflexInstanceOptionsPtrOutputWithContext(context.Background()) } -type ObservabilityAlertgroupRuleOutput struct{ *pulumi.OutputState } +func (i *mongodbflexInstanceOptionsPtrType) ToMongodbflexInstanceOptionsPtrOutputWithContext(ctx context.Context) MongodbflexInstanceOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MongodbflexInstanceOptionsPtrOutput) +} -func (ObservabilityAlertgroupRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityAlertgroupRule)(nil)).Elem() +type MongodbflexInstanceOptionsOutput struct{ *pulumi.OutputState } + +func (MongodbflexInstanceOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MongodbflexInstanceOptions)(nil)).Elem() } -func (o ObservabilityAlertgroupRuleOutput) ToObservabilityAlertgroupRuleOutput() ObservabilityAlertgroupRuleOutput { +func (o MongodbflexInstanceOptionsOutput) ToMongodbflexInstanceOptionsOutput() MongodbflexInstanceOptionsOutput { return o } -func (o ObservabilityAlertgroupRuleOutput) ToObservabilityAlertgroupRuleOutputWithContext(ctx context.Context) ObservabilityAlertgroupRuleOutput { +func (o MongodbflexInstanceOptionsOutput) ToMongodbflexInstanceOptionsOutputWithContext(ctx context.Context) MongodbflexInstanceOptionsOutput { return o } -// The name of the alert rule. Is the identifier and must be unique in the group. -func (o ObservabilityAlertgroupRuleOutput) Alert() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityAlertgroupRule) *string { return v.Alert }).(pulumi.StringPtrOutput) +func (o MongodbflexInstanceOptionsOutput) ToMongodbflexInstanceOptionsPtrOutput() MongodbflexInstanceOptionsPtrOutput { + return o.ToMongodbflexInstanceOptionsPtrOutputWithContext(context.Background()) } -// A map of key:value. Annotations to add or overwrite for each alert -func (o ObservabilityAlertgroupRuleOutput) Annotations() pulumi.StringMapOutput { - return o.ApplyT(func(v ObservabilityAlertgroupRule) map[string]string { return v.Annotations }).(pulumi.StringMapOutput) +func (o MongodbflexInstanceOptionsOutput) ToMongodbflexInstanceOptionsPtrOutputWithContext(ctx context.Context) MongodbflexInstanceOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MongodbflexInstanceOptions) *MongodbflexInstanceOptions { + return &v + }).(MongodbflexInstanceOptionsPtrOutput) } -// 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 ObservabilityAlertgroupRuleOutput) Expression() pulumi.StringOutput { - return o.ApplyT(func(v ObservabilityAlertgroupRule) string { return v.Expression }).(pulumi.StringOutput) +// The number of days that daily backups will be retained. +func (o MongodbflexInstanceOptionsOutput) DailySnapshotRetentionDays() pulumi.IntPtrOutput { + return o.ApplyT(func(v MongodbflexInstanceOptions) *int { return v.DailySnapshotRetentionDays }).(pulumi.IntPtrOutput) } -// 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 ObservabilityAlertgroupRuleOutput) For() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityAlertgroupRule) *string { return v.For }).(pulumi.StringPtrOutput) +// The number of months that monthly backups will be retained. +func (o MongodbflexInstanceOptionsOutput) MonthlySnapshotRetentionMonths() pulumi.IntPtrOutput { + return o.ApplyT(func(v MongodbflexInstanceOptions) *int { return v.MonthlySnapshotRetentionMonths }).(pulumi.IntPtrOutput) } -// A map of key:value. Labels to add or overwrite for each alert -func (o ObservabilityAlertgroupRuleOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v ObservabilityAlertgroupRule) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +// The number of hours back in time the point-in-time recovery feature will be able to recover. +func (o MongodbflexInstanceOptionsOutput) PointInTimeWindowHours() pulumi.IntOutput { + return o.ApplyT(func(v MongodbflexInstanceOptions) int { return v.PointInTimeWindowHours }).(pulumi.IntOutput) } -// The name of the metric. It's the identifier and must be unique in the group. -func (o ObservabilityAlertgroupRuleOutput) Record() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityAlertgroupRule) *string { return v.Record }).(pulumi.StringPtrOutput) +// The number of days that continuous backups (controlled via the `backupSchedule`) will be retained. +func (o MongodbflexInstanceOptionsOutput) SnapshotRetentionDays() pulumi.IntPtrOutput { + return o.ApplyT(func(v MongodbflexInstanceOptions) *int { return v.SnapshotRetentionDays }).(pulumi.IntPtrOutput) } -type ObservabilityAlertgroupRuleArrayOutput struct{ *pulumi.OutputState } +// Type of the MongoDB Flex instance. Possible values are: `Replica`, `Sharded`, `Single`. +func (o MongodbflexInstanceOptionsOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v MongodbflexInstanceOptions) string { return v.Type }).(pulumi.StringOutput) +} -func (ObservabilityAlertgroupRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ObservabilityAlertgroupRule)(nil)).Elem() +// The number of weeks that weekly backups will be retained. +func (o MongodbflexInstanceOptionsOutput) WeeklySnapshotRetentionWeeks() pulumi.IntPtrOutput { + return o.ApplyT(func(v MongodbflexInstanceOptions) *int { return v.WeeklySnapshotRetentionWeeks }).(pulumi.IntPtrOutput) } -func (o ObservabilityAlertgroupRuleArrayOutput) ToObservabilityAlertgroupRuleArrayOutput() ObservabilityAlertgroupRuleArrayOutput { - return o +type MongodbflexInstanceOptionsPtrOutput struct{ *pulumi.OutputState } + +func (MongodbflexInstanceOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MongodbflexInstanceOptions)(nil)).Elem() } -func (o ObservabilityAlertgroupRuleArrayOutput) ToObservabilityAlertgroupRuleArrayOutputWithContext(ctx context.Context) ObservabilityAlertgroupRuleArrayOutput { +func (o MongodbflexInstanceOptionsPtrOutput) ToMongodbflexInstanceOptionsPtrOutput() MongodbflexInstanceOptionsPtrOutput { return o } -func (o ObservabilityAlertgroupRuleArrayOutput) Index(i pulumi.IntInput) ObservabilityAlertgroupRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ObservabilityAlertgroupRule { - return vs[0].([]ObservabilityAlertgroupRule)[vs[1].(int)] - }).(ObservabilityAlertgroupRuleOutput) +func (o MongodbflexInstanceOptionsPtrOutput) ToMongodbflexInstanceOptionsPtrOutputWithContext(ctx context.Context) MongodbflexInstanceOptionsPtrOutput { + return o } -type ObservabilityInstanceAlertConfig struct { - // Global configuration for the alerts. If nothing passed the default argus config will be used. It is only possible to update the entire global part, not individual attributes. - Global *ObservabilityInstanceAlertConfigGlobal `pulumi:"global"` - // List of alert receivers. - Receivers []ObservabilityInstanceAlertConfigReceiver `pulumi:"receivers"` - // Route configuration for the alerts. - Route ObservabilityInstanceAlertConfigRoute `pulumi:"route"` +func (o MongodbflexInstanceOptionsPtrOutput) Elem() MongodbflexInstanceOptionsOutput { + return o.ApplyT(func(v *MongodbflexInstanceOptions) MongodbflexInstanceOptions { + if v != nil { + return *v + } + var ret MongodbflexInstanceOptions + return ret + }).(MongodbflexInstanceOptionsOutput) } -// ObservabilityInstanceAlertConfigInput is an input type that accepts ObservabilityInstanceAlertConfigArgs and ObservabilityInstanceAlertConfigOutput values. -// You can construct a concrete instance of `ObservabilityInstanceAlertConfigInput` via: -// -// ObservabilityInstanceAlertConfigArgs{...} -type ObservabilityInstanceAlertConfigInput interface { +// The number of days that daily backups will be retained. +func (o MongodbflexInstanceOptionsPtrOutput) DailySnapshotRetentionDays() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MongodbflexInstanceOptions) *int { + if v == nil { + return nil + } + return v.DailySnapshotRetentionDays + }).(pulumi.IntPtrOutput) +} + +// The number of months that monthly backups will be retained. +func (o MongodbflexInstanceOptionsPtrOutput) MonthlySnapshotRetentionMonths() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MongodbflexInstanceOptions) *int { + if v == nil { + return nil + } + return v.MonthlySnapshotRetentionMonths + }).(pulumi.IntPtrOutput) +} + +// The number of hours back in time the point-in-time recovery feature will be able to recover. +func (o MongodbflexInstanceOptionsPtrOutput) PointInTimeWindowHours() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MongodbflexInstanceOptions) *int { + if v == nil { + return nil + } + return &v.PointInTimeWindowHours + }).(pulumi.IntPtrOutput) +} + +// The number of days that continuous backups (controlled via the `backupSchedule`) will be retained. +func (o MongodbflexInstanceOptionsPtrOutput) SnapshotRetentionDays() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MongodbflexInstanceOptions) *int { + if v == nil { + return nil + } + return v.SnapshotRetentionDays + }).(pulumi.IntPtrOutput) +} + +// Type of the MongoDB Flex instance. Possible values are: `Replica`, `Sharded`, `Single`. +func (o MongodbflexInstanceOptionsPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MongodbflexInstanceOptions) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +// The number of weeks that weekly backups will be retained. +func (o MongodbflexInstanceOptionsPtrOutput) WeeklySnapshotRetentionWeeks() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MongodbflexInstanceOptions) *int { + if v == nil { + return nil + } + return v.WeeklySnapshotRetentionWeeks + }).(pulumi.IntPtrOutput) +} + +type MongodbflexInstanceStorage struct { + // The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + // `bash + // stackit mongodbflex options --storages --flavor-id FLAVOR_ID + // ` + // - `size` (Number) + Class string `pulumi:"class"` + Size int `pulumi:"size"` +} + +// MongodbflexInstanceStorageInput is an input type that accepts MongodbflexInstanceStorageArgs and MongodbflexInstanceStorageOutput values. +// You can construct a concrete instance of `MongodbflexInstanceStorageInput` via: +// +// MongodbflexInstanceStorageArgs{...} +type MongodbflexInstanceStorageInput interface { pulumi.Input - ToObservabilityInstanceAlertConfigOutput() ObservabilityInstanceAlertConfigOutput - ToObservabilityInstanceAlertConfigOutputWithContext(context.Context) ObservabilityInstanceAlertConfigOutput + ToMongodbflexInstanceStorageOutput() MongodbflexInstanceStorageOutput + ToMongodbflexInstanceStorageOutputWithContext(context.Context) MongodbflexInstanceStorageOutput } -type ObservabilityInstanceAlertConfigArgs struct { - // Global configuration for the alerts. If nothing passed the default argus config will be used. It is only possible to update the entire global part, not individual attributes. - Global ObservabilityInstanceAlertConfigGlobalPtrInput `pulumi:"global"` - // List of alert receivers. - Receivers ObservabilityInstanceAlertConfigReceiverArrayInput `pulumi:"receivers"` - // Route configuration for the alerts. - Route ObservabilityInstanceAlertConfigRouteInput `pulumi:"route"` +type MongodbflexInstanceStorageArgs struct { + // The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + // `bash + // stackit mongodbflex options --storages --flavor-id FLAVOR_ID + // ` + // - `size` (Number) + Class pulumi.StringInput `pulumi:"class"` + Size pulumi.IntInput `pulumi:"size"` } -func (ObservabilityInstanceAlertConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityInstanceAlertConfig)(nil)).Elem() +func (MongodbflexInstanceStorageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*MongodbflexInstanceStorage)(nil)).Elem() } -func (i ObservabilityInstanceAlertConfigArgs) ToObservabilityInstanceAlertConfigOutput() ObservabilityInstanceAlertConfigOutput { - return i.ToObservabilityInstanceAlertConfigOutputWithContext(context.Background()) +func (i MongodbflexInstanceStorageArgs) ToMongodbflexInstanceStorageOutput() MongodbflexInstanceStorageOutput { + return i.ToMongodbflexInstanceStorageOutputWithContext(context.Background()) } -func (i ObservabilityInstanceAlertConfigArgs) ToObservabilityInstanceAlertConfigOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigOutput) +func (i MongodbflexInstanceStorageArgs) ToMongodbflexInstanceStorageOutputWithContext(ctx context.Context) MongodbflexInstanceStorageOutput { + return pulumi.ToOutputWithContext(ctx, i).(MongodbflexInstanceStorageOutput) } -func (i ObservabilityInstanceAlertConfigArgs) ToObservabilityInstanceAlertConfigPtrOutput() ObservabilityInstanceAlertConfigPtrOutput { - return i.ToObservabilityInstanceAlertConfigPtrOutputWithContext(context.Background()) +func (i MongodbflexInstanceStorageArgs) ToMongodbflexInstanceStoragePtrOutput() MongodbflexInstanceStoragePtrOutput { + return i.ToMongodbflexInstanceStoragePtrOutputWithContext(context.Background()) } -func (i ObservabilityInstanceAlertConfigArgs) ToObservabilityInstanceAlertConfigPtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigOutput).ToObservabilityInstanceAlertConfigPtrOutputWithContext(ctx) +func (i MongodbflexInstanceStorageArgs) ToMongodbflexInstanceStoragePtrOutputWithContext(ctx context.Context) MongodbflexInstanceStoragePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MongodbflexInstanceStorageOutput).ToMongodbflexInstanceStoragePtrOutputWithContext(ctx) } -// ObservabilityInstanceAlertConfigPtrInput is an input type that accepts ObservabilityInstanceAlertConfigArgs, ObservabilityInstanceAlertConfigPtr and ObservabilityInstanceAlertConfigPtrOutput values. -// You can construct a concrete instance of `ObservabilityInstanceAlertConfigPtrInput` via: +// MongodbflexInstanceStoragePtrInput is an input type that accepts MongodbflexInstanceStorageArgs, MongodbflexInstanceStoragePtr and MongodbflexInstanceStoragePtrOutput values. +// You can construct a concrete instance of `MongodbflexInstanceStoragePtrInput` via: // -// ObservabilityInstanceAlertConfigArgs{...} +// MongodbflexInstanceStorageArgs{...} // // or: // // nil -type ObservabilityInstanceAlertConfigPtrInput interface { +type MongodbflexInstanceStoragePtrInput interface { pulumi.Input - ToObservabilityInstanceAlertConfigPtrOutput() ObservabilityInstanceAlertConfigPtrOutput - ToObservabilityInstanceAlertConfigPtrOutputWithContext(context.Context) ObservabilityInstanceAlertConfigPtrOutput + ToMongodbflexInstanceStoragePtrOutput() MongodbflexInstanceStoragePtrOutput + ToMongodbflexInstanceStoragePtrOutputWithContext(context.Context) MongodbflexInstanceStoragePtrOutput } -type observabilityInstanceAlertConfigPtrType ObservabilityInstanceAlertConfigArgs +type mongodbflexInstanceStoragePtrType MongodbflexInstanceStorageArgs -func ObservabilityInstanceAlertConfigPtr(v *ObservabilityInstanceAlertConfigArgs) ObservabilityInstanceAlertConfigPtrInput { - return (*observabilityInstanceAlertConfigPtrType)(v) +func MongodbflexInstanceStoragePtr(v *MongodbflexInstanceStorageArgs) MongodbflexInstanceStoragePtrInput { + return (*mongodbflexInstanceStoragePtrType)(v) } -func (*observabilityInstanceAlertConfigPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ObservabilityInstanceAlertConfig)(nil)).Elem() +func (*mongodbflexInstanceStoragePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**MongodbflexInstanceStorage)(nil)).Elem() } -func (i *observabilityInstanceAlertConfigPtrType) ToObservabilityInstanceAlertConfigPtrOutput() ObservabilityInstanceAlertConfigPtrOutput { - return i.ToObservabilityInstanceAlertConfigPtrOutputWithContext(context.Background()) +func (i *mongodbflexInstanceStoragePtrType) ToMongodbflexInstanceStoragePtrOutput() MongodbflexInstanceStoragePtrOutput { + return i.ToMongodbflexInstanceStoragePtrOutputWithContext(context.Background()) } -func (i *observabilityInstanceAlertConfigPtrType) ToObservabilityInstanceAlertConfigPtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigPtrOutput) +func (i *mongodbflexInstanceStoragePtrType) ToMongodbflexInstanceStoragePtrOutputWithContext(ctx context.Context) MongodbflexInstanceStoragePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(MongodbflexInstanceStoragePtrOutput) } -type ObservabilityInstanceAlertConfigOutput struct{ *pulumi.OutputState } +type MongodbflexInstanceStorageOutput struct{ *pulumi.OutputState } -func (ObservabilityInstanceAlertConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityInstanceAlertConfig)(nil)).Elem() +func (MongodbflexInstanceStorageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*MongodbflexInstanceStorage)(nil)).Elem() } -func (o ObservabilityInstanceAlertConfigOutput) ToObservabilityInstanceAlertConfigOutput() ObservabilityInstanceAlertConfigOutput { +func (o MongodbflexInstanceStorageOutput) ToMongodbflexInstanceStorageOutput() MongodbflexInstanceStorageOutput { return o } -func (o ObservabilityInstanceAlertConfigOutput) ToObservabilityInstanceAlertConfigOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigOutput { +func (o MongodbflexInstanceStorageOutput) ToMongodbflexInstanceStorageOutputWithContext(ctx context.Context) MongodbflexInstanceStorageOutput { return o } -func (o ObservabilityInstanceAlertConfigOutput) ToObservabilityInstanceAlertConfigPtrOutput() ObservabilityInstanceAlertConfigPtrOutput { - return o.ToObservabilityInstanceAlertConfigPtrOutputWithContext(context.Background()) +func (o MongodbflexInstanceStorageOutput) ToMongodbflexInstanceStoragePtrOutput() MongodbflexInstanceStoragePtrOutput { + return o.ToMongodbflexInstanceStoragePtrOutputWithContext(context.Background()) } -func (o ObservabilityInstanceAlertConfigOutput) ToObservabilityInstanceAlertConfigPtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ObservabilityInstanceAlertConfig) *ObservabilityInstanceAlertConfig { +func (o MongodbflexInstanceStorageOutput) ToMongodbflexInstanceStoragePtrOutputWithContext(ctx context.Context) MongodbflexInstanceStoragePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v MongodbflexInstanceStorage) *MongodbflexInstanceStorage { return &v - }).(ObservabilityInstanceAlertConfigPtrOutput) -} - -// Global configuration for the alerts. If nothing passed the default argus config will be used. It is only possible to update the entire global part, not individual attributes. -func (o ObservabilityInstanceAlertConfigOutput) Global() ObservabilityInstanceAlertConfigGlobalPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfig) *ObservabilityInstanceAlertConfigGlobal { return v.Global }).(ObservabilityInstanceAlertConfigGlobalPtrOutput) + }).(MongodbflexInstanceStoragePtrOutput) } -// List of alert receivers. -func (o ObservabilityInstanceAlertConfigOutput) Receivers() ObservabilityInstanceAlertConfigReceiverArrayOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfig) []ObservabilityInstanceAlertConfigReceiver { - return v.Receivers - }).(ObservabilityInstanceAlertConfigReceiverArrayOutput) +// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): +// `bash +// stackit mongodbflex options --storages --flavor-id FLAVOR_ID +// ` +// - `size` (Number) +func (o MongodbflexInstanceStorageOutput) Class() pulumi.StringOutput { + return o.ApplyT(func(v MongodbflexInstanceStorage) string { return v.Class }).(pulumi.StringOutput) } -// Route configuration for the alerts. -func (o ObservabilityInstanceAlertConfigOutput) Route() ObservabilityInstanceAlertConfigRouteOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfig) ObservabilityInstanceAlertConfigRoute { return v.Route }).(ObservabilityInstanceAlertConfigRouteOutput) +func (o MongodbflexInstanceStorageOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v MongodbflexInstanceStorage) int { return v.Size }).(pulumi.IntOutput) } -type ObservabilityInstanceAlertConfigPtrOutput struct{ *pulumi.OutputState } +type MongodbflexInstanceStoragePtrOutput struct{ *pulumi.OutputState } -func (ObservabilityInstanceAlertConfigPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ObservabilityInstanceAlertConfig)(nil)).Elem() +func (MongodbflexInstanceStoragePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**MongodbflexInstanceStorage)(nil)).Elem() } -func (o ObservabilityInstanceAlertConfigPtrOutput) ToObservabilityInstanceAlertConfigPtrOutput() ObservabilityInstanceAlertConfigPtrOutput { +func (o MongodbflexInstanceStoragePtrOutput) ToMongodbflexInstanceStoragePtrOutput() MongodbflexInstanceStoragePtrOutput { return o } -func (o ObservabilityInstanceAlertConfigPtrOutput) ToObservabilityInstanceAlertConfigPtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigPtrOutput { +func (o MongodbflexInstanceStoragePtrOutput) ToMongodbflexInstanceStoragePtrOutputWithContext(ctx context.Context) MongodbflexInstanceStoragePtrOutput { return o } -func (o ObservabilityInstanceAlertConfigPtrOutput) Elem() ObservabilityInstanceAlertConfigOutput { - return o.ApplyT(func(v *ObservabilityInstanceAlertConfig) ObservabilityInstanceAlertConfig { +func (o MongodbflexInstanceStoragePtrOutput) Elem() MongodbflexInstanceStorageOutput { + return o.ApplyT(func(v *MongodbflexInstanceStorage) MongodbflexInstanceStorage { if v != nil { return *v } - var ret ObservabilityInstanceAlertConfig + var ret MongodbflexInstanceStorage return ret - }).(ObservabilityInstanceAlertConfigOutput) -} - -// Global configuration for the alerts. If nothing passed the default argus config will be used. It is only possible to update the entire global part, not individual attributes. -func (o ObservabilityInstanceAlertConfigPtrOutput) Global() ObservabilityInstanceAlertConfigGlobalPtrOutput { - return o.ApplyT(func(v *ObservabilityInstanceAlertConfig) *ObservabilityInstanceAlertConfigGlobal { - if v == nil { - return nil - } - return v.Global - }).(ObservabilityInstanceAlertConfigGlobalPtrOutput) + }).(MongodbflexInstanceStorageOutput) } -// List of alert receivers. -func (o ObservabilityInstanceAlertConfigPtrOutput) Receivers() ObservabilityInstanceAlertConfigReceiverArrayOutput { - return o.ApplyT(func(v *ObservabilityInstanceAlertConfig) []ObservabilityInstanceAlertConfigReceiver { +// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): +// `bash +// stackit mongodbflex options --storages --flavor-id FLAVOR_ID +// ` +// - `size` (Number) +func (o MongodbflexInstanceStoragePtrOutput) Class() pulumi.StringPtrOutput { + return o.ApplyT(func(v *MongodbflexInstanceStorage) *string { if v == nil { return nil } - return v.Receivers - }).(ObservabilityInstanceAlertConfigReceiverArrayOutput) + return &v.Class + }).(pulumi.StringPtrOutput) } -// Route configuration for the alerts. -func (o ObservabilityInstanceAlertConfigPtrOutput) Route() ObservabilityInstanceAlertConfigRoutePtrOutput { - return o.ApplyT(func(v *ObservabilityInstanceAlertConfig) *ObservabilityInstanceAlertConfigRoute { +func (o MongodbflexInstanceStoragePtrOutput) Size() pulumi.IntPtrOutput { + return o.ApplyT(func(v *MongodbflexInstanceStorage) *int { if v == nil { return nil } - return &v.Route - }).(ObservabilityInstanceAlertConfigRoutePtrOutput) + return &v.Size + }).(pulumi.IntPtrOutput) } -type ObservabilityInstanceAlertConfigGlobal 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 in format `host:port` (eg. `smtp.example.com:587`). Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). - SmtpSmartHost *string `pulumi:"smtpSmartHost"` +type NetworkAreaNetworkRange struct { + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. + NetworkRangeId *string `pulumi:"networkRangeId"` + // Classless Inter-Domain Routing (CIDR). + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. + Prefix string `pulumi:"prefix"` } -// ObservabilityInstanceAlertConfigGlobalInput is an input type that accepts ObservabilityInstanceAlertConfigGlobalArgs and ObservabilityInstanceAlertConfigGlobalOutput values. -// You can construct a concrete instance of `ObservabilityInstanceAlertConfigGlobalInput` via: +// NetworkAreaNetworkRangeInput is an input type that accepts NetworkAreaNetworkRangeArgs and NetworkAreaNetworkRangeOutput values. +// You can construct a concrete instance of `NetworkAreaNetworkRangeInput` via: // -// ObservabilityInstanceAlertConfigGlobalArgs{...} -type ObservabilityInstanceAlertConfigGlobalInput interface { +// NetworkAreaNetworkRangeArgs{...} +type NetworkAreaNetworkRangeInput interface { pulumi.Input - ToObservabilityInstanceAlertConfigGlobalOutput() ObservabilityInstanceAlertConfigGlobalOutput - ToObservabilityInstanceAlertConfigGlobalOutputWithContext(context.Context) ObservabilityInstanceAlertConfigGlobalOutput + ToNetworkAreaNetworkRangeOutput() NetworkAreaNetworkRangeOutput + ToNetworkAreaNetworkRangeOutputWithContext(context.Context) NetworkAreaNetworkRangeOutput } -type ObservabilityInstanceAlertConfigGlobalArgs struct { - // The API key for OpsGenie. - OpsgenieApiKey pulumi.StringPtrInput `pulumi:"opsgenieApiKey"` - // The host to send OpsGenie API requests to. Must be a valid URL - OpsgenieApiUrl pulumi.StringPtrInput `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.StringPtrInput `pulumi:"resolveTimeout"` - // SMTP authentication information. Must be a valid email address - SmtpAuthIdentity pulumi.StringPtrInput `pulumi:"smtpAuthIdentity"` - // SMTP Auth using LOGIN and PLAIN. - SmtpAuthPassword pulumi.StringPtrInput `pulumi:"smtpAuthPassword"` - // SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. - SmtpAuthUsername pulumi.StringPtrInput `pulumi:"smtpAuthUsername"` - // The default SMTP From header field. Must be a valid email address - SmtpFrom pulumi.StringPtrInput `pulumi:"smtpFrom"` - // The default SMTP smarthost used for sending emails, including port number in format `host:port` (eg. `smtp.example.com:587`). Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). - SmtpSmartHost pulumi.StringPtrInput `pulumi:"smtpSmartHost"` +type NetworkAreaNetworkRangeArgs struct { + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. + NetworkRangeId pulumi.StringPtrInput `pulumi:"networkRangeId"` + // Classless Inter-Domain Routing (CIDR). + // + // Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. + Prefix pulumi.StringInput `pulumi:"prefix"` } -func (ObservabilityInstanceAlertConfigGlobalArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityInstanceAlertConfigGlobal)(nil)).Elem() +func (NetworkAreaNetworkRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAreaNetworkRange)(nil)).Elem() } -func (i ObservabilityInstanceAlertConfigGlobalArgs) ToObservabilityInstanceAlertConfigGlobalOutput() ObservabilityInstanceAlertConfigGlobalOutput { - return i.ToObservabilityInstanceAlertConfigGlobalOutputWithContext(context.Background()) +func (i NetworkAreaNetworkRangeArgs) ToNetworkAreaNetworkRangeOutput() NetworkAreaNetworkRangeOutput { + return i.ToNetworkAreaNetworkRangeOutputWithContext(context.Background()) } -func (i ObservabilityInstanceAlertConfigGlobalArgs) ToObservabilityInstanceAlertConfigGlobalOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigGlobalOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigGlobalOutput) +func (i NetworkAreaNetworkRangeArgs) ToNetworkAreaNetworkRangeOutputWithContext(ctx context.Context) NetworkAreaNetworkRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaNetworkRangeOutput) } -func (i ObservabilityInstanceAlertConfigGlobalArgs) ToObservabilityInstanceAlertConfigGlobalPtrOutput() ObservabilityInstanceAlertConfigGlobalPtrOutput { - return i.ToObservabilityInstanceAlertConfigGlobalPtrOutputWithContext(context.Background()) +// NetworkAreaNetworkRangeArrayInput is an input type that accepts NetworkAreaNetworkRangeArray and NetworkAreaNetworkRangeArrayOutput values. +// You can construct a concrete instance of `NetworkAreaNetworkRangeArrayInput` via: +// +// NetworkAreaNetworkRangeArray{ NetworkAreaNetworkRangeArgs{...} } +type NetworkAreaNetworkRangeArrayInput interface { + pulumi.Input + + ToNetworkAreaNetworkRangeArrayOutput() NetworkAreaNetworkRangeArrayOutput + ToNetworkAreaNetworkRangeArrayOutputWithContext(context.Context) NetworkAreaNetworkRangeArrayOutput } -func (i ObservabilityInstanceAlertConfigGlobalArgs) ToObservabilityInstanceAlertConfigGlobalPtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigGlobalPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigGlobalOutput).ToObservabilityInstanceAlertConfigGlobalPtrOutputWithContext(ctx) +type NetworkAreaNetworkRangeArray []NetworkAreaNetworkRangeInput + +func (NetworkAreaNetworkRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkAreaNetworkRange)(nil)).Elem() } -// ObservabilityInstanceAlertConfigGlobalPtrInput is an input type that accepts ObservabilityInstanceAlertConfigGlobalArgs, ObservabilityInstanceAlertConfigGlobalPtr and ObservabilityInstanceAlertConfigGlobalPtrOutput values. -// You can construct a concrete instance of `ObservabilityInstanceAlertConfigGlobalPtrInput` via: -// -// ObservabilityInstanceAlertConfigGlobalArgs{...} -// -// or: -// -// nil -type ObservabilityInstanceAlertConfigGlobalPtrInput interface { - pulumi.Input +func (i NetworkAreaNetworkRangeArray) ToNetworkAreaNetworkRangeArrayOutput() NetworkAreaNetworkRangeArrayOutput { + return i.ToNetworkAreaNetworkRangeArrayOutputWithContext(context.Background()) +} - ToObservabilityInstanceAlertConfigGlobalPtrOutput() ObservabilityInstanceAlertConfigGlobalPtrOutput - ToObservabilityInstanceAlertConfigGlobalPtrOutputWithContext(context.Context) ObservabilityInstanceAlertConfigGlobalPtrOutput +func (i NetworkAreaNetworkRangeArray) ToNetworkAreaNetworkRangeArrayOutputWithContext(ctx context.Context) NetworkAreaNetworkRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaNetworkRangeArrayOutput) } -type observabilityInstanceAlertConfigGlobalPtrType ObservabilityInstanceAlertConfigGlobalArgs +type NetworkAreaNetworkRangeOutput struct{ *pulumi.OutputState } -func ObservabilityInstanceAlertConfigGlobalPtr(v *ObservabilityInstanceAlertConfigGlobalArgs) ObservabilityInstanceAlertConfigGlobalPtrInput { - return (*observabilityInstanceAlertConfigGlobalPtrType)(v) +func (NetworkAreaNetworkRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAreaNetworkRange)(nil)).Elem() } -func (*observabilityInstanceAlertConfigGlobalPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ObservabilityInstanceAlertConfigGlobal)(nil)).Elem() +func (o NetworkAreaNetworkRangeOutput) ToNetworkAreaNetworkRangeOutput() NetworkAreaNetworkRangeOutput { + return o } -func (i *observabilityInstanceAlertConfigGlobalPtrType) ToObservabilityInstanceAlertConfigGlobalPtrOutput() ObservabilityInstanceAlertConfigGlobalPtrOutput { - return i.ToObservabilityInstanceAlertConfigGlobalPtrOutputWithContext(context.Background()) +func (o NetworkAreaNetworkRangeOutput) ToNetworkAreaNetworkRangeOutputWithContext(ctx context.Context) NetworkAreaNetworkRangeOutput { + return o } -func (i *observabilityInstanceAlertConfigGlobalPtrType) ToObservabilityInstanceAlertConfigGlobalPtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigGlobalPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigGlobalPtrOutput) +// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. +func (o NetworkAreaNetworkRangeOutput) NetworkRangeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkAreaNetworkRange) *string { return v.NetworkRangeId }).(pulumi.StringPtrOutput) } -type ObservabilityInstanceAlertConfigGlobalOutput struct{ *pulumi.OutputState } +// Classless Inter-Domain Routing (CIDR). +// +// Deprecated: Deprecated because of the IaaS API v1 -> v2 migration. Will be removed in May 2026. Use the new `NetworkAreaRegion` resource instead. +func (o NetworkAreaNetworkRangeOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v NetworkAreaNetworkRange) string { return v.Prefix }).(pulumi.StringOutput) +} -func (ObservabilityInstanceAlertConfigGlobalOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityInstanceAlertConfigGlobal)(nil)).Elem() +type NetworkAreaNetworkRangeArrayOutput struct{ *pulumi.OutputState } + +func (NetworkAreaNetworkRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkAreaNetworkRange)(nil)).Elem() } -func (o ObservabilityInstanceAlertConfigGlobalOutput) ToObservabilityInstanceAlertConfigGlobalOutput() ObservabilityInstanceAlertConfigGlobalOutput { +func (o NetworkAreaNetworkRangeArrayOutput) ToNetworkAreaNetworkRangeArrayOutput() NetworkAreaNetworkRangeArrayOutput { return o } -func (o ObservabilityInstanceAlertConfigGlobalOutput) ToObservabilityInstanceAlertConfigGlobalOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigGlobalOutput { +func (o NetworkAreaNetworkRangeArrayOutput) ToNetworkAreaNetworkRangeArrayOutputWithContext(ctx context.Context) NetworkAreaNetworkRangeArrayOutput { return o } -func (o ObservabilityInstanceAlertConfigGlobalOutput) ToObservabilityInstanceAlertConfigGlobalPtrOutput() ObservabilityInstanceAlertConfigGlobalPtrOutput { - return o.ToObservabilityInstanceAlertConfigGlobalPtrOutputWithContext(context.Background()) +func (o NetworkAreaNetworkRangeArrayOutput) Index(i pulumi.IntInput) NetworkAreaNetworkRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkAreaNetworkRange { + return vs[0].([]NetworkAreaNetworkRange)[vs[1].(int)] + }).(NetworkAreaNetworkRangeOutput) } -func (o ObservabilityInstanceAlertConfigGlobalOutput) ToObservabilityInstanceAlertConfigGlobalPtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigGlobalPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ObservabilityInstanceAlertConfigGlobal) *ObservabilityInstanceAlertConfigGlobal { - return &v - }).(ObservabilityInstanceAlertConfigGlobalPtrOutput) +type NetworkAreaRegionIpv4 struct { + // List of DNS Servers/Nameservers. + DefaultNameservers []string `pulumi:"defaultNameservers"` + // The default prefix length for networks in the network area. + DefaultPrefixLength *int `pulumi:"defaultPrefixLength"` + // The maximal prefix length for networks in the network area. + MaxPrefixLength *int `pulumi:"maxPrefixLength"` + // The minimal prefix length for networks in the network area. + MinPrefixLength *int `pulumi:"minPrefixLength"` + // List of Network ranges. + NetworkRanges []NetworkAreaRegionIpv4NetworkRange `pulumi:"networkRanges"` + // IPv4 Classless Inter-Domain Routing (CIDR). + TransferNetwork string `pulumi:"transferNetwork"` } -// The API key for OpsGenie. -func (o ObservabilityInstanceAlertConfigGlobalOutput) OpsgenieApiKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigGlobal) *string { return v.OpsgenieApiKey }).(pulumi.StringPtrOutput) +// NetworkAreaRegionIpv4Input is an input type that accepts NetworkAreaRegionIpv4Args and NetworkAreaRegionIpv4Output values. +// You can construct a concrete instance of `NetworkAreaRegionIpv4Input` via: +// +// NetworkAreaRegionIpv4Args{...} +type NetworkAreaRegionIpv4Input interface { + pulumi.Input + + ToNetworkAreaRegionIpv4Output() NetworkAreaRegionIpv4Output + ToNetworkAreaRegionIpv4OutputWithContext(context.Context) NetworkAreaRegionIpv4Output } -// The host to send OpsGenie API requests to. Must be a valid URL -func (o ObservabilityInstanceAlertConfigGlobalOutput) OpsgenieApiUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigGlobal) *string { return v.OpsgenieApiUrl }).(pulumi.StringPtrOutput) +type NetworkAreaRegionIpv4Args struct { + // List of DNS Servers/Nameservers. + DefaultNameservers pulumi.StringArrayInput `pulumi:"defaultNameservers"` + // The default prefix length for networks in the network area. + DefaultPrefixLength pulumi.IntPtrInput `pulumi:"defaultPrefixLength"` + // The maximal prefix length for networks in the network area. + MaxPrefixLength pulumi.IntPtrInput `pulumi:"maxPrefixLength"` + // The minimal prefix length for networks in the network area. + MinPrefixLength pulumi.IntPtrInput `pulumi:"minPrefixLength"` + // List of Network ranges. + NetworkRanges NetworkAreaRegionIpv4NetworkRangeArrayInput `pulumi:"networkRanges"` + // IPv4 Classless Inter-Domain Routing (CIDR). + TransferNetwork pulumi.StringInput `pulumi:"transferNetwork"` } -// 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 ObservabilityInstanceAlertConfigGlobalOutput) ResolveTimeout() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigGlobal) *string { return v.ResolveTimeout }).(pulumi.StringPtrOutput) +func (NetworkAreaRegionIpv4Args) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAreaRegionIpv4)(nil)).Elem() } -// SMTP authentication information. Must be a valid email address -func (o ObservabilityInstanceAlertConfigGlobalOutput) SmtpAuthIdentity() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigGlobal) *string { return v.SmtpAuthIdentity }).(pulumi.StringPtrOutput) +func (i NetworkAreaRegionIpv4Args) ToNetworkAreaRegionIpv4Output() NetworkAreaRegionIpv4Output { + return i.ToNetworkAreaRegionIpv4OutputWithContext(context.Background()) } -// SMTP Auth using LOGIN and PLAIN. -func (o ObservabilityInstanceAlertConfigGlobalOutput) SmtpAuthPassword() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigGlobal) *string { return v.SmtpAuthPassword }).(pulumi.StringPtrOutput) +func (i NetworkAreaRegionIpv4Args) ToNetworkAreaRegionIpv4OutputWithContext(ctx context.Context) NetworkAreaRegionIpv4Output { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRegionIpv4Output) } -// SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. -func (o ObservabilityInstanceAlertConfigGlobalOutput) SmtpAuthUsername() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigGlobal) *string { return v.SmtpAuthUsername }).(pulumi.StringPtrOutput) +func (i NetworkAreaRegionIpv4Args) ToNetworkAreaRegionIpv4PtrOutput() NetworkAreaRegionIpv4PtrOutput { + return i.ToNetworkAreaRegionIpv4PtrOutputWithContext(context.Background()) } -// The default SMTP From header field. Must be a valid email address -func (o ObservabilityInstanceAlertConfigGlobalOutput) SmtpFrom() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigGlobal) *string { return v.SmtpFrom }).(pulumi.StringPtrOutput) +func (i NetworkAreaRegionIpv4Args) ToNetworkAreaRegionIpv4PtrOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRegionIpv4Output).ToNetworkAreaRegionIpv4PtrOutputWithContext(ctx) } -// The default SMTP smarthost used for sending emails, including port number in format `host:port` (eg. `smtp.example.com:587`). Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). -func (o ObservabilityInstanceAlertConfigGlobalOutput) SmtpSmartHost() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigGlobal) *string { return v.SmtpSmartHost }).(pulumi.StringPtrOutput) +// NetworkAreaRegionIpv4PtrInput is an input type that accepts NetworkAreaRegionIpv4Args, NetworkAreaRegionIpv4Ptr and NetworkAreaRegionIpv4PtrOutput values. +// You can construct a concrete instance of `NetworkAreaRegionIpv4PtrInput` via: +// +// NetworkAreaRegionIpv4Args{...} +// +// or: +// +// nil +type NetworkAreaRegionIpv4PtrInput interface { + pulumi.Input + + ToNetworkAreaRegionIpv4PtrOutput() NetworkAreaRegionIpv4PtrOutput + ToNetworkAreaRegionIpv4PtrOutputWithContext(context.Context) NetworkAreaRegionIpv4PtrOutput } -type ObservabilityInstanceAlertConfigGlobalPtrOutput struct{ *pulumi.OutputState } +type networkAreaRegionIpv4PtrType NetworkAreaRegionIpv4Args -func (ObservabilityInstanceAlertConfigGlobalPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ObservabilityInstanceAlertConfigGlobal)(nil)).Elem() +func NetworkAreaRegionIpv4Ptr(v *NetworkAreaRegionIpv4Args) NetworkAreaRegionIpv4PtrInput { + return (*networkAreaRegionIpv4PtrType)(v) } -func (o ObservabilityInstanceAlertConfigGlobalPtrOutput) ToObservabilityInstanceAlertConfigGlobalPtrOutput() ObservabilityInstanceAlertConfigGlobalPtrOutput { - return o +func (*networkAreaRegionIpv4PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkAreaRegionIpv4)(nil)).Elem() } -func (o ObservabilityInstanceAlertConfigGlobalPtrOutput) ToObservabilityInstanceAlertConfigGlobalPtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigGlobalPtrOutput { - return o +func (i *networkAreaRegionIpv4PtrType) ToNetworkAreaRegionIpv4PtrOutput() NetworkAreaRegionIpv4PtrOutput { + return i.ToNetworkAreaRegionIpv4PtrOutputWithContext(context.Background()) } -func (o ObservabilityInstanceAlertConfigGlobalPtrOutput) Elem() ObservabilityInstanceAlertConfigGlobalOutput { - return o.ApplyT(func(v *ObservabilityInstanceAlertConfigGlobal) ObservabilityInstanceAlertConfigGlobal { - if v != nil { - return *v - } - var ret ObservabilityInstanceAlertConfigGlobal - return ret - }).(ObservabilityInstanceAlertConfigGlobalOutput) +func (i *networkAreaRegionIpv4PtrType) ToNetworkAreaRegionIpv4PtrOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRegionIpv4PtrOutput) } -// The API key for OpsGenie. -func (o ObservabilityInstanceAlertConfigGlobalPtrOutput) OpsgenieApiKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ObservabilityInstanceAlertConfigGlobal) *string { - if v == nil { - return nil - } - return v.OpsgenieApiKey - }).(pulumi.StringPtrOutput) +type NetworkAreaRegionIpv4Output struct{ *pulumi.OutputState } + +func (NetworkAreaRegionIpv4Output) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAreaRegionIpv4)(nil)).Elem() } -// The host to send OpsGenie API requests to. Must be a valid URL -func (o ObservabilityInstanceAlertConfigGlobalPtrOutput) OpsgenieApiUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ObservabilityInstanceAlertConfigGlobal) *string { - if v == nil { - return nil - } - return v.OpsgenieApiUrl - }).(pulumi.StringPtrOutput) +func (o NetworkAreaRegionIpv4Output) ToNetworkAreaRegionIpv4Output() NetworkAreaRegionIpv4Output { + return o } -// 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 ObservabilityInstanceAlertConfigGlobalPtrOutput) ResolveTimeout() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ObservabilityInstanceAlertConfigGlobal) *string { - if v == nil { - return nil - } - return v.ResolveTimeout - }).(pulumi.StringPtrOutput) +func (o NetworkAreaRegionIpv4Output) ToNetworkAreaRegionIpv4OutputWithContext(ctx context.Context) NetworkAreaRegionIpv4Output { + return o } -// SMTP authentication information. Must be a valid email address -func (o ObservabilityInstanceAlertConfigGlobalPtrOutput) SmtpAuthIdentity() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ObservabilityInstanceAlertConfigGlobal) *string { - if v == nil { +func (o NetworkAreaRegionIpv4Output) ToNetworkAreaRegionIpv4PtrOutput() NetworkAreaRegionIpv4PtrOutput { + return o.ToNetworkAreaRegionIpv4PtrOutputWithContext(context.Background()) +} + +func (o NetworkAreaRegionIpv4Output) ToNetworkAreaRegionIpv4PtrOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkAreaRegionIpv4) *NetworkAreaRegionIpv4 { + return &v + }).(NetworkAreaRegionIpv4PtrOutput) +} + +// List of DNS Servers/Nameservers. +func (o NetworkAreaRegionIpv4Output) DefaultNameservers() pulumi.StringArrayOutput { + return o.ApplyT(func(v NetworkAreaRegionIpv4) []string { return v.DefaultNameservers }).(pulumi.StringArrayOutput) +} + +// The default prefix length for networks in the network area. +func (o NetworkAreaRegionIpv4Output) DefaultPrefixLength() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkAreaRegionIpv4) *int { return v.DefaultPrefixLength }).(pulumi.IntPtrOutput) +} + +// The maximal prefix length for networks in the network area. +func (o NetworkAreaRegionIpv4Output) MaxPrefixLength() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkAreaRegionIpv4) *int { return v.MaxPrefixLength }).(pulumi.IntPtrOutput) +} + +// The minimal prefix length for networks in the network area. +func (o NetworkAreaRegionIpv4Output) MinPrefixLength() pulumi.IntPtrOutput { + return o.ApplyT(func(v NetworkAreaRegionIpv4) *int { return v.MinPrefixLength }).(pulumi.IntPtrOutput) +} + +// List of Network ranges. +func (o NetworkAreaRegionIpv4Output) NetworkRanges() NetworkAreaRegionIpv4NetworkRangeArrayOutput { + return o.ApplyT(func(v NetworkAreaRegionIpv4) []NetworkAreaRegionIpv4NetworkRange { return v.NetworkRanges }).(NetworkAreaRegionIpv4NetworkRangeArrayOutput) +} + +// IPv4 Classless Inter-Domain Routing (CIDR). +func (o NetworkAreaRegionIpv4Output) TransferNetwork() pulumi.StringOutput { + return o.ApplyT(func(v NetworkAreaRegionIpv4) string { return v.TransferNetwork }).(pulumi.StringOutput) +} + +type NetworkAreaRegionIpv4PtrOutput struct{ *pulumi.OutputState } + +func (NetworkAreaRegionIpv4PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkAreaRegionIpv4)(nil)).Elem() +} + +func (o NetworkAreaRegionIpv4PtrOutput) ToNetworkAreaRegionIpv4PtrOutput() NetworkAreaRegionIpv4PtrOutput { + return o +} + +func (o NetworkAreaRegionIpv4PtrOutput) ToNetworkAreaRegionIpv4PtrOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4PtrOutput { + return o +} + +func (o NetworkAreaRegionIpv4PtrOutput) Elem() NetworkAreaRegionIpv4Output { + return o.ApplyT(func(v *NetworkAreaRegionIpv4) NetworkAreaRegionIpv4 { + if v != nil { + return *v + } + var ret NetworkAreaRegionIpv4 + return ret + }).(NetworkAreaRegionIpv4Output) +} + +// List of DNS Servers/Nameservers. +func (o NetworkAreaRegionIpv4PtrOutput) DefaultNameservers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *NetworkAreaRegionIpv4) []string { + if v == nil { return nil } - return v.SmtpAuthIdentity - }).(pulumi.StringPtrOutput) + return v.DefaultNameservers + }).(pulumi.StringArrayOutput) } -// SMTP Auth using LOGIN and PLAIN. -func (o ObservabilityInstanceAlertConfigGlobalPtrOutput) SmtpAuthPassword() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ObservabilityInstanceAlertConfigGlobal) *string { +// The default prefix length for networks in the network area. +func (o NetworkAreaRegionIpv4PtrOutput) DefaultPrefixLength() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NetworkAreaRegionIpv4) *int { if v == nil { return nil } - return v.SmtpAuthPassword - }).(pulumi.StringPtrOutput) + return v.DefaultPrefixLength + }).(pulumi.IntPtrOutput) } -// SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. -func (o ObservabilityInstanceAlertConfigGlobalPtrOutput) SmtpAuthUsername() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ObservabilityInstanceAlertConfigGlobal) *string { +// The maximal prefix length for networks in the network area. +func (o NetworkAreaRegionIpv4PtrOutput) MaxPrefixLength() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NetworkAreaRegionIpv4) *int { if v == nil { return nil } - return v.SmtpAuthUsername - }).(pulumi.StringPtrOutput) + return v.MaxPrefixLength + }).(pulumi.IntPtrOutput) } -// The default SMTP From header field. Must be a valid email address -func (o ObservabilityInstanceAlertConfigGlobalPtrOutput) SmtpFrom() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ObservabilityInstanceAlertConfigGlobal) *string { +// The minimal prefix length for networks in the network area. +func (o NetworkAreaRegionIpv4PtrOutput) MinPrefixLength() pulumi.IntPtrOutput { + return o.ApplyT(func(v *NetworkAreaRegionIpv4) *int { if v == nil { return nil } - return v.SmtpFrom - }).(pulumi.StringPtrOutput) + return v.MinPrefixLength + }).(pulumi.IntPtrOutput) } -// The default SMTP smarthost used for sending emails, including port number in format `host:port` (eg. `smtp.example.com:587`). Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). -func (o ObservabilityInstanceAlertConfigGlobalPtrOutput) SmtpSmartHost() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ObservabilityInstanceAlertConfigGlobal) *string { +// List of Network ranges. +func (o NetworkAreaRegionIpv4PtrOutput) NetworkRanges() NetworkAreaRegionIpv4NetworkRangeArrayOutput { + return o.ApplyT(func(v *NetworkAreaRegionIpv4) []NetworkAreaRegionIpv4NetworkRange { if v == nil { return nil } - return v.SmtpSmartHost + return v.NetworkRanges + }).(NetworkAreaRegionIpv4NetworkRangeArrayOutput) +} + +// IPv4 Classless Inter-Domain Routing (CIDR). +func (o NetworkAreaRegionIpv4PtrOutput) TransferNetwork() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkAreaRegionIpv4) *string { + if v == nil { + return nil + } + return &v.TransferNetwork }).(pulumi.StringPtrOutput) } -type ObservabilityInstanceAlertConfigReceiver struct { - // List of email configurations. - EmailConfigs []ObservabilityInstanceAlertConfigReceiverEmailConfig `pulumi:"emailConfigs"` - // Name of the receiver. - Name string `pulumi:"name"` - // List of OpsGenie configurations. - OpsgenieConfigs []ObservabilityInstanceAlertConfigReceiverOpsgenieConfig `pulumi:"opsgenieConfigs"` - // List of Webhooks configurations. - WebhooksConfigs []ObservabilityInstanceAlertConfigReceiverWebhooksConfig `pulumi:"webhooksConfigs"` +type NetworkAreaRegionIpv4NetworkRange struct { + NetworkRangeId *string `pulumi:"networkRangeId"` + // Classless Inter-Domain Routing (CIDR). + Prefix string `pulumi:"prefix"` } -// ObservabilityInstanceAlertConfigReceiverInput is an input type that accepts ObservabilityInstanceAlertConfigReceiverArgs and ObservabilityInstanceAlertConfigReceiverOutput values. -// You can construct a concrete instance of `ObservabilityInstanceAlertConfigReceiverInput` via: +// NetworkAreaRegionIpv4NetworkRangeInput is an input type that accepts NetworkAreaRegionIpv4NetworkRangeArgs and NetworkAreaRegionIpv4NetworkRangeOutput values. +// You can construct a concrete instance of `NetworkAreaRegionIpv4NetworkRangeInput` via: // -// ObservabilityInstanceAlertConfigReceiverArgs{...} -type ObservabilityInstanceAlertConfigReceiverInput interface { +// NetworkAreaRegionIpv4NetworkRangeArgs{...} +type NetworkAreaRegionIpv4NetworkRangeInput interface { pulumi.Input - ToObservabilityInstanceAlertConfigReceiverOutput() ObservabilityInstanceAlertConfigReceiverOutput - ToObservabilityInstanceAlertConfigReceiverOutputWithContext(context.Context) ObservabilityInstanceAlertConfigReceiverOutput + ToNetworkAreaRegionIpv4NetworkRangeOutput() NetworkAreaRegionIpv4NetworkRangeOutput + ToNetworkAreaRegionIpv4NetworkRangeOutputWithContext(context.Context) NetworkAreaRegionIpv4NetworkRangeOutput } -type ObservabilityInstanceAlertConfigReceiverArgs struct { - // List of email configurations. - EmailConfigs ObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput `pulumi:"emailConfigs"` - // Name of the receiver. - Name pulumi.StringInput `pulumi:"name"` - // List of OpsGenie configurations. - OpsgenieConfigs ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput `pulumi:"opsgenieConfigs"` - // List of Webhooks configurations. - WebhooksConfigs ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput `pulumi:"webhooksConfigs"` +type NetworkAreaRegionIpv4NetworkRangeArgs struct { + NetworkRangeId pulumi.StringPtrInput `pulumi:"networkRangeId"` + // Classless Inter-Domain Routing (CIDR). + Prefix pulumi.StringInput `pulumi:"prefix"` } -func (ObservabilityInstanceAlertConfigReceiverArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityInstanceAlertConfigReceiver)(nil)).Elem() +func (NetworkAreaRegionIpv4NetworkRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAreaRegionIpv4NetworkRange)(nil)).Elem() } -func (i ObservabilityInstanceAlertConfigReceiverArgs) ToObservabilityInstanceAlertConfigReceiverOutput() ObservabilityInstanceAlertConfigReceiverOutput { - return i.ToObservabilityInstanceAlertConfigReceiverOutputWithContext(context.Background()) +func (i NetworkAreaRegionIpv4NetworkRangeArgs) ToNetworkAreaRegionIpv4NetworkRangeOutput() NetworkAreaRegionIpv4NetworkRangeOutput { + return i.ToNetworkAreaRegionIpv4NetworkRangeOutputWithContext(context.Background()) } -func (i ObservabilityInstanceAlertConfigReceiverArgs) ToObservabilityInstanceAlertConfigReceiverOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigReceiverOutput) +func (i NetworkAreaRegionIpv4NetworkRangeArgs) ToNetworkAreaRegionIpv4NetworkRangeOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4NetworkRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRegionIpv4NetworkRangeOutput) } -// ObservabilityInstanceAlertConfigReceiverArrayInput is an input type that accepts ObservabilityInstanceAlertConfigReceiverArray and ObservabilityInstanceAlertConfigReceiverArrayOutput values. -// You can construct a concrete instance of `ObservabilityInstanceAlertConfigReceiverArrayInput` via: +// NetworkAreaRegionIpv4NetworkRangeArrayInput is an input type that accepts NetworkAreaRegionIpv4NetworkRangeArray and NetworkAreaRegionIpv4NetworkRangeArrayOutput values. +// You can construct a concrete instance of `NetworkAreaRegionIpv4NetworkRangeArrayInput` via: // -// ObservabilityInstanceAlertConfigReceiverArray{ ObservabilityInstanceAlertConfigReceiverArgs{...} } -type ObservabilityInstanceAlertConfigReceiverArrayInput interface { +// NetworkAreaRegionIpv4NetworkRangeArray{ NetworkAreaRegionIpv4NetworkRangeArgs{...} } +type NetworkAreaRegionIpv4NetworkRangeArrayInput interface { pulumi.Input - ToObservabilityInstanceAlertConfigReceiverArrayOutput() ObservabilityInstanceAlertConfigReceiverArrayOutput - ToObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(context.Context) ObservabilityInstanceAlertConfigReceiverArrayOutput + ToNetworkAreaRegionIpv4NetworkRangeArrayOutput() NetworkAreaRegionIpv4NetworkRangeArrayOutput + ToNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(context.Context) NetworkAreaRegionIpv4NetworkRangeArrayOutput } -type ObservabilityInstanceAlertConfigReceiverArray []ObservabilityInstanceAlertConfigReceiverInput +type NetworkAreaRegionIpv4NetworkRangeArray []NetworkAreaRegionIpv4NetworkRangeInput -func (ObservabilityInstanceAlertConfigReceiverArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ObservabilityInstanceAlertConfigReceiver)(nil)).Elem() +func (NetworkAreaRegionIpv4NetworkRangeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkAreaRegionIpv4NetworkRange)(nil)).Elem() } -func (i ObservabilityInstanceAlertConfigReceiverArray) ToObservabilityInstanceAlertConfigReceiverArrayOutput() ObservabilityInstanceAlertConfigReceiverArrayOutput { - return i.ToObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(context.Background()) +func (i NetworkAreaRegionIpv4NetworkRangeArray) ToNetworkAreaRegionIpv4NetworkRangeArrayOutput() NetworkAreaRegionIpv4NetworkRangeArrayOutput { + return i.ToNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(context.Background()) } -func (i ObservabilityInstanceAlertConfigReceiverArray) ToObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigReceiverArrayOutput) +func (i NetworkAreaRegionIpv4NetworkRangeArray) ToNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4NetworkRangeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRegionIpv4NetworkRangeArrayOutput) } -type ObservabilityInstanceAlertConfigReceiverOutput struct{ *pulumi.OutputState } +type NetworkAreaRegionIpv4NetworkRangeOutput struct{ *pulumi.OutputState } -func (ObservabilityInstanceAlertConfigReceiverOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityInstanceAlertConfigReceiver)(nil)).Elem() +func (NetworkAreaRegionIpv4NetworkRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAreaRegionIpv4NetworkRange)(nil)).Elem() } -func (o ObservabilityInstanceAlertConfigReceiverOutput) ToObservabilityInstanceAlertConfigReceiverOutput() ObservabilityInstanceAlertConfigReceiverOutput { +func (o NetworkAreaRegionIpv4NetworkRangeOutput) ToNetworkAreaRegionIpv4NetworkRangeOutput() NetworkAreaRegionIpv4NetworkRangeOutput { return o } -func (o ObservabilityInstanceAlertConfigReceiverOutput) ToObservabilityInstanceAlertConfigReceiverOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverOutput { +func (o NetworkAreaRegionIpv4NetworkRangeOutput) ToNetworkAreaRegionIpv4NetworkRangeOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4NetworkRangeOutput { return o } -// List of email configurations. -func (o ObservabilityInstanceAlertConfigReceiverOutput) EmailConfigs() ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiver) []ObservabilityInstanceAlertConfigReceiverEmailConfig { - return v.EmailConfigs - }).(ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) +func (o NetworkAreaRegionIpv4NetworkRangeOutput) NetworkRangeId() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkAreaRegionIpv4NetworkRange) *string { return v.NetworkRangeId }).(pulumi.StringPtrOutput) } -// Name of the receiver. -func (o ObservabilityInstanceAlertConfigReceiverOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiver) string { return v.Name }).(pulumi.StringOutput) +// Classless Inter-Domain Routing (CIDR). +func (o NetworkAreaRegionIpv4NetworkRangeOutput) Prefix() pulumi.StringOutput { + return o.ApplyT(func(v NetworkAreaRegionIpv4NetworkRange) string { return v.Prefix }).(pulumi.StringOutput) } -// List of OpsGenie configurations. -func (o ObservabilityInstanceAlertConfigReceiverOutput) OpsgenieConfigs() ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiver) []ObservabilityInstanceAlertConfigReceiverOpsgenieConfig { - return v.OpsgenieConfigs - }).(ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) -} +type NetworkAreaRegionIpv4NetworkRangeArrayOutput struct{ *pulumi.OutputState } -// List of Webhooks configurations. -func (o ObservabilityInstanceAlertConfigReceiverOutput) WebhooksConfigs() ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiver) []ObservabilityInstanceAlertConfigReceiverWebhooksConfig { - return v.WebhooksConfigs - }).(ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) +func (NetworkAreaRegionIpv4NetworkRangeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]NetworkAreaRegionIpv4NetworkRange)(nil)).Elem() } -type ObservabilityInstanceAlertConfigReceiverArrayOutput struct{ *pulumi.OutputState } - -func (ObservabilityInstanceAlertConfigReceiverArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ObservabilityInstanceAlertConfigReceiver)(nil)).Elem() +func (o NetworkAreaRegionIpv4NetworkRangeArrayOutput) ToNetworkAreaRegionIpv4NetworkRangeArrayOutput() NetworkAreaRegionIpv4NetworkRangeArrayOutput { + return o } -func (o ObservabilityInstanceAlertConfigReceiverArrayOutput) ToObservabilityInstanceAlertConfigReceiverArrayOutput() ObservabilityInstanceAlertConfigReceiverArrayOutput { +func (o NetworkAreaRegionIpv4NetworkRangeArrayOutput) ToNetworkAreaRegionIpv4NetworkRangeArrayOutputWithContext(ctx context.Context) NetworkAreaRegionIpv4NetworkRangeArrayOutput { return o } -func (o ObservabilityInstanceAlertConfigReceiverArrayOutput) ToObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverArrayOutput { - return o +func (o NetworkAreaRegionIpv4NetworkRangeArrayOutput) Index(i pulumi.IntInput) NetworkAreaRegionIpv4NetworkRangeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) NetworkAreaRegionIpv4NetworkRange { + return vs[0].([]NetworkAreaRegionIpv4NetworkRange)[vs[1].(int)] + }).(NetworkAreaRegionIpv4NetworkRangeOutput) } -func (o ObservabilityInstanceAlertConfigReceiverArrayOutput) Index(i pulumi.IntInput) ObservabilityInstanceAlertConfigReceiverOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ObservabilityInstanceAlertConfigReceiver { - return vs[0].([]ObservabilityInstanceAlertConfigReceiver)[vs[1].(int)] - }).(ObservabilityInstanceAlertConfigReceiverOutput) +type NetworkAreaRouteDestination struct { + // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported currently. + Type string `pulumi:"type"` + // An CIDR string. + Value string `pulumi:"value"` } -type ObservabilityInstanceAlertConfigReceiverEmailConfig 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"` -} - -// ObservabilityInstanceAlertConfigReceiverEmailConfigInput is an input type that accepts ObservabilityInstanceAlertConfigReceiverEmailConfigArgs and ObservabilityInstanceAlertConfigReceiverEmailConfigOutput values. -// You can construct a concrete instance of `ObservabilityInstanceAlertConfigReceiverEmailConfigInput` via: +// NetworkAreaRouteDestinationInput is an input type that accepts NetworkAreaRouteDestinationArgs and NetworkAreaRouteDestinationOutput values. +// You can construct a concrete instance of `NetworkAreaRouteDestinationInput` via: // -// ObservabilityInstanceAlertConfigReceiverEmailConfigArgs{...} -type ObservabilityInstanceAlertConfigReceiverEmailConfigInput interface { +// NetworkAreaRouteDestinationArgs{...} +type NetworkAreaRouteDestinationInput interface { pulumi.Input - ToObservabilityInstanceAlertConfigReceiverEmailConfigOutput() ObservabilityInstanceAlertConfigReceiverEmailConfigOutput - ToObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(context.Context) ObservabilityInstanceAlertConfigReceiverEmailConfigOutput + ToNetworkAreaRouteDestinationOutput() NetworkAreaRouteDestinationOutput + ToNetworkAreaRouteDestinationOutputWithContext(context.Context) NetworkAreaRouteDestinationOutput } -type ObservabilityInstanceAlertConfigReceiverEmailConfigArgs struct { - // SMTP authentication information. Must be a valid email address - AuthIdentity pulumi.StringPtrInput `pulumi:"authIdentity"` - // SMTP authentication password. - AuthPassword pulumi.StringPtrInput `pulumi:"authPassword"` - // SMTP authentication username. - AuthUsername pulumi.StringPtrInput `pulumi:"authUsername"` - // The sender email address. Must be a valid email address - From pulumi.StringPtrInput `pulumi:"from"` - // Whether to notify about resolved alerts. - SendResolved pulumi.BoolPtrInput `pulumi:"sendResolved"` - // The SMTP host through which emails are sent. - SmartHost pulumi.StringPtrInput `pulumi:"smartHost"` - // The email address to send notifications to. Must be a valid email address - To pulumi.StringPtrInput `pulumi:"to"` +type NetworkAreaRouteDestinationArgs struct { + // CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported currently. + Type pulumi.StringInput `pulumi:"type"` + // An CIDR string. + Value pulumi.StringInput `pulumi:"value"` } -func (ObservabilityInstanceAlertConfigReceiverEmailConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() +func (NetworkAreaRouteDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAreaRouteDestination)(nil)).Elem() } -func (i ObservabilityInstanceAlertConfigReceiverEmailConfigArgs) ToObservabilityInstanceAlertConfigReceiverEmailConfigOutput() ObservabilityInstanceAlertConfigReceiverEmailConfigOutput { - return i.ToObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(context.Background()) +func (i NetworkAreaRouteDestinationArgs) ToNetworkAreaRouteDestinationOutput() NetworkAreaRouteDestinationOutput { + return i.ToNetworkAreaRouteDestinationOutputWithContext(context.Background()) } -func (i ObservabilityInstanceAlertConfigReceiverEmailConfigArgs) ToObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverEmailConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) +func (i NetworkAreaRouteDestinationArgs) ToNetworkAreaRouteDestinationOutputWithContext(ctx context.Context) NetworkAreaRouteDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRouteDestinationOutput) } -// ObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput is an input type that accepts ObservabilityInstanceAlertConfigReceiverEmailConfigArray and ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput values. -// You can construct a concrete instance of `ObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput` via: +func (i NetworkAreaRouteDestinationArgs) ToNetworkAreaRouteDestinationPtrOutput() NetworkAreaRouteDestinationPtrOutput { + return i.ToNetworkAreaRouteDestinationPtrOutputWithContext(context.Background()) +} + +func (i NetworkAreaRouteDestinationArgs) ToNetworkAreaRouteDestinationPtrOutputWithContext(ctx context.Context) NetworkAreaRouteDestinationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRouteDestinationOutput).ToNetworkAreaRouteDestinationPtrOutputWithContext(ctx) +} + +// NetworkAreaRouteDestinationPtrInput is an input type that accepts NetworkAreaRouteDestinationArgs, NetworkAreaRouteDestinationPtr and NetworkAreaRouteDestinationPtrOutput values. +// You can construct a concrete instance of `NetworkAreaRouteDestinationPtrInput` via: // -// ObservabilityInstanceAlertConfigReceiverEmailConfigArray{ ObservabilityInstanceAlertConfigReceiverEmailConfigArgs{...} } -type ObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput interface { +// NetworkAreaRouteDestinationArgs{...} +// +// or: +// +// nil +type NetworkAreaRouteDestinationPtrInput interface { pulumi.Input - ToObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput() ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput - ToObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(context.Context) ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput + ToNetworkAreaRouteDestinationPtrOutput() NetworkAreaRouteDestinationPtrOutput + ToNetworkAreaRouteDestinationPtrOutputWithContext(context.Context) NetworkAreaRouteDestinationPtrOutput } -type ObservabilityInstanceAlertConfigReceiverEmailConfigArray []ObservabilityInstanceAlertConfigReceiverEmailConfigInput +type networkAreaRouteDestinationPtrType NetworkAreaRouteDestinationArgs -func (ObservabilityInstanceAlertConfigReceiverEmailConfigArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() +func NetworkAreaRouteDestinationPtr(v *NetworkAreaRouteDestinationArgs) NetworkAreaRouteDestinationPtrInput { + return (*networkAreaRouteDestinationPtrType)(v) } -func (i ObservabilityInstanceAlertConfigReceiverEmailConfigArray) ToObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput() ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { - return i.ToObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(context.Background()) +func (*networkAreaRouteDestinationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkAreaRouteDestination)(nil)).Elem() } -func (i ObservabilityInstanceAlertConfigReceiverEmailConfigArray) ToObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) +func (i *networkAreaRouteDestinationPtrType) ToNetworkAreaRouteDestinationPtrOutput() NetworkAreaRouteDestinationPtrOutput { + return i.ToNetworkAreaRouteDestinationPtrOutputWithContext(context.Background()) } -type ObservabilityInstanceAlertConfigReceiverEmailConfigOutput struct{ *pulumi.OutputState } +func (i *networkAreaRouteDestinationPtrType) ToNetworkAreaRouteDestinationPtrOutputWithContext(ctx context.Context) NetworkAreaRouteDestinationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRouteDestinationPtrOutput) +} -func (ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() +type NetworkAreaRouteDestinationOutput struct{ *pulumi.OutputState } + +func (NetworkAreaRouteDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAreaRouteDestination)(nil)).Elem() } -func (o ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) ToObservabilityInstanceAlertConfigReceiverEmailConfigOutput() ObservabilityInstanceAlertConfigReceiverEmailConfigOutput { +func (o NetworkAreaRouteDestinationOutput) ToNetworkAreaRouteDestinationOutput() NetworkAreaRouteDestinationOutput { return o } -func (o ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) ToObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverEmailConfigOutput { +func (o NetworkAreaRouteDestinationOutput) ToNetworkAreaRouteDestinationOutputWithContext(ctx context.Context) NetworkAreaRouteDestinationOutput { return o } -// SMTP authentication information. Must be a valid email address -func (o ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) AuthIdentity() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverEmailConfig) *string { return v.AuthIdentity }).(pulumi.StringPtrOutput) +func (o NetworkAreaRouteDestinationOutput) ToNetworkAreaRouteDestinationPtrOutput() NetworkAreaRouteDestinationPtrOutput { + return o.ToNetworkAreaRouteDestinationPtrOutputWithContext(context.Background()) } -// SMTP authentication password. -func (o ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) AuthPassword() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverEmailConfig) *string { return v.AuthPassword }).(pulumi.StringPtrOutput) +func (o NetworkAreaRouteDestinationOutput) ToNetworkAreaRouteDestinationPtrOutputWithContext(ctx context.Context) NetworkAreaRouteDestinationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkAreaRouteDestination) *NetworkAreaRouteDestination { + return &v + }).(NetworkAreaRouteDestinationPtrOutput) } -// SMTP authentication username. -func (o ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) AuthUsername() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverEmailConfig) *string { return v.AuthUsername }).(pulumi.StringPtrOutput) +// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported currently. +func (o NetworkAreaRouteDestinationOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v NetworkAreaRouteDestination) string { return v.Type }).(pulumi.StringOutput) } -// The sender email address. Must be a valid email address -func (o ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) From() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverEmailConfig) *string { return v.From }).(pulumi.StringPtrOutput) +// An CIDR string. +func (o NetworkAreaRouteDestinationOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v NetworkAreaRouteDestination) string { return v.Value }).(pulumi.StringOutput) } -// Whether to notify about resolved alerts. -func (o ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) SendResolved() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverEmailConfig) *bool { return v.SendResolved }).(pulumi.BoolPtrOutput) -} +type NetworkAreaRouteDestinationPtrOutput struct{ *pulumi.OutputState } -// The SMTP host through which emails are sent. -func (o ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) SmartHost() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverEmailConfig) *string { return v.SmartHost }).(pulumi.StringPtrOutput) +func (NetworkAreaRouteDestinationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkAreaRouteDestination)(nil)).Elem() } -// The email address to send notifications to. Must be a valid email address -func (o ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) To() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverEmailConfig) *string { return v.To }).(pulumi.StringPtrOutput) +func (o NetworkAreaRouteDestinationPtrOutput) ToNetworkAreaRouteDestinationPtrOutput() NetworkAreaRouteDestinationPtrOutput { + return o } -type ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput struct{ *pulumi.OutputState } - -func (ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() +func (o NetworkAreaRouteDestinationPtrOutput) ToNetworkAreaRouteDestinationPtrOutputWithContext(ctx context.Context) NetworkAreaRouteDestinationPtrOutput { + return o } -func (o ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) ToObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput() ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { - return o +func (o NetworkAreaRouteDestinationPtrOutput) Elem() NetworkAreaRouteDestinationOutput { + return o.ApplyT(func(v *NetworkAreaRouteDestination) NetworkAreaRouteDestination { + if v != nil { + return *v + } + var ret NetworkAreaRouteDestination + return ret + }).(NetworkAreaRouteDestinationOutput) } -func (o ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) ToObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { - return o +// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported currently. +func (o NetworkAreaRouteDestinationPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkAreaRouteDestination) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) } -func (o ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) Index(i pulumi.IntInput) ObservabilityInstanceAlertConfigReceiverEmailConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ObservabilityInstanceAlertConfigReceiverEmailConfig { - return vs[0].([]ObservabilityInstanceAlertConfigReceiverEmailConfig)[vs[1].(int)] - }).(ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) +// An CIDR string. +func (o NetworkAreaRouteDestinationPtrOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkAreaRouteDestination) *string { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.StringPtrOutput) } -type ObservabilityInstanceAlertConfigReceiverOpsgenieConfig 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 NetworkAreaRouteNextHop struct { + // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `ipv4` supported currently. + Type string `pulumi:"type"` + // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. + Value *string `pulumi:"value"` } -// ObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput is an input type that accepts ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs and ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput values. -// You can construct a concrete instance of `ObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput` via: +// NetworkAreaRouteNextHopInput is an input type that accepts NetworkAreaRouteNextHopArgs and NetworkAreaRouteNextHopOutput values. +// You can construct a concrete instance of `NetworkAreaRouteNextHopInput` via: // -// ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs{...} -type ObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput interface { +// NetworkAreaRouteNextHopArgs{...} +type NetworkAreaRouteNextHopInput interface { pulumi.Input - ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput() ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput - ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(context.Context) ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput + ToNetworkAreaRouteNextHopOutput() NetworkAreaRouteNextHopOutput + ToNetworkAreaRouteNextHopOutputWithContext(context.Context) NetworkAreaRouteNextHopOutput } -type ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs struct { - // The API key for OpsGenie. - ApiKey pulumi.StringPtrInput `pulumi:"apiKey"` - // The host to send OpsGenie API requests to. Must be a valid URL - ApiUrl pulumi.StringPtrInput `pulumi:"apiUrl"` - // Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`. - Priority pulumi.StringPtrInput `pulumi:"priority"` - // Whether to notify about resolved alerts. - SendResolved pulumi.BoolPtrInput `pulumi:"sendResolved"` - // Comma separated list of tags attached to the notifications. - Tags pulumi.StringPtrInput `pulumi:"tags"` +type NetworkAreaRouteNextHopArgs struct { + // Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `ipv4` supported currently. + Type pulumi.StringInput `pulumi:"type"` + // Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. + Value pulumi.StringPtrInput `pulumi:"value"` } -func (ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() +func (NetworkAreaRouteNextHopArgs) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAreaRouteNextHop)(nil)).Elem() } -func (i ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs) ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput() ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { - return i.ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(context.Background()) +func (i NetworkAreaRouteNextHopArgs) ToNetworkAreaRouteNextHopOutput() NetworkAreaRouteNextHopOutput { + return i.ToNetworkAreaRouteNextHopOutputWithContext(context.Background()) } -func (i ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs) ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) +func (i NetworkAreaRouteNextHopArgs) ToNetworkAreaRouteNextHopOutputWithContext(ctx context.Context) NetworkAreaRouteNextHopOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRouteNextHopOutput) } -// ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput is an input type that accepts ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray and ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput values. -// You can construct a concrete instance of `ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput` via: -// -// ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray{ ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs{...} } -type ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput interface { - pulumi.Input +func (i NetworkAreaRouteNextHopArgs) ToNetworkAreaRouteNextHopPtrOutput() NetworkAreaRouteNextHopPtrOutput { + return i.ToNetworkAreaRouteNextHopPtrOutputWithContext(context.Background()) +} - ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput() ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput - ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(context.Context) ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput +func (i NetworkAreaRouteNextHopArgs) ToNetworkAreaRouteNextHopPtrOutputWithContext(ctx context.Context) NetworkAreaRouteNextHopPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRouteNextHopOutput).ToNetworkAreaRouteNextHopPtrOutputWithContext(ctx) } -type ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray []ObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput +// NetworkAreaRouteNextHopPtrInput is an input type that accepts NetworkAreaRouteNextHopArgs, NetworkAreaRouteNextHopPtr and NetworkAreaRouteNextHopPtrOutput values. +// You can construct a concrete instance of `NetworkAreaRouteNextHopPtrInput` via: +// +// NetworkAreaRouteNextHopArgs{...} +// +// or: +// +// nil +type NetworkAreaRouteNextHopPtrInput interface { + pulumi.Input -func (ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() + ToNetworkAreaRouteNextHopPtrOutput() NetworkAreaRouteNextHopPtrOutput + ToNetworkAreaRouteNextHopPtrOutputWithContext(context.Context) NetworkAreaRouteNextHopPtrOutput } -func (i ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray) ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput() ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { - return i.ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(context.Background()) +type networkAreaRouteNextHopPtrType NetworkAreaRouteNextHopArgs + +func NetworkAreaRouteNextHopPtr(v *NetworkAreaRouteNextHopArgs) NetworkAreaRouteNextHopPtrInput { + return (*networkAreaRouteNextHopPtrType)(v) } -func (i ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray) ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) +func (*networkAreaRouteNextHopPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkAreaRouteNextHop)(nil)).Elem() } -type ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput struct{ *pulumi.OutputState } +func (i *networkAreaRouteNextHopPtrType) ToNetworkAreaRouteNextHopPtrOutput() NetworkAreaRouteNextHopPtrOutput { + return i.ToNetworkAreaRouteNextHopPtrOutputWithContext(context.Background()) +} -func (ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() +func (i *networkAreaRouteNextHopPtrType) ToNetworkAreaRouteNextHopPtrOutputWithContext(ctx context.Context) NetworkAreaRouteNextHopPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(NetworkAreaRouteNextHopPtrOutput) } -func (o ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput() ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { - return o +type NetworkAreaRouteNextHopOutput struct{ *pulumi.OutputState } + +func (NetworkAreaRouteNextHopOutput) ElementType() reflect.Type { + return reflect.TypeOf((*NetworkAreaRouteNextHop)(nil)).Elem() } -func (o ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { +func (o NetworkAreaRouteNextHopOutput) ToNetworkAreaRouteNextHopOutput() NetworkAreaRouteNextHopOutput { return o } -// The API key for OpsGenie. -func (o ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ApiKey() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverOpsgenieConfig) *string { return v.ApiKey }).(pulumi.StringPtrOutput) +func (o NetworkAreaRouteNextHopOutput) ToNetworkAreaRouteNextHopOutputWithContext(ctx context.Context) NetworkAreaRouteNextHopOutput { + return o } -// The host to send OpsGenie API requests to. Must be a valid URL -func (o ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ApiUrl() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverOpsgenieConfig) *string { return v.ApiUrl }).(pulumi.StringPtrOutput) +func (o NetworkAreaRouteNextHopOutput) ToNetworkAreaRouteNextHopPtrOutput() NetworkAreaRouteNextHopPtrOutput { + return o.ToNetworkAreaRouteNextHopPtrOutputWithContext(context.Background()) } -// Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`. -func (o ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) Priority() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverOpsgenieConfig) *string { return v.Priority }).(pulumi.StringPtrOutput) +func (o NetworkAreaRouteNextHopOutput) ToNetworkAreaRouteNextHopPtrOutputWithContext(ctx context.Context) NetworkAreaRouteNextHopPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v NetworkAreaRouteNextHop) *NetworkAreaRouteNextHop { + return &v + }).(NetworkAreaRouteNextHopPtrOutput) } -// Whether to notify about resolved alerts. -func (o ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) SendResolved() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverOpsgenieConfig) *bool { return v.SendResolved }).(pulumi.BoolPtrOutput) +// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `ipv4` supported currently. +func (o NetworkAreaRouteNextHopOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v NetworkAreaRouteNextHop) string { return v.Type }).(pulumi.StringOutput) } -// Comma separated list of tags attached to the notifications. -func (o ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) Tags() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverOpsgenieConfig) *string { return v.Tags }).(pulumi.StringPtrOutput) +// Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. +func (o NetworkAreaRouteNextHopOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v NetworkAreaRouteNextHop) *string { return v.Value }).(pulumi.StringPtrOutput) } -type ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput struct{ *pulumi.OutputState } +type NetworkAreaRouteNextHopPtrOutput struct{ *pulumi.OutputState } -func (ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() +func (NetworkAreaRouteNextHopPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**NetworkAreaRouteNextHop)(nil)).Elem() } -func (o ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput() ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { +func (o NetworkAreaRouteNextHopPtrOutput) ToNetworkAreaRouteNextHopPtrOutput() NetworkAreaRouteNextHopPtrOutput { return o } -func (o ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { +func (o NetworkAreaRouteNextHopPtrOutput) ToNetworkAreaRouteNextHopPtrOutputWithContext(ctx context.Context) NetworkAreaRouteNextHopPtrOutput { return o } -func (o ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) Index(i pulumi.IntInput) ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ObservabilityInstanceAlertConfigReceiverOpsgenieConfig { - return vs[0].([]ObservabilityInstanceAlertConfigReceiverOpsgenieConfig)[vs[1].(int)] - }).(ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) +func (o NetworkAreaRouteNextHopPtrOutput) Elem() NetworkAreaRouteNextHopOutput { + return o.ApplyT(func(v *NetworkAreaRouteNextHop) NetworkAreaRouteNextHop { + if v != nil { + return *v + } + var ret NetworkAreaRouteNextHop + return ret + }).(NetworkAreaRouteNextHopOutput) } -type ObservabilityInstanceAlertConfigReceiverWebhooksConfig 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"` +// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. Only `ipv4` supported currently. +func (o NetworkAreaRouteNextHopPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkAreaRouteNextHop) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) } -// ObservabilityInstanceAlertConfigReceiverWebhooksConfigInput is an input type that accepts ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs and ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput values. -// You can construct a concrete instance of `ObservabilityInstanceAlertConfigReceiverWebhooksConfigInput` via: +// Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported currently. +func (o NetworkAreaRouteNextHopPtrOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v *NetworkAreaRouteNextHop) *string { + if v == nil { + return nil + } + return v.Value + }).(pulumi.StringPtrOutput) +} + +type ObservabilityAlertgroupRule struct { + // The name of the alert rule. Is the identifier and must be unique in the group. + Alert *string `pulumi:"alert"` + // 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"` +} + +// ObservabilityAlertgroupRuleInput is an input type that accepts ObservabilityAlertgroupRuleArgs and ObservabilityAlertgroupRuleOutput values. +// You can construct a concrete instance of `ObservabilityAlertgroupRuleInput` via: // -// ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs{...} -type ObservabilityInstanceAlertConfigReceiverWebhooksConfigInput interface { +// ObservabilityAlertgroupRuleArgs{...} +type ObservabilityAlertgroupRuleInput interface { pulumi.Input - ToObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput() ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput - ToObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(context.Context) ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput + ToObservabilityAlertgroupRuleOutput() ObservabilityAlertgroupRuleOutput + ToObservabilityAlertgroupRuleOutputWithContext(context.Context) ObservabilityAlertgroupRuleOutput } -type ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs struct { - // Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat. - GoogleChat pulumi.BoolPtrInput `pulumi:"googleChat"` - // Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams. - MsTeams pulumi.BoolPtrInput `pulumi:"msTeams"` - // Whether to notify about resolved alerts. - SendResolved pulumi.BoolPtrInput `pulumi:"sendResolved"` - // The endpoint to send HTTP POST requests to. Must be a valid URL - Url pulumi.StringPtrInput `pulumi:"url"` +type ObservabilityAlertgroupRuleArgs struct { + // The name of the alert rule. Is the identifier and must be unique in the group. + Alert pulumi.StringPtrInput `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.StringPtrInput `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.StringPtrInput `pulumi:"record"` } -func (ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() +func (ObservabilityAlertgroupRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityAlertgroupRule)(nil)).Elem() } -func (i ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs) ToObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput() ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { - return i.ToObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(context.Background()) +func (i ObservabilityAlertgroupRuleArgs) ToObservabilityAlertgroupRuleOutput() ObservabilityAlertgroupRuleOutput { + return i.ToObservabilityAlertgroupRuleOutputWithContext(context.Background()) } -func (i ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs) ToObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) +func (i ObservabilityAlertgroupRuleArgs) ToObservabilityAlertgroupRuleOutputWithContext(ctx context.Context) ObservabilityAlertgroupRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityAlertgroupRuleOutput) } -// ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput is an input type that accepts ObservabilityInstanceAlertConfigReceiverWebhooksConfigArray and ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput values. -// You can construct a concrete instance of `ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput` via: +// ObservabilityAlertgroupRuleArrayInput is an input type that accepts ObservabilityAlertgroupRuleArray and ObservabilityAlertgroupRuleArrayOutput values. +// You can construct a concrete instance of `ObservabilityAlertgroupRuleArrayInput` via: // -// ObservabilityInstanceAlertConfigReceiverWebhooksConfigArray{ ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs{...} } -type ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput interface { +// ObservabilityAlertgroupRuleArray{ ObservabilityAlertgroupRuleArgs{...} } +type ObservabilityAlertgroupRuleArrayInput interface { pulumi.Input - ToObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput() ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput - ToObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(context.Context) ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput + ToObservabilityAlertgroupRuleArrayOutput() ObservabilityAlertgroupRuleArrayOutput + ToObservabilityAlertgroupRuleArrayOutputWithContext(context.Context) ObservabilityAlertgroupRuleArrayOutput } -type ObservabilityInstanceAlertConfigReceiverWebhooksConfigArray []ObservabilityInstanceAlertConfigReceiverWebhooksConfigInput +type ObservabilityAlertgroupRuleArray []ObservabilityAlertgroupRuleInput -func (ObservabilityInstanceAlertConfigReceiverWebhooksConfigArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() +func (ObservabilityAlertgroupRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ObservabilityAlertgroupRule)(nil)).Elem() } -func (i ObservabilityInstanceAlertConfigReceiverWebhooksConfigArray) ToObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput() ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { - return i.ToObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(context.Background()) +func (i ObservabilityAlertgroupRuleArray) ToObservabilityAlertgroupRuleArrayOutput() ObservabilityAlertgroupRuleArrayOutput { + return i.ToObservabilityAlertgroupRuleArrayOutputWithContext(context.Background()) } -func (i ObservabilityInstanceAlertConfigReceiverWebhooksConfigArray) ToObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) +func (i ObservabilityAlertgroupRuleArray) ToObservabilityAlertgroupRuleArrayOutputWithContext(ctx context.Context) ObservabilityAlertgroupRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityAlertgroupRuleArrayOutput) } -type ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput struct{ *pulumi.OutputState } +type ObservabilityAlertgroupRuleOutput struct{ *pulumi.OutputState } -func (ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() +func (ObservabilityAlertgroupRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityAlertgroupRule)(nil)).Elem() } -func (o ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) ToObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput() ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { +func (o ObservabilityAlertgroupRuleOutput) ToObservabilityAlertgroupRuleOutput() ObservabilityAlertgroupRuleOutput { return o } -func (o ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) ToObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { +func (o ObservabilityAlertgroupRuleOutput) ToObservabilityAlertgroupRuleOutputWithContext(ctx context.Context) ObservabilityAlertgroupRuleOutput { return o } -// Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat. -func (o ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) GoogleChat() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverWebhooksConfig) *bool { return v.GoogleChat }).(pulumi.BoolPtrOutput) +// The name of the alert rule. Is the identifier and must be unique in the group. +func (o ObservabilityAlertgroupRuleOutput) Alert() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityAlertgroupRule) *string { return v.Alert }).(pulumi.StringPtrOutput) } -// Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams. -func (o ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) MsTeams() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverWebhooksConfig) *bool { return v.MsTeams }).(pulumi.BoolPtrOutput) +// A map of key:value. Annotations to add or overwrite for each alert +func (o ObservabilityAlertgroupRuleOutput) Annotations() pulumi.StringMapOutput { + return o.ApplyT(func(v ObservabilityAlertgroupRule) map[string]string { return v.Annotations }).(pulumi.StringMapOutput) } -// Whether to notify about resolved alerts. -func (o ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) SendResolved() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverWebhooksConfig) *bool { return v.SendResolved }).(pulumi.BoolPtrOutput) +// 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 ObservabilityAlertgroupRuleOutput) Expression() pulumi.StringOutput { + return o.ApplyT(func(v ObservabilityAlertgroupRule) string { return v.Expression }).(pulumi.StringOutput) } -// The endpoint to send HTTP POST requests to. Must be a valid URL -func (o ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) Url() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverWebhooksConfig) *string { return v.Url }).(pulumi.StringPtrOutput) +// 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 ObservabilityAlertgroupRuleOutput) For() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityAlertgroupRule) *string { return v.For }).(pulumi.StringPtrOutput) } -type ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput struct{ *pulumi.OutputState } - -func (ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() +// A map of key:value. Labels to add or overwrite for each alert +func (o ObservabilityAlertgroupRuleOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v ObservabilityAlertgroupRule) map[string]string { return v.Labels }).(pulumi.StringMapOutput) } -func (o ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) ToObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput() ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { - return o +// The name of the metric. It's the identifier and must be unique in the group. +func (o ObservabilityAlertgroupRuleOutput) Record() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityAlertgroupRule) *string { return v.Record }).(pulumi.StringPtrOutput) } -func (o ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) ToObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { +type ObservabilityAlertgroupRuleArrayOutput struct{ *pulumi.OutputState } + +func (ObservabilityAlertgroupRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ObservabilityAlertgroupRule)(nil)).Elem() +} + +func (o ObservabilityAlertgroupRuleArrayOutput) ToObservabilityAlertgroupRuleArrayOutput() ObservabilityAlertgroupRuleArrayOutput { return o } -func (o ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) Index(i pulumi.IntInput) ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ObservabilityInstanceAlertConfigReceiverWebhooksConfig { - return vs[0].([]ObservabilityInstanceAlertConfigReceiverWebhooksConfig)[vs[1].(int)] - }).(ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) +func (o ObservabilityAlertgroupRuleArrayOutput) ToObservabilityAlertgroupRuleArrayOutputWithContext(ctx context.Context) ObservabilityAlertgroupRuleArrayOutput { + return o } -type ObservabilityInstanceAlertConfigRoute 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 []ObservabilityInstanceAlertConfigRouteRoute `pulumi:"routes"` +func (o ObservabilityAlertgroupRuleArrayOutput) Index(i pulumi.IntInput) ObservabilityAlertgroupRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ObservabilityAlertgroupRule { + return vs[0].([]ObservabilityAlertgroupRule)[vs[1].(int)] + }).(ObservabilityAlertgroupRuleOutput) } -// ObservabilityInstanceAlertConfigRouteInput is an input type that accepts ObservabilityInstanceAlertConfigRouteArgs and ObservabilityInstanceAlertConfigRouteOutput values. -// You can construct a concrete instance of `ObservabilityInstanceAlertConfigRouteInput` via: +type ObservabilityInstanceAlertConfig struct { + // Global configuration for the alerts. If nothing passed the default argus config will be used. It is only possible to update the entire global part, not individual attributes. + Global *ObservabilityInstanceAlertConfigGlobal `pulumi:"global"` + // List of alert receivers. + Receivers []ObservabilityInstanceAlertConfigReceiver `pulumi:"receivers"` + // Route configuration for the alerts. + Route ObservabilityInstanceAlertConfigRoute `pulumi:"route"` +} + +// ObservabilityInstanceAlertConfigInput is an input type that accepts ObservabilityInstanceAlertConfigArgs and ObservabilityInstanceAlertConfigOutput values. +// You can construct a concrete instance of `ObservabilityInstanceAlertConfigInput` via: // -// ObservabilityInstanceAlertConfigRouteArgs{...} -type ObservabilityInstanceAlertConfigRouteInput interface { +// ObservabilityInstanceAlertConfigArgs{...} +type ObservabilityInstanceAlertConfigInput interface { pulumi.Input - ToObservabilityInstanceAlertConfigRouteOutput() ObservabilityInstanceAlertConfigRouteOutput - ToObservabilityInstanceAlertConfigRouteOutputWithContext(context.Context) ObservabilityInstanceAlertConfigRouteOutput + ToObservabilityInstanceAlertConfigOutput() ObservabilityInstanceAlertConfigOutput + ToObservabilityInstanceAlertConfigOutputWithContext(context.Context) ObservabilityInstanceAlertConfigOutput } -type ObservabilityInstanceAlertConfigRouteArgs struct { - // Whether an alert should continue matching subsequent sibling nodes. - Continue pulumi.BoolPtrInput `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.StringPtrInput `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.StringPtrInput `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.StringPtrInput `pulumi:"repeatInterval"` - // List of child routes. - Routes ObservabilityInstanceAlertConfigRouteRouteArrayInput `pulumi:"routes"` +type ObservabilityInstanceAlertConfigArgs struct { + // Global configuration for the alerts. If nothing passed the default argus config will be used. It is only possible to update the entire global part, not individual attributes. + Global ObservabilityInstanceAlertConfigGlobalPtrInput `pulumi:"global"` + // List of alert receivers. + Receivers ObservabilityInstanceAlertConfigReceiverArrayInput `pulumi:"receivers"` + // Route configuration for the alerts. + Route ObservabilityInstanceAlertConfigRouteInput `pulumi:"route"` } -func (ObservabilityInstanceAlertConfigRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityInstanceAlertConfigRoute)(nil)).Elem() +func (ObservabilityInstanceAlertConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityInstanceAlertConfig)(nil)).Elem() } -func (i ObservabilityInstanceAlertConfigRouteArgs) ToObservabilityInstanceAlertConfigRouteOutput() ObservabilityInstanceAlertConfigRouteOutput { - return i.ToObservabilityInstanceAlertConfigRouteOutputWithContext(context.Background()) +func (i ObservabilityInstanceAlertConfigArgs) ToObservabilityInstanceAlertConfigOutput() ObservabilityInstanceAlertConfigOutput { + return i.ToObservabilityInstanceAlertConfigOutputWithContext(context.Background()) } -func (i ObservabilityInstanceAlertConfigRouteArgs) ToObservabilityInstanceAlertConfigRouteOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigRouteOutput) +func (i ObservabilityInstanceAlertConfigArgs) ToObservabilityInstanceAlertConfigOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigOutput) } -func (i ObservabilityInstanceAlertConfigRouteArgs) ToObservabilityInstanceAlertConfigRoutePtrOutput() ObservabilityInstanceAlertConfigRoutePtrOutput { - return i.ToObservabilityInstanceAlertConfigRoutePtrOutputWithContext(context.Background()) +func (i ObservabilityInstanceAlertConfigArgs) ToObservabilityInstanceAlertConfigPtrOutput() ObservabilityInstanceAlertConfigPtrOutput { + return i.ToObservabilityInstanceAlertConfigPtrOutputWithContext(context.Background()) } -func (i ObservabilityInstanceAlertConfigRouteArgs) ToObservabilityInstanceAlertConfigRoutePtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigRoutePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigRouteOutput).ToObservabilityInstanceAlertConfigRoutePtrOutputWithContext(ctx) +func (i ObservabilityInstanceAlertConfigArgs) ToObservabilityInstanceAlertConfigPtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigOutput).ToObservabilityInstanceAlertConfigPtrOutputWithContext(ctx) } -// ObservabilityInstanceAlertConfigRoutePtrInput is an input type that accepts ObservabilityInstanceAlertConfigRouteArgs, ObservabilityInstanceAlertConfigRoutePtr and ObservabilityInstanceAlertConfigRoutePtrOutput values. -// You can construct a concrete instance of `ObservabilityInstanceAlertConfigRoutePtrInput` via: +// ObservabilityInstanceAlertConfigPtrInput is an input type that accepts ObservabilityInstanceAlertConfigArgs, ObservabilityInstanceAlertConfigPtr and ObservabilityInstanceAlertConfigPtrOutput values. +// You can construct a concrete instance of `ObservabilityInstanceAlertConfigPtrInput` via: // -// ObservabilityInstanceAlertConfigRouteArgs{...} +// ObservabilityInstanceAlertConfigArgs{...} // // or: // // nil -type ObservabilityInstanceAlertConfigRoutePtrInput interface { +type ObservabilityInstanceAlertConfigPtrInput interface { pulumi.Input - ToObservabilityInstanceAlertConfigRoutePtrOutput() ObservabilityInstanceAlertConfigRoutePtrOutput - ToObservabilityInstanceAlertConfigRoutePtrOutputWithContext(context.Context) ObservabilityInstanceAlertConfigRoutePtrOutput + ToObservabilityInstanceAlertConfigPtrOutput() ObservabilityInstanceAlertConfigPtrOutput + ToObservabilityInstanceAlertConfigPtrOutputWithContext(context.Context) ObservabilityInstanceAlertConfigPtrOutput } -type observabilityInstanceAlertConfigRoutePtrType ObservabilityInstanceAlertConfigRouteArgs +type observabilityInstanceAlertConfigPtrType ObservabilityInstanceAlertConfigArgs -func ObservabilityInstanceAlertConfigRoutePtr(v *ObservabilityInstanceAlertConfigRouteArgs) ObservabilityInstanceAlertConfigRoutePtrInput { - return (*observabilityInstanceAlertConfigRoutePtrType)(v) +func ObservabilityInstanceAlertConfigPtr(v *ObservabilityInstanceAlertConfigArgs) ObservabilityInstanceAlertConfigPtrInput { + return (*observabilityInstanceAlertConfigPtrType)(v) } -func (*observabilityInstanceAlertConfigRoutePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ObservabilityInstanceAlertConfigRoute)(nil)).Elem() +func (*observabilityInstanceAlertConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ObservabilityInstanceAlertConfig)(nil)).Elem() } -func (i *observabilityInstanceAlertConfigRoutePtrType) ToObservabilityInstanceAlertConfigRoutePtrOutput() ObservabilityInstanceAlertConfigRoutePtrOutput { - return i.ToObservabilityInstanceAlertConfigRoutePtrOutputWithContext(context.Background()) +func (i *observabilityInstanceAlertConfigPtrType) ToObservabilityInstanceAlertConfigPtrOutput() ObservabilityInstanceAlertConfigPtrOutput { + return i.ToObservabilityInstanceAlertConfigPtrOutputWithContext(context.Background()) } -func (i *observabilityInstanceAlertConfigRoutePtrType) ToObservabilityInstanceAlertConfigRoutePtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigRoutePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigRoutePtrOutput) +func (i *observabilityInstanceAlertConfigPtrType) ToObservabilityInstanceAlertConfigPtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigPtrOutput) } -type ObservabilityInstanceAlertConfigRouteOutput struct{ *pulumi.OutputState } +type ObservabilityInstanceAlertConfigOutput struct{ *pulumi.OutputState } -func (ObservabilityInstanceAlertConfigRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityInstanceAlertConfigRoute)(nil)).Elem() +func (ObservabilityInstanceAlertConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityInstanceAlertConfig)(nil)).Elem() } -func (o ObservabilityInstanceAlertConfigRouteOutput) ToObservabilityInstanceAlertConfigRouteOutput() ObservabilityInstanceAlertConfigRouteOutput { +func (o ObservabilityInstanceAlertConfigOutput) ToObservabilityInstanceAlertConfigOutput() ObservabilityInstanceAlertConfigOutput { return o } -func (o ObservabilityInstanceAlertConfigRouteOutput) ToObservabilityInstanceAlertConfigRouteOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigRouteOutput { +func (o ObservabilityInstanceAlertConfigOutput) ToObservabilityInstanceAlertConfigOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigOutput { return o } -func (o ObservabilityInstanceAlertConfigRouteOutput) ToObservabilityInstanceAlertConfigRoutePtrOutput() ObservabilityInstanceAlertConfigRoutePtrOutput { - return o.ToObservabilityInstanceAlertConfigRoutePtrOutputWithContext(context.Background()) +func (o ObservabilityInstanceAlertConfigOutput) ToObservabilityInstanceAlertConfigPtrOutput() ObservabilityInstanceAlertConfigPtrOutput { + return o.ToObservabilityInstanceAlertConfigPtrOutputWithContext(context.Background()) } -func (o ObservabilityInstanceAlertConfigRouteOutput) ToObservabilityInstanceAlertConfigRoutePtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigRoutePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ObservabilityInstanceAlertConfigRoute) *ObservabilityInstanceAlertConfigRoute { +func (o ObservabilityInstanceAlertConfigOutput) ToObservabilityInstanceAlertConfigPtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ObservabilityInstanceAlertConfig) *ObservabilityInstanceAlertConfig { return &v - }).(ObservabilityInstanceAlertConfigRoutePtrOutput) -} - -// Whether an alert should continue matching subsequent sibling nodes. -func (o ObservabilityInstanceAlertConfigRouteOutput) Continue() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigRoute) *bool { return v.Continue }).(pulumi.BoolPtrOutput) -} - -// 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 ObservabilityInstanceAlertConfigRouteOutput) GroupBies() pulumi.StringArrayOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigRoute) []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 ObservabilityInstanceAlertConfigRouteOutput) GroupInterval() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigRoute) *string { return v.GroupInterval }).(pulumi.StringPtrOutput) -} - -// 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 ObservabilityInstanceAlertConfigRouteOutput) GroupWait() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigRoute) *string { return v.GroupWait }).(pulumi.StringPtrOutput) + }).(ObservabilityInstanceAlertConfigPtrOutput) } -// The name of the receiver to route the alerts to. -func (o ObservabilityInstanceAlertConfigRouteOutput) Receiver() pulumi.StringOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigRoute) string { return v.Receiver }).(pulumi.StringOutput) +// Global configuration for the alerts. If nothing passed the default argus config will be used. It is only possible to update the entire global part, not individual attributes. +func (o ObservabilityInstanceAlertConfigOutput) Global() ObservabilityInstanceAlertConfigGlobalPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfig) *ObservabilityInstanceAlertConfigGlobal { return v.Global }).(ObservabilityInstanceAlertConfigGlobalPtrOutput) } -// 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 ObservabilityInstanceAlertConfigRouteOutput) RepeatInterval() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigRoute) *string { return v.RepeatInterval }).(pulumi.StringPtrOutput) +// List of alert receivers. +func (o ObservabilityInstanceAlertConfigOutput) Receivers() ObservabilityInstanceAlertConfigReceiverArrayOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfig) []ObservabilityInstanceAlertConfigReceiver { + return v.Receivers + }).(ObservabilityInstanceAlertConfigReceiverArrayOutput) } -// List of child routes. -func (o ObservabilityInstanceAlertConfigRouteOutput) Routes() ObservabilityInstanceAlertConfigRouteRouteArrayOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigRoute) []ObservabilityInstanceAlertConfigRouteRoute { - return v.Routes - }).(ObservabilityInstanceAlertConfigRouteRouteArrayOutput) +// Route configuration for the alerts. +func (o ObservabilityInstanceAlertConfigOutput) Route() ObservabilityInstanceAlertConfigRouteOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfig) ObservabilityInstanceAlertConfigRoute { return v.Route }).(ObservabilityInstanceAlertConfigRouteOutput) } -type ObservabilityInstanceAlertConfigRoutePtrOutput struct{ *pulumi.OutputState } +type ObservabilityInstanceAlertConfigPtrOutput struct{ *pulumi.OutputState } -func (ObservabilityInstanceAlertConfigRoutePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ObservabilityInstanceAlertConfigRoute)(nil)).Elem() +func (ObservabilityInstanceAlertConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ObservabilityInstanceAlertConfig)(nil)).Elem() } -func (o ObservabilityInstanceAlertConfigRoutePtrOutput) ToObservabilityInstanceAlertConfigRoutePtrOutput() ObservabilityInstanceAlertConfigRoutePtrOutput { +func (o ObservabilityInstanceAlertConfigPtrOutput) ToObservabilityInstanceAlertConfigPtrOutput() ObservabilityInstanceAlertConfigPtrOutput { return o } -func (o ObservabilityInstanceAlertConfigRoutePtrOutput) ToObservabilityInstanceAlertConfigRoutePtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigRoutePtrOutput { +func (o ObservabilityInstanceAlertConfigPtrOutput) ToObservabilityInstanceAlertConfigPtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigPtrOutput { return o } -func (o ObservabilityInstanceAlertConfigRoutePtrOutput) Elem() ObservabilityInstanceAlertConfigRouteOutput { - return o.ApplyT(func(v *ObservabilityInstanceAlertConfigRoute) ObservabilityInstanceAlertConfigRoute { +func (o ObservabilityInstanceAlertConfigPtrOutput) Elem() ObservabilityInstanceAlertConfigOutput { + return o.ApplyT(func(v *ObservabilityInstanceAlertConfig) ObservabilityInstanceAlertConfig { if v != nil { return *v } - var ret ObservabilityInstanceAlertConfigRoute + var ret ObservabilityInstanceAlertConfig return ret - }).(ObservabilityInstanceAlertConfigRouteOutput) -} - -// Whether an alert should continue matching subsequent sibling nodes. -func (o ObservabilityInstanceAlertConfigRoutePtrOutput) Continue() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ObservabilityInstanceAlertConfigRoute) *bool { - if v == nil { - return nil - } - return v.Continue - }).(pulumi.BoolPtrOutput) -} - -// 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 ObservabilityInstanceAlertConfigRoutePtrOutput) GroupBies() pulumi.StringArrayOutput { - return o.ApplyT(func(v *ObservabilityInstanceAlertConfigRoute) []string { - if v == nil { - return nil - } - return v.GroupBies - }).(pulumi.StringArrayOutput) + }).(ObservabilityInstanceAlertConfigOutput) } -// 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 ObservabilityInstanceAlertConfigRoutePtrOutput) GroupInterval() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ObservabilityInstanceAlertConfigRoute) *string { +// Global configuration for the alerts. If nothing passed the default argus config will be used. It is only possible to update the entire global part, not individual attributes. +func (o ObservabilityInstanceAlertConfigPtrOutput) Global() ObservabilityInstanceAlertConfigGlobalPtrOutput { + return o.ApplyT(func(v *ObservabilityInstanceAlertConfig) *ObservabilityInstanceAlertConfigGlobal { if v == nil { return nil } - return v.GroupInterval - }).(pulumi.StringPtrOutput) + return v.Global + }).(ObservabilityInstanceAlertConfigGlobalPtrOutput) } -// 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 ObservabilityInstanceAlertConfigRoutePtrOutput) GroupWait() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ObservabilityInstanceAlertConfigRoute) *string { +// List of alert receivers. +func (o ObservabilityInstanceAlertConfigPtrOutput) Receivers() ObservabilityInstanceAlertConfigReceiverArrayOutput { + return o.ApplyT(func(v *ObservabilityInstanceAlertConfig) []ObservabilityInstanceAlertConfigReceiver { if v == nil { return nil } - return v.GroupWait - }).(pulumi.StringPtrOutput) + return v.Receivers + }).(ObservabilityInstanceAlertConfigReceiverArrayOutput) } -// The name of the receiver to route the alerts to. -func (o ObservabilityInstanceAlertConfigRoutePtrOutput) Receiver() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ObservabilityInstanceAlertConfigRoute) *string { +// Route configuration for the alerts. +func (o ObservabilityInstanceAlertConfigPtrOutput) Route() ObservabilityInstanceAlertConfigRoutePtrOutput { + return o.ApplyT(func(v *ObservabilityInstanceAlertConfig) *ObservabilityInstanceAlertConfigRoute { if v == nil { return nil } - return &v.Receiver - }).(pulumi.StringPtrOutput) + return &v.Route + }).(ObservabilityInstanceAlertConfigRoutePtrOutput) } -// 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 ObservabilityInstanceAlertConfigRoutePtrOutput) RepeatInterval() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ObservabilityInstanceAlertConfigRoute) *string { - if v == nil { - return nil - } - return v.RepeatInterval - }).(pulumi.StringPtrOutput) +type ObservabilityInstanceAlertConfigGlobal 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 in format `host:port` (eg. `smtp.example.com:587`). Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). + SmtpSmartHost *string `pulumi:"smtpSmartHost"` } -// List of child routes. -func (o ObservabilityInstanceAlertConfigRoutePtrOutput) Routes() ObservabilityInstanceAlertConfigRouteRouteArrayOutput { - return o.ApplyT(func(v *ObservabilityInstanceAlertConfigRoute) []ObservabilityInstanceAlertConfigRouteRoute { - if v == nil { - return nil - } - return v.Routes - }).(ObservabilityInstanceAlertConfigRouteRouteArrayOutput) -} +// ObservabilityInstanceAlertConfigGlobalInput is an input type that accepts ObservabilityInstanceAlertConfigGlobalArgs and ObservabilityInstanceAlertConfigGlobalOutput values. +// You can construct a concrete instance of `ObservabilityInstanceAlertConfigGlobalInput` via: +// +// ObservabilityInstanceAlertConfigGlobalArgs{...} +type ObservabilityInstanceAlertConfigGlobalInput interface { + pulumi.Input -type ObservabilityInstanceAlertConfigRouteRoute 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"` + ToObservabilityInstanceAlertConfigGlobalOutput() ObservabilityInstanceAlertConfigGlobalOutput + ToObservabilityInstanceAlertConfigGlobalOutputWithContext(context.Context) ObservabilityInstanceAlertConfigGlobalOutput } -// ObservabilityInstanceAlertConfigRouteRouteInput is an input type that accepts ObservabilityInstanceAlertConfigRouteRouteArgs and ObservabilityInstanceAlertConfigRouteRouteOutput values. -// You can construct a concrete instance of `ObservabilityInstanceAlertConfigRouteRouteInput` via: -// -// ObservabilityInstanceAlertConfigRouteRouteArgs{...} -type ObservabilityInstanceAlertConfigRouteRouteInput interface { - pulumi.Input +type ObservabilityInstanceAlertConfigGlobalArgs struct { + // The API key for OpsGenie. + OpsgenieApiKey pulumi.StringPtrInput `pulumi:"opsgenieApiKey"` + // The host to send OpsGenie API requests to. Must be a valid URL + OpsgenieApiUrl pulumi.StringPtrInput `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.StringPtrInput `pulumi:"resolveTimeout"` + // SMTP authentication information. Must be a valid email address + SmtpAuthIdentity pulumi.StringPtrInput `pulumi:"smtpAuthIdentity"` + // SMTP Auth using LOGIN and PLAIN. + SmtpAuthPassword pulumi.StringPtrInput `pulumi:"smtpAuthPassword"` + // SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. + SmtpAuthUsername pulumi.StringPtrInput `pulumi:"smtpAuthUsername"` + // The default SMTP From header field. Must be a valid email address + SmtpFrom pulumi.StringPtrInput `pulumi:"smtpFrom"` + // The default SMTP smarthost used for sending emails, including port number in format `host:port` (eg. `smtp.example.com:587`). Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). + SmtpSmartHost pulumi.StringPtrInput `pulumi:"smtpSmartHost"` +} - ToObservabilityInstanceAlertConfigRouteRouteOutput() ObservabilityInstanceAlertConfigRouteRouteOutput - ToObservabilityInstanceAlertConfigRouteRouteOutputWithContext(context.Context) ObservabilityInstanceAlertConfigRouteRouteOutput +func (ObservabilityInstanceAlertConfigGlobalArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityInstanceAlertConfigGlobal)(nil)).Elem() } -type ObservabilityInstanceAlertConfigRouteRouteArgs struct { - // Whether an alert should continue matching subsequent sibling nodes. - Continue pulumi.BoolPtrInput `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.StringPtrInput `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.StringPtrInput `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.StringPtrInput `pulumi:"repeatInterval"` +func (i ObservabilityInstanceAlertConfigGlobalArgs) ToObservabilityInstanceAlertConfigGlobalOutput() ObservabilityInstanceAlertConfigGlobalOutput { + return i.ToObservabilityInstanceAlertConfigGlobalOutputWithContext(context.Background()) } -func (ObservabilityInstanceAlertConfigRouteRouteArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() +func (i ObservabilityInstanceAlertConfigGlobalArgs) ToObservabilityInstanceAlertConfigGlobalOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigGlobalOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigGlobalOutput) } -func (i ObservabilityInstanceAlertConfigRouteRouteArgs) ToObservabilityInstanceAlertConfigRouteRouteOutput() ObservabilityInstanceAlertConfigRouteRouteOutput { - return i.ToObservabilityInstanceAlertConfigRouteRouteOutputWithContext(context.Background()) +func (i ObservabilityInstanceAlertConfigGlobalArgs) ToObservabilityInstanceAlertConfigGlobalPtrOutput() ObservabilityInstanceAlertConfigGlobalPtrOutput { + return i.ToObservabilityInstanceAlertConfigGlobalPtrOutputWithContext(context.Background()) } -func (i ObservabilityInstanceAlertConfigRouteRouteArgs) ToObservabilityInstanceAlertConfigRouteRouteOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigRouteRouteOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigRouteRouteOutput) +func (i ObservabilityInstanceAlertConfigGlobalArgs) ToObservabilityInstanceAlertConfigGlobalPtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigGlobalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigGlobalOutput).ToObservabilityInstanceAlertConfigGlobalPtrOutputWithContext(ctx) } -// ObservabilityInstanceAlertConfigRouteRouteArrayInput is an input type that accepts ObservabilityInstanceAlertConfigRouteRouteArray and ObservabilityInstanceAlertConfigRouteRouteArrayOutput values. -// You can construct a concrete instance of `ObservabilityInstanceAlertConfigRouteRouteArrayInput` via: +// ObservabilityInstanceAlertConfigGlobalPtrInput is an input type that accepts ObservabilityInstanceAlertConfigGlobalArgs, ObservabilityInstanceAlertConfigGlobalPtr and ObservabilityInstanceAlertConfigGlobalPtrOutput values. +// You can construct a concrete instance of `ObservabilityInstanceAlertConfigGlobalPtrInput` via: // -// ObservabilityInstanceAlertConfigRouteRouteArray{ ObservabilityInstanceAlertConfigRouteRouteArgs{...} } -type ObservabilityInstanceAlertConfigRouteRouteArrayInput interface { +// ObservabilityInstanceAlertConfigGlobalArgs{...} +// +// or: +// +// nil +type ObservabilityInstanceAlertConfigGlobalPtrInput interface { pulumi.Input - ToObservabilityInstanceAlertConfigRouteRouteArrayOutput() ObservabilityInstanceAlertConfigRouteRouteArrayOutput - ToObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(context.Context) ObservabilityInstanceAlertConfigRouteRouteArrayOutput + ToObservabilityInstanceAlertConfigGlobalPtrOutput() ObservabilityInstanceAlertConfigGlobalPtrOutput + ToObservabilityInstanceAlertConfigGlobalPtrOutputWithContext(context.Context) ObservabilityInstanceAlertConfigGlobalPtrOutput } -type ObservabilityInstanceAlertConfigRouteRouteArray []ObservabilityInstanceAlertConfigRouteRouteInput +type observabilityInstanceAlertConfigGlobalPtrType ObservabilityInstanceAlertConfigGlobalArgs -func (ObservabilityInstanceAlertConfigRouteRouteArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() +func ObservabilityInstanceAlertConfigGlobalPtr(v *ObservabilityInstanceAlertConfigGlobalArgs) ObservabilityInstanceAlertConfigGlobalPtrInput { + return (*observabilityInstanceAlertConfigGlobalPtrType)(v) } -func (i ObservabilityInstanceAlertConfigRouteRouteArray) ToObservabilityInstanceAlertConfigRouteRouteArrayOutput() ObservabilityInstanceAlertConfigRouteRouteArrayOutput { - return i.ToObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(context.Background()) +func (*observabilityInstanceAlertConfigGlobalPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ObservabilityInstanceAlertConfigGlobal)(nil)).Elem() } -func (i ObservabilityInstanceAlertConfigRouteRouteArray) ToObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigRouteRouteArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigRouteRouteArrayOutput) +func (i *observabilityInstanceAlertConfigGlobalPtrType) ToObservabilityInstanceAlertConfigGlobalPtrOutput() ObservabilityInstanceAlertConfigGlobalPtrOutput { + return i.ToObservabilityInstanceAlertConfigGlobalPtrOutputWithContext(context.Background()) } -type ObservabilityInstanceAlertConfigRouteRouteOutput struct{ *pulumi.OutputState } +func (i *observabilityInstanceAlertConfigGlobalPtrType) ToObservabilityInstanceAlertConfigGlobalPtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigGlobalPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigGlobalPtrOutput) +} -func (ObservabilityInstanceAlertConfigRouteRouteOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() +type ObservabilityInstanceAlertConfigGlobalOutput struct{ *pulumi.OutputState } + +func (ObservabilityInstanceAlertConfigGlobalOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityInstanceAlertConfigGlobal)(nil)).Elem() } -func (o ObservabilityInstanceAlertConfigRouteRouteOutput) ToObservabilityInstanceAlertConfigRouteRouteOutput() ObservabilityInstanceAlertConfigRouteRouteOutput { +func (o ObservabilityInstanceAlertConfigGlobalOutput) ToObservabilityInstanceAlertConfigGlobalOutput() ObservabilityInstanceAlertConfigGlobalOutput { return o } -func (o ObservabilityInstanceAlertConfigRouteRouteOutput) ToObservabilityInstanceAlertConfigRouteRouteOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigRouteRouteOutput { +func (o ObservabilityInstanceAlertConfigGlobalOutput) ToObservabilityInstanceAlertConfigGlobalOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigGlobalOutput { return o } -// Whether an alert should continue matching subsequent sibling nodes. -func (o ObservabilityInstanceAlertConfigRouteRouteOutput) Continue() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigRouteRoute) *bool { return v.Continue }).(pulumi.BoolPtrOutput) +func (o ObservabilityInstanceAlertConfigGlobalOutput) ToObservabilityInstanceAlertConfigGlobalPtrOutput() ObservabilityInstanceAlertConfigGlobalPtrOutput { + return o.ToObservabilityInstanceAlertConfigGlobalPtrOutputWithContext(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 ObservabilityInstanceAlertConfigRouteRouteOutput) GroupBies() pulumi.StringArrayOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigRouteRoute) []string { return v.GroupBies }).(pulumi.StringArrayOutput) +func (o ObservabilityInstanceAlertConfigGlobalOutput) ToObservabilityInstanceAlertConfigGlobalPtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigGlobalPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ObservabilityInstanceAlertConfigGlobal) *ObservabilityInstanceAlertConfigGlobal { + return &v + }).(ObservabilityInstanceAlertConfigGlobalPtrOutput) } -// 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 ObservabilityInstanceAlertConfigRouteRouteOutput) GroupInterval() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigRouteRoute) *string { return v.GroupInterval }).(pulumi.StringPtrOutput) +// The API key for OpsGenie. +func (o ObservabilityInstanceAlertConfigGlobalOutput) OpsgenieApiKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigGlobal) *string { return v.OpsgenieApiKey }).(pulumi.StringPtrOutput) } -// 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 ObservabilityInstanceAlertConfigRouteRouteOutput) GroupWait() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigRouteRoute) *string { return v.GroupWait }).(pulumi.StringPtrOutput) +// The host to send OpsGenie API requests to. Must be a valid URL +func (o ObservabilityInstanceAlertConfigGlobalOutput) OpsgenieApiUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigGlobal) *string { return v.OpsgenieApiUrl }).(pulumi.StringPtrOutput) } -// 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 ObservabilityInstanceAlertConfigRouteRouteOutput) Match() pulumi.StringMapOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigRouteRoute) map[string]string { return v.Match }).(pulumi.StringMapOutput) +// 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 ObservabilityInstanceAlertConfigGlobalOutput) ResolveTimeout() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigGlobal) *string { return v.ResolveTimeout }).(pulumi.StringPtrOutput) } -// 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 ObservabilityInstanceAlertConfigRouteRouteOutput) MatchRegex() pulumi.StringMapOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigRouteRoute) map[string]string { return v.MatchRegex }).(pulumi.StringMapOutput) +// SMTP authentication information. Must be a valid email address +func (o ObservabilityInstanceAlertConfigGlobalOutput) SmtpAuthIdentity() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigGlobal) *string { return v.SmtpAuthIdentity }).(pulumi.StringPtrOutput) } -// 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 ObservabilityInstanceAlertConfigRouteRouteOutput) Matchers() pulumi.StringArrayOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigRouteRoute) []string { return v.Matchers }).(pulumi.StringArrayOutput) +// SMTP Auth using LOGIN and PLAIN. +func (o ObservabilityInstanceAlertConfigGlobalOutput) SmtpAuthPassword() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigGlobal) *string { return v.SmtpAuthPassword }).(pulumi.StringPtrOutput) } -// The name of the receiver to route the alerts to. -func (o ObservabilityInstanceAlertConfigRouteRouteOutput) Receiver() pulumi.StringOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigRouteRoute) string { return v.Receiver }).(pulumi.StringOutput) +// SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. +func (o ObservabilityInstanceAlertConfigGlobalOutput) SmtpAuthUsername() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigGlobal) *string { return v.SmtpAuthUsername }).(pulumi.StringPtrOutput) } -// 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 ObservabilityInstanceAlertConfigRouteRouteOutput) RepeatInterval() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityInstanceAlertConfigRouteRoute) *string { return v.RepeatInterval }).(pulumi.StringPtrOutput) +// The default SMTP From header field. Must be a valid email address +func (o ObservabilityInstanceAlertConfigGlobalOutput) SmtpFrom() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigGlobal) *string { return v.SmtpFrom }).(pulumi.StringPtrOutput) } -type ObservabilityInstanceAlertConfigRouteRouteArrayOutput struct{ *pulumi.OutputState } - -func (ObservabilityInstanceAlertConfigRouteRouteArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() +// The default SMTP smarthost used for sending emails, including port number in format `host:port` (eg. `smtp.example.com:587`). Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). +func (o ObservabilityInstanceAlertConfigGlobalOutput) SmtpSmartHost() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigGlobal) *string { return v.SmtpSmartHost }).(pulumi.StringPtrOutput) } -func (o ObservabilityInstanceAlertConfigRouteRouteArrayOutput) ToObservabilityInstanceAlertConfigRouteRouteArrayOutput() ObservabilityInstanceAlertConfigRouteRouteArrayOutput { - return o +type ObservabilityInstanceAlertConfigGlobalPtrOutput struct{ *pulumi.OutputState } + +func (ObservabilityInstanceAlertConfigGlobalPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ObservabilityInstanceAlertConfigGlobal)(nil)).Elem() } -func (o ObservabilityInstanceAlertConfigRouteRouteArrayOutput) ToObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigRouteRouteArrayOutput { +func (o ObservabilityInstanceAlertConfigGlobalPtrOutput) ToObservabilityInstanceAlertConfigGlobalPtrOutput() ObservabilityInstanceAlertConfigGlobalPtrOutput { return o } -func (o ObservabilityInstanceAlertConfigRouteRouteArrayOutput) Index(i pulumi.IntInput) ObservabilityInstanceAlertConfigRouteRouteOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ObservabilityInstanceAlertConfigRouteRoute { - return vs[0].([]ObservabilityInstanceAlertConfigRouteRoute)[vs[1].(int)] - }).(ObservabilityInstanceAlertConfigRouteRouteOutput) +func (o ObservabilityInstanceAlertConfigGlobalPtrOutput) ToObservabilityInstanceAlertConfigGlobalPtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigGlobalPtrOutput { + return o } -type ObservabilityLogalertgroupRule 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"` +func (o ObservabilityInstanceAlertConfigGlobalPtrOutput) Elem() ObservabilityInstanceAlertConfigGlobalOutput { + return o.ApplyT(func(v *ObservabilityInstanceAlertConfigGlobal) ObservabilityInstanceAlertConfigGlobal { + if v != nil { + return *v + } + var ret ObservabilityInstanceAlertConfigGlobal + return ret + }).(ObservabilityInstanceAlertConfigGlobalOutput) } -// ObservabilityLogalertgroupRuleInput is an input type that accepts ObservabilityLogalertgroupRuleArgs and ObservabilityLogalertgroupRuleOutput values. -// You can construct a concrete instance of `ObservabilityLogalertgroupRuleInput` via: -// -// ObservabilityLogalertgroupRuleArgs{...} -type ObservabilityLogalertgroupRuleInput interface { - pulumi.Input - - ToObservabilityLogalertgroupRuleOutput() ObservabilityLogalertgroupRuleOutput - ToObservabilityLogalertgroupRuleOutputWithContext(context.Context) ObservabilityLogalertgroupRuleOutput +// The API key for OpsGenie. +func (o ObservabilityInstanceAlertConfigGlobalPtrOutput) OpsgenieApiKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ObservabilityInstanceAlertConfigGlobal) *string { + if v == nil { + return nil + } + return v.OpsgenieApiKey + }).(pulumi.StringPtrOutput) } -type ObservabilityLogalertgroupRuleArgs 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.StringPtrInput `pulumi:"for"` - // A map of key:value. Labels to add or overwrite for each alert - Labels pulumi.StringMapInput `pulumi:"labels"` +// The host to send OpsGenie API requests to. Must be a valid URL +func (o ObservabilityInstanceAlertConfigGlobalPtrOutput) OpsgenieApiUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ObservabilityInstanceAlertConfigGlobal) *string { + if v == nil { + return nil + } + return v.OpsgenieApiUrl + }).(pulumi.StringPtrOutput) } -func (ObservabilityLogalertgroupRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityLogalertgroupRule)(nil)).Elem() +// 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 ObservabilityInstanceAlertConfigGlobalPtrOutput) ResolveTimeout() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ObservabilityInstanceAlertConfigGlobal) *string { + if v == nil { + return nil + } + return v.ResolveTimeout + }).(pulumi.StringPtrOutput) } -func (i ObservabilityLogalertgroupRuleArgs) ToObservabilityLogalertgroupRuleOutput() ObservabilityLogalertgroupRuleOutput { - return i.ToObservabilityLogalertgroupRuleOutputWithContext(context.Background()) +// SMTP authentication information. Must be a valid email address +func (o ObservabilityInstanceAlertConfigGlobalPtrOutput) SmtpAuthIdentity() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ObservabilityInstanceAlertConfigGlobal) *string { + if v == nil { + return nil + } + return v.SmtpAuthIdentity + }).(pulumi.StringPtrOutput) } -func (i ObservabilityLogalertgroupRuleArgs) ToObservabilityLogalertgroupRuleOutputWithContext(ctx context.Context) ObservabilityLogalertgroupRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityLogalertgroupRuleOutput) +// SMTP Auth using LOGIN and PLAIN. +func (o ObservabilityInstanceAlertConfigGlobalPtrOutput) SmtpAuthPassword() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ObservabilityInstanceAlertConfigGlobal) *string { + if v == nil { + return nil + } + return v.SmtpAuthPassword + }).(pulumi.StringPtrOutput) } -// ObservabilityLogalertgroupRuleArrayInput is an input type that accepts ObservabilityLogalertgroupRuleArray and ObservabilityLogalertgroupRuleArrayOutput values. -// You can construct a concrete instance of `ObservabilityLogalertgroupRuleArrayInput` via: -// -// ObservabilityLogalertgroupRuleArray{ ObservabilityLogalertgroupRuleArgs{...} } -type ObservabilityLogalertgroupRuleArrayInput interface { - pulumi.Input - - ToObservabilityLogalertgroupRuleArrayOutput() ObservabilityLogalertgroupRuleArrayOutput - ToObservabilityLogalertgroupRuleArrayOutputWithContext(context.Context) ObservabilityLogalertgroupRuleArrayOutput +// SMTP Auth using CRAM-MD5, LOGIN and PLAIN. If empty, Alertmanager doesn't authenticate to the SMTP server. +func (o ObservabilityInstanceAlertConfigGlobalPtrOutput) SmtpAuthUsername() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ObservabilityInstanceAlertConfigGlobal) *string { + if v == nil { + return nil + } + return v.SmtpAuthUsername + }).(pulumi.StringPtrOutput) } -type ObservabilityLogalertgroupRuleArray []ObservabilityLogalertgroupRuleInput - -func (ObservabilityLogalertgroupRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ObservabilityLogalertgroupRule)(nil)).Elem() +// The default SMTP From header field. Must be a valid email address +func (o ObservabilityInstanceAlertConfigGlobalPtrOutput) SmtpFrom() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ObservabilityInstanceAlertConfigGlobal) *string { + if v == nil { + return nil + } + return v.SmtpFrom + }).(pulumi.StringPtrOutput) } -func (i ObservabilityLogalertgroupRuleArray) ToObservabilityLogalertgroupRuleArrayOutput() ObservabilityLogalertgroupRuleArrayOutput { - return i.ToObservabilityLogalertgroupRuleArrayOutputWithContext(context.Background()) +// The default SMTP smarthost used for sending emails, including port number in format `host:port` (eg. `smtp.example.com:587`). Port number usually is 25, or 587 for SMTP over TLS (sometimes referred to as STARTTLS). +func (o ObservabilityInstanceAlertConfigGlobalPtrOutput) SmtpSmartHost() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ObservabilityInstanceAlertConfigGlobal) *string { + if v == nil { + return nil + } + return v.SmtpSmartHost + }).(pulumi.StringPtrOutput) } -func (i ObservabilityLogalertgroupRuleArray) ToObservabilityLogalertgroupRuleArrayOutputWithContext(ctx context.Context) ObservabilityLogalertgroupRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityLogalertgroupRuleArrayOutput) +type ObservabilityInstanceAlertConfigReceiver struct { + // List of email configurations. + EmailConfigs []ObservabilityInstanceAlertConfigReceiverEmailConfig `pulumi:"emailConfigs"` + // Name of the receiver. + Name string `pulumi:"name"` + // List of OpsGenie configurations. + OpsgenieConfigs []ObservabilityInstanceAlertConfigReceiverOpsgenieConfig `pulumi:"opsgenieConfigs"` + // List of Webhooks configurations. + WebhooksConfigs []ObservabilityInstanceAlertConfigReceiverWebhooksConfig `pulumi:"webhooksConfigs"` } -type ObservabilityLogalertgroupRuleOutput struct{ *pulumi.OutputState } +// ObservabilityInstanceAlertConfigReceiverInput is an input type that accepts ObservabilityInstanceAlertConfigReceiverArgs and ObservabilityInstanceAlertConfigReceiverOutput values. +// You can construct a concrete instance of `ObservabilityInstanceAlertConfigReceiverInput` via: +// +// ObservabilityInstanceAlertConfigReceiverArgs{...} +type ObservabilityInstanceAlertConfigReceiverInput interface { + pulumi.Input -func (ObservabilityLogalertgroupRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityLogalertgroupRule)(nil)).Elem() + ToObservabilityInstanceAlertConfigReceiverOutput() ObservabilityInstanceAlertConfigReceiverOutput + ToObservabilityInstanceAlertConfigReceiverOutputWithContext(context.Context) ObservabilityInstanceAlertConfigReceiverOutput } -func (o ObservabilityLogalertgroupRuleOutput) ToObservabilityLogalertgroupRuleOutput() ObservabilityLogalertgroupRuleOutput { - return o +type ObservabilityInstanceAlertConfigReceiverArgs struct { + // List of email configurations. + EmailConfigs ObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput `pulumi:"emailConfigs"` + // Name of the receiver. + Name pulumi.StringInput `pulumi:"name"` + // List of OpsGenie configurations. + OpsgenieConfigs ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput `pulumi:"opsgenieConfigs"` + // List of Webhooks configurations. + WebhooksConfigs ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput `pulumi:"webhooksConfigs"` } -func (o ObservabilityLogalertgroupRuleOutput) ToObservabilityLogalertgroupRuleOutputWithContext(ctx context.Context) ObservabilityLogalertgroupRuleOutput { - return o +func (ObservabilityInstanceAlertConfigReceiverArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityInstanceAlertConfigReceiver)(nil)).Elem() } -// The name of the alert rule. Is the identifier and must be unique in the group. -func (o ObservabilityLogalertgroupRuleOutput) Alert() pulumi.StringOutput { - return o.ApplyT(func(v ObservabilityLogalertgroupRule) string { return v.Alert }).(pulumi.StringOutput) +func (i ObservabilityInstanceAlertConfigReceiverArgs) ToObservabilityInstanceAlertConfigReceiverOutput() ObservabilityInstanceAlertConfigReceiverOutput { + return i.ToObservabilityInstanceAlertConfigReceiverOutputWithContext(context.Background()) } -// A map of key:value. Annotations to add or overwrite for each alert -func (o ObservabilityLogalertgroupRuleOutput) Annotations() pulumi.StringMapOutput { - return o.ApplyT(func(v ObservabilityLogalertgroupRule) map[string]string { return v.Annotations }).(pulumi.StringMapOutput) +func (i ObservabilityInstanceAlertConfigReceiverArgs) ToObservabilityInstanceAlertConfigReceiverOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigReceiverOutput) } -// 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 ObservabilityLogalertgroupRuleOutput) Expression() pulumi.StringOutput { - return o.ApplyT(func(v ObservabilityLogalertgroupRule) string { return v.Expression }).(pulumi.StringOutput) +// ObservabilityInstanceAlertConfigReceiverArrayInput is an input type that accepts ObservabilityInstanceAlertConfigReceiverArray and ObservabilityInstanceAlertConfigReceiverArrayOutput values. +// You can construct a concrete instance of `ObservabilityInstanceAlertConfigReceiverArrayInput` via: +// +// ObservabilityInstanceAlertConfigReceiverArray{ ObservabilityInstanceAlertConfigReceiverArgs{...} } +type ObservabilityInstanceAlertConfigReceiverArrayInput interface { + pulumi.Input + + ToObservabilityInstanceAlertConfigReceiverArrayOutput() ObservabilityInstanceAlertConfigReceiverArrayOutput + ToObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(context.Context) ObservabilityInstanceAlertConfigReceiverArrayOutput } -// 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 ObservabilityLogalertgroupRuleOutput) For() pulumi.StringPtrOutput { - return o.ApplyT(func(v ObservabilityLogalertgroupRule) *string { return v.For }).(pulumi.StringPtrOutput) +type ObservabilityInstanceAlertConfigReceiverArray []ObservabilityInstanceAlertConfigReceiverInput + +func (ObservabilityInstanceAlertConfigReceiverArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ObservabilityInstanceAlertConfigReceiver)(nil)).Elem() } -// A map of key:value. Labels to add or overwrite for each alert -func (o ObservabilityLogalertgroupRuleOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v ObservabilityLogalertgroupRule) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +func (i ObservabilityInstanceAlertConfigReceiverArray) ToObservabilityInstanceAlertConfigReceiverArrayOutput() ObservabilityInstanceAlertConfigReceiverArrayOutput { + return i.ToObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(context.Background()) } -type ObservabilityLogalertgroupRuleArrayOutput struct{ *pulumi.OutputState } +func (i ObservabilityInstanceAlertConfigReceiverArray) ToObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigReceiverArrayOutput) +} -func (ObservabilityLogalertgroupRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ObservabilityLogalertgroupRule)(nil)).Elem() +type ObservabilityInstanceAlertConfigReceiverOutput struct{ *pulumi.OutputState } + +func (ObservabilityInstanceAlertConfigReceiverOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityInstanceAlertConfigReceiver)(nil)).Elem() } -func (o ObservabilityLogalertgroupRuleArrayOutput) ToObservabilityLogalertgroupRuleArrayOutput() ObservabilityLogalertgroupRuleArrayOutput { +func (o ObservabilityInstanceAlertConfigReceiverOutput) ToObservabilityInstanceAlertConfigReceiverOutput() ObservabilityInstanceAlertConfigReceiverOutput { return o } -func (o ObservabilityLogalertgroupRuleArrayOutput) ToObservabilityLogalertgroupRuleArrayOutputWithContext(ctx context.Context) ObservabilityLogalertgroupRuleArrayOutput { +func (o ObservabilityInstanceAlertConfigReceiverOutput) ToObservabilityInstanceAlertConfigReceiverOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverOutput { return o } -func (o ObservabilityLogalertgroupRuleArrayOutput) Index(i pulumi.IntInput) ObservabilityLogalertgroupRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ObservabilityLogalertgroupRule { - return vs[0].([]ObservabilityLogalertgroupRule)[vs[1].(int)] - }).(ObservabilityLogalertgroupRuleOutput) +// List of email configurations. +func (o ObservabilityInstanceAlertConfigReceiverOutput) EmailConfigs() ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiver) []ObservabilityInstanceAlertConfigReceiverEmailConfig { + return v.EmailConfigs + }).(ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) } -type ObservabilityScrapeconfigBasicAuth struct { - // Specifies basic auth password. - Password string `pulumi:"password"` - // Specifies basic auth username. - Username string `pulumi:"username"` +// Name of the receiver. +func (o ObservabilityInstanceAlertConfigReceiverOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiver) string { return v.Name }).(pulumi.StringOutput) } -// ObservabilityScrapeconfigBasicAuthInput is an input type that accepts ObservabilityScrapeconfigBasicAuthArgs and ObservabilityScrapeconfigBasicAuthOutput values. -// You can construct a concrete instance of `ObservabilityScrapeconfigBasicAuthInput` via: -// -// ObservabilityScrapeconfigBasicAuthArgs{...} -type ObservabilityScrapeconfigBasicAuthInput interface { - pulumi.Input - - ToObservabilityScrapeconfigBasicAuthOutput() ObservabilityScrapeconfigBasicAuthOutput - ToObservabilityScrapeconfigBasicAuthOutputWithContext(context.Context) ObservabilityScrapeconfigBasicAuthOutput +// List of OpsGenie configurations. +func (o ObservabilityInstanceAlertConfigReceiverOutput) OpsgenieConfigs() ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiver) []ObservabilityInstanceAlertConfigReceiverOpsgenieConfig { + return v.OpsgenieConfigs + }).(ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) } -type ObservabilityScrapeconfigBasicAuthArgs struct { - // Specifies basic auth password. - Password pulumi.StringInput `pulumi:"password"` - // Specifies basic auth username. - Username pulumi.StringInput `pulumi:"username"` +// List of Webhooks configurations. +func (o ObservabilityInstanceAlertConfigReceiverOutput) WebhooksConfigs() ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiver) []ObservabilityInstanceAlertConfigReceiverWebhooksConfig { + return v.WebhooksConfigs + }).(ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) } -func (ObservabilityScrapeconfigBasicAuthArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityScrapeconfigBasicAuth)(nil)).Elem() +type ObservabilityInstanceAlertConfigReceiverArrayOutput struct{ *pulumi.OutputState } + +func (ObservabilityInstanceAlertConfigReceiverArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ObservabilityInstanceAlertConfigReceiver)(nil)).Elem() } -func (i ObservabilityScrapeconfigBasicAuthArgs) ToObservabilityScrapeconfigBasicAuthOutput() ObservabilityScrapeconfigBasicAuthOutput { - return i.ToObservabilityScrapeconfigBasicAuthOutputWithContext(context.Background()) +func (o ObservabilityInstanceAlertConfigReceiverArrayOutput) ToObservabilityInstanceAlertConfigReceiverArrayOutput() ObservabilityInstanceAlertConfigReceiverArrayOutput { + return o } -func (i ObservabilityScrapeconfigBasicAuthArgs) ToObservabilityScrapeconfigBasicAuthOutputWithContext(ctx context.Context) ObservabilityScrapeconfigBasicAuthOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityScrapeconfigBasicAuthOutput) +func (o ObservabilityInstanceAlertConfigReceiverArrayOutput) ToObservabilityInstanceAlertConfigReceiverArrayOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverArrayOutput { + return o } -func (i ObservabilityScrapeconfigBasicAuthArgs) ToObservabilityScrapeconfigBasicAuthPtrOutput() ObservabilityScrapeconfigBasicAuthPtrOutput { - return i.ToObservabilityScrapeconfigBasicAuthPtrOutputWithContext(context.Background()) +func (o ObservabilityInstanceAlertConfigReceiverArrayOutput) Index(i pulumi.IntInput) ObservabilityInstanceAlertConfigReceiverOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ObservabilityInstanceAlertConfigReceiver { + return vs[0].([]ObservabilityInstanceAlertConfigReceiver)[vs[1].(int)] + }).(ObservabilityInstanceAlertConfigReceiverOutput) } -func (i ObservabilityScrapeconfigBasicAuthArgs) ToObservabilityScrapeconfigBasicAuthPtrOutputWithContext(ctx context.Context) ObservabilityScrapeconfigBasicAuthPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityScrapeconfigBasicAuthOutput).ToObservabilityScrapeconfigBasicAuthPtrOutputWithContext(ctx) +type ObservabilityInstanceAlertConfigReceiverEmailConfig 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"` } -// ObservabilityScrapeconfigBasicAuthPtrInput is an input type that accepts ObservabilityScrapeconfigBasicAuthArgs, ObservabilityScrapeconfigBasicAuthPtr and ObservabilityScrapeconfigBasicAuthPtrOutput values. -// You can construct a concrete instance of `ObservabilityScrapeconfigBasicAuthPtrInput` via: -// -// ObservabilityScrapeconfigBasicAuthArgs{...} -// -// or: +// ObservabilityInstanceAlertConfigReceiverEmailConfigInput is an input type that accepts ObservabilityInstanceAlertConfigReceiverEmailConfigArgs and ObservabilityInstanceAlertConfigReceiverEmailConfigOutput values. +// You can construct a concrete instance of `ObservabilityInstanceAlertConfigReceiverEmailConfigInput` via: // -// nil -type ObservabilityScrapeconfigBasicAuthPtrInput interface { +// ObservabilityInstanceAlertConfigReceiverEmailConfigArgs{...} +type ObservabilityInstanceAlertConfigReceiverEmailConfigInput interface { pulumi.Input - ToObservabilityScrapeconfigBasicAuthPtrOutput() ObservabilityScrapeconfigBasicAuthPtrOutput - ToObservabilityScrapeconfigBasicAuthPtrOutputWithContext(context.Context) ObservabilityScrapeconfigBasicAuthPtrOutput -} - -type observabilityScrapeconfigBasicAuthPtrType ObservabilityScrapeconfigBasicAuthArgs - -func ObservabilityScrapeconfigBasicAuthPtr(v *ObservabilityScrapeconfigBasicAuthArgs) ObservabilityScrapeconfigBasicAuthPtrInput { - return (*observabilityScrapeconfigBasicAuthPtrType)(v) + ToObservabilityInstanceAlertConfigReceiverEmailConfigOutput() ObservabilityInstanceAlertConfigReceiverEmailConfigOutput + ToObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(context.Context) ObservabilityInstanceAlertConfigReceiverEmailConfigOutput } -func (*observabilityScrapeconfigBasicAuthPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ObservabilityScrapeconfigBasicAuth)(nil)).Elem() +type ObservabilityInstanceAlertConfigReceiverEmailConfigArgs struct { + // SMTP authentication information. Must be a valid email address + AuthIdentity pulumi.StringPtrInput `pulumi:"authIdentity"` + // SMTP authentication password. + AuthPassword pulumi.StringPtrInput `pulumi:"authPassword"` + // SMTP authentication username. + AuthUsername pulumi.StringPtrInput `pulumi:"authUsername"` + // The sender email address. Must be a valid email address + From pulumi.StringPtrInput `pulumi:"from"` + // Whether to notify about resolved alerts. + SendResolved pulumi.BoolPtrInput `pulumi:"sendResolved"` + // The SMTP host through which emails are sent. + SmartHost pulumi.StringPtrInput `pulumi:"smartHost"` + // The email address to send notifications to. Must be a valid email address + To pulumi.StringPtrInput `pulumi:"to"` } -func (i *observabilityScrapeconfigBasicAuthPtrType) ToObservabilityScrapeconfigBasicAuthPtrOutput() ObservabilityScrapeconfigBasicAuthPtrOutput { - return i.ToObservabilityScrapeconfigBasicAuthPtrOutputWithContext(context.Background()) +func (ObservabilityInstanceAlertConfigReceiverEmailConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() } -func (i *observabilityScrapeconfigBasicAuthPtrType) ToObservabilityScrapeconfigBasicAuthPtrOutputWithContext(ctx context.Context) ObservabilityScrapeconfigBasicAuthPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityScrapeconfigBasicAuthPtrOutput) +func (i ObservabilityInstanceAlertConfigReceiverEmailConfigArgs) ToObservabilityInstanceAlertConfigReceiverEmailConfigOutput() ObservabilityInstanceAlertConfigReceiverEmailConfigOutput { + return i.ToObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(context.Background()) } -type ObservabilityScrapeconfigBasicAuthOutput struct{ *pulumi.OutputState } - -func (ObservabilityScrapeconfigBasicAuthOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityScrapeconfigBasicAuth)(nil)).Elem() +func (i ObservabilityInstanceAlertConfigReceiverEmailConfigArgs) ToObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverEmailConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) } -func (o ObservabilityScrapeconfigBasicAuthOutput) ToObservabilityScrapeconfigBasicAuthOutput() ObservabilityScrapeconfigBasicAuthOutput { - return o -} +// ObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput is an input type that accepts ObservabilityInstanceAlertConfigReceiverEmailConfigArray and ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput values. +// You can construct a concrete instance of `ObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput` via: +// +// ObservabilityInstanceAlertConfigReceiverEmailConfigArray{ ObservabilityInstanceAlertConfigReceiverEmailConfigArgs{...} } +type ObservabilityInstanceAlertConfigReceiverEmailConfigArrayInput interface { + pulumi.Input -func (o ObservabilityScrapeconfigBasicAuthOutput) ToObservabilityScrapeconfigBasicAuthOutputWithContext(ctx context.Context) ObservabilityScrapeconfigBasicAuthOutput { - return o + ToObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput() ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput + ToObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(context.Context) ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput } -func (o ObservabilityScrapeconfigBasicAuthOutput) ToObservabilityScrapeconfigBasicAuthPtrOutput() ObservabilityScrapeconfigBasicAuthPtrOutput { - return o.ToObservabilityScrapeconfigBasicAuthPtrOutputWithContext(context.Background()) -} +type ObservabilityInstanceAlertConfigReceiverEmailConfigArray []ObservabilityInstanceAlertConfigReceiverEmailConfigInput -func (o ObservabilityScrapeconfigBasicAuthOutput) ToObservabilityScrapeconfigBasicAuthPtrOutputWithContext(ctx context.Context) ObservabilityScrapeconfigBasicAuthPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ObservabilityScrapeconfigBasicAuth) *ObservabilityScrapeconfigBasicAuth { - return &v - }).(ObservabilityScrapeconfigBasicAuthPtrOutput) +func (ObservabilityInstanceAlertConfigReceiverEmailConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() } -// Specifies basic auth password. -func (o ObservabilityScrapeconfigBasicAuthOutput) Password() pulumi.StringOutput { - return o.ApplyT(func(v ObservabilityScrapeconfigBasicAuth) string { return v.Password }).(pulumi.StringOutput) +func (i ObservabilityInstanceAlertConfigReceiverEmailConfigArray) ToObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput() ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { + return i.ToObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(context.Background()) } -// Specifies basic auth username. -func (o ObservabilityScrapeconfigBasicAuthOutput) Username() pulumi.StringOutput { - return o.ApplyT(func(v ObservabilityScrapeconfigBasicAuth) string { return v.Username }).(pulumi.StringOutput) +func (i ObservabilityInstanceAlertConfigReceiverEmailConfigArray) ToObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) } -type ObservabilityScrapeconfigBasicAuthPtrOutput struct{ *pulumi.OutputState } +type ObservabilityInstanceAlertConfigReceiverEmailConfigOutput struct{ *pulumi.OutputState } -func (ObservabilityScrapeconfigBasicAuthPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ObservabilityScrapeconfigBasicAuth)(nil)).Elem() +func (ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() } -func (o ObservabilityScrapeconfigBasicAuthPtrOutput) ToObservabilityScrapeconfigBasicAuthPtrOutput() ObservabilityScrapeconfigBasicAuthPtrOutput { +func (o ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) ToObservabilityInstanceAlertConfigReceiverEmailConfigOutput() ObservabilityInstanceAlertConfigReceiverEmailConfigOutput { return o } -func (o ObservabilityScrapeconfigBasicAuthPtrOutput) ToObservabilityScrapeconfigBasicAuthPtrOutputWithContext(ctx context.Context) ObservabilityScrapeconfigBasicAuthPtrOutput { +func (o ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) ToObservabilityInstanceAlertConfigReceiverEmailConfigOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverEmailConfigOutput { return o } -func (o ObservabilityScrapeconfigBasicAuthPtrOutput) Elem() ObservabilityScrapeconfigBasicAuthOutput { - return o.ApplyT(func(v *ObservabilityScrapeconfigBasicAuth) ObservabilityScrapeconfigBasicAuth { - if v != nil { - return *v - } - var ret ObservabilityScrapeconfigBasicAuth - return ret - }).(ObservabilityScrapeconfigBasicAuthOutput) +// SMTP authentication information. Must be a valid email address +func (o ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) AuthIdentity() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverEmailConfig) *string { return v.AuthIdentity }).(pulumi.StringPtrOutput) } -// Specifies basic auth password. -func (o ObservabilityScrapeconfigBasicAuthPtrOutput) Password() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ObservabilityScrapeconfigBasicAuth) *string { - if v == nil { - return nil - } - return &v.Password - }).(pulumi.StringPtrOutput) +// SMTP authentication password. +func (o ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) AuthPassword() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverEmailConfig) *string { return v.AuthPassword }).(pulumi.StringPtrOutput) } -// Specifies basic auth username. -func (o ObservabilityScrapeconfigBasicAuthPtrOutput) Username() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ObservabilityScrapeconfigBasicAuth) *string { - if v == nil { - return nil - } - return &v.Username - }).(pulumi.StringPtrOutput) +// SMTP authentication username. +func (o ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) AuthUsername() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverEmailConfig) *string { return v.AuthUsername }).(pulumi.StringPtrOutput) } -type ObservabilityScrapeconfigSaml2 struct { - // Specifies if URL parameters are enabled. Defaults to `true` - EnableUrlParameters *bool `pulumi:"enableUrlParameters"` +// The sender email address. Must be a valid email address +func (o ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) From() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverEmailConfig) *string { return v.From }).(pulumi.StringPtrOutput) } -// ObservabilityScrapeconfigSaml2Input is an input type that accepts ObservabilityScrapeconfigSaml2Args and ObservabilityScrapeconfigSaml2Output values. -// You can construct a concrete instance of `ObservabilityScrapeconfigSaml2Input` via: -// -// ObservabilityScrapeconfigSaml2Args{...} -type ObservabilityScrapeconfigSaml2Input interface { - pulumi.Input +// Whether to notify about resolved alerts. +func (o ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) SendResolved() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverEmailConfig) *bool { return v.SendResolved }).(pulumi.BoolPtrOutput) +} - ToObservabilityScrapeconfigSaml2Output() ObservabilityScrapeconfigSaml2Output - ToObservabilityScrapeconfigSaml2OutputWithContext(context.Context) ObservabilityScrapeconfigSaml2Output +// The SMTP host through which emails are sent. +func (o ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) SmartHost() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverEmailConfig) *string { return v.SmartHost }).(pulumi.StringPtrOutput) } -type ObservabilityScrapeconfigSaml2Args struct { - // Specifies if URL parameters are enabled. Defaults to `true` - EnableUrlParameters pulumi.BoolPtrInput `pulumi:"enableUrlParameters"` +// The email address to send notifications to. Must be a valid email address +func (o ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) To() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverEmailConfig) *string { return v.To }).(pulumi.StringPtrOutput) } -func (ObservabilityScrapeconfigSaml2Args) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityScrapeconfigSaml2)(nil)).Elem() +type ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput struct{ *pulumi.OutputState } + +func (ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ObservabilityInstanceAlertConfigReceiverEmailConfig)(nil)).Elem() } -func (i ObservabilityScrapeconfigSaml2Args) ToObservabilityScrapeconfigSaml2Output() ObservabilityScrapeconfigSaml2Output { - return i.ToObservabilityScrapeconfigSaml2OutputWithContext(context.Background()) +func (o ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) ToObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput() ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { + return o } -func (i ObservabilityScrapeconfigSaml2Args) ToObservabilityScrapeconfigSaml2OutputWithContext(ctx context.Context) ObservabilityScrapeconfigSaml2Output { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityScrapeconfigSaml2Output) +func (o ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) ToObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput { + return o } -func (i ObservabilityScrapeconfigSaml2Args) ToObservabilityScrapeconfigSaml2PtrOutput() ObservabilityScrapeconfigSaml2PtrOutput { - return i.ToObservabilityScrapeconfigSaml2PtrOutputWithContext(context.Background()) +func (o ObservabilityInstanceAlertConfigReceiverEmailConfigArrayOutput) Index(i pulumi.IntInput) ObservabilityInstanceAlertConfigReceiverEmailConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ObservabilityInstanceAlertConfigReceiverEmailConfig { + return vs[0].([]ObservabilityInstanceAlertConfigReceiverEmailConfig)[vs[1].(int)] + }).(ObservabilityInstanceAlertConfigReceiverEmailConfigOutput) } -func (i ObservabilityScrapeconfigSaml2Args) ToObservabilityScrapeconfigSaml2PtrOutputWithContext(ctx context.Context) ObservabilityScrapeconfigSaml2PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityScrapeconfigSaml2Output).ToObservabilityScrapeconfigSaml2PtrOutputWithContext(ctx) +type ObservabilityInstanceAlertConfigReceiverOpsgenieConfig 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"` } -// ObservabilityScrapeconfigSaml2PtrInput is an input type that accepts ObservabilityScrapeconfigSaml2Args, ObservabilityScrapeconfigSaml2Ptr and ObservabilityScrapeconfigSaml2PtrOutput values. -// You can construct a concrete instance of `ObservabilityScrapeconfigSaml2PtrInput` via: -// -// ObservabilityScrapeconfigSaml2Args{...} -// -// or: +// ObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput is an input type that accepts ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs and ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput values. +// You can construct a concrete instance of `ObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput` via: // -// nil -type ObservabilityScrapeconfigSaml2PtrInput interface { +// ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs{...} +type ObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput interface { pulumi.Input - ToObservabilityScrapeconfigSaml2PtrOutput() ObservabilityScrapeconfigSaml2PtrOutput - ToObservabilityScrapeconfigSaml2PtrOutputWithContext(context.Context) ObservabilityScrapeconfigSaml2PtrOutput + ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput() ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput + ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(context.Context) ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput } -type observabilityScrapeconfigSaml2PtrType ObservabilityScrapeconfigSaml2Args - -func ObservabilityScrapeconfigSaml2Ptr(v *ObservabilityScrapeconfigSaml2Args) ObservabilityScrapeconfigSaml2PtrInput { - return (*observabilityScrapeconfigSaml2PtrType)(v) +type ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs struct { + // The API key for OpsGenie. + ApiKey pulumi.StringPtrInput `pulumi:"apiKey"` + // The host to send OpsGenie API requests to. Must be a valid URL + ApiUrl pulumi.StringPtrInput `pulumi:"apiUrl"` + // Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`. + Priority pulumi.StringPtrInput `pulumi:"priority"` + // Whether to notify about resolved alerts. + SendResolved pulumi.BoolPtrInput `pulumi:"sendResolved"` + // Comma separated list of tags attached to the notifications. + Tags pulumi.StringPtrInput `pulumi:"tags"` } -func (*observabilityScrapeconfigSaml2PtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ObservabilityScrapeconfigSaml2)(nil)).Elem() +func (ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() } -func (i *observabilityScrapeconfigSaml2PtrType) ToObservabilityScrapeconfigSaml2PtrOutput() ObservabilityScrapeconfigSaml2PtrOutput { - return i.ToObservabilityScrapeconfigSaml2PtrOutputWithContext(context.Background()) +func (i ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs) ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput() ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { + return i.ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(context.Background()) } -func (i *observabilityScrapeconfigSaml2PtrType) ToObservabilityScrapeconfigSaml2PtrOutputWithContext(ctx context.Context) ObservabilityScrapeconfigSaml2PtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityScrapeconfigSaml2PtrOutput) +func (i ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs) ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) } -type ObservabilityScrapeconfigSaml2Output struct{ *pulumi.OutputState } +// ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput is an input type that accepts ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray and ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput values. +// You can construct a concrete instance of `ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput` via: +// +// ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray{ ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs{...} } +type ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayInput interface { + pulumi.Input -func (ObservabilityScrapeconfigSaml2Output) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityScrapeconfigSaml2)(nil)).Elem() + ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput() ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput + ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(context.Context) ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput } -func (o ObservabilityScrapeconfigSaml2Output) ToObservabilityScrapeconfigSaml2Output() ObservabilityScrapeconfigSaml2Output { +type ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray []ObservabilityInstanceAlertConfigReceiverOpsgenieConfigInput + +func (ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() +} + +func (i ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray) ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput() ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { + return i.ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(context.Background()) +} + +func (i ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArray) ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) +} + +type ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput struct{ *pulumi.OutputState } + +func (ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() +} + +func (o ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput() ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { return o } -func (o ObservabilityScrapeconfigSaml2Output) ToObservabilityScrapeconfigSaml2OutputWithContext(ctx context.Context) ObservabilityScrapeconfigSaml2Output { +func (o ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { return o } -func (o ObservabilityScrapeconfigSaml2Output) ToObservabilityScrapeconfigSaml2PtrOutput() ObservabilityScrapeconfigSaml2PtrOutput { - return o.ToObservabilityScrapeconfigSaml2PtrOutputWithContext(context.Background()) +// The API key for OpsGenie. +func (o ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ApiKey() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverOpsgenieConfig) *string { return v.ApiKey }).(pulumi.StringPtrOutput) } -func (o ObservabilityScrapeconfigSaml2Output) ToObservabilityScrapeconfigSaml2PtrOutputWithContext(ctx context.Context) ObservabilityScrapeconfigSaml2PtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ObservabilityScrapeconfigSaml2) *ObservabilityScrapeconfigSaml2 { - return &v - }).(ObservabilityScrapeconfigSaml2PtrOutput) +// The host to send OpsGenie API requests to. Must be a valid URL +func (o ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) ApiUrl() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverOpsgenieConfig) *string { return v.ApiUrl }).(pulumi.StringPtrOutput) } -// Specifies if URL parameters are enabled. Defaults to `true` -func (o ObservabilityScrapeconfigSaml2Output) EnableUrlParameters() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ObservabilityScrapeconfigSaml2) *bool { return v.EnableUrlParameters }).(pulumi.BoolPtrOutput) +// Priority of the alert. Possible values are: `P1`, `P2`, `P3`, `P4`, `P5`. +func (o ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) Priority() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverOpsgenieConfig) *string { return v.Priority }).(pulumi.StringPtrOutput) } -type ObservabilityScrapeconfigSaml2PtrOutput struct{ *pulumi.OutputState } +// Whether to notify about resolved alerts. +func (o ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) SendResolved() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverOpsgenieConfig) *bool { return v.SendResolved }).(pulumi.BoolPtrOutput) +} -func (ObservabilityScrapeconfigSaml2PtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ObservabilityScrapeconfigSaml2)(nil)).Elem() +// Comma separated list of tags attached to the notifications. +func (o ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) Tags() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverOpsgenieConfig) *string { return v.Tags }).(pulumi.StringPtrOutput) } -func (o ObservabilityScrapeconfigSaml2PtrOutput) ToObservabilityScrapeconfigSaml2PtrOutput() ObservabilityScrapeconfigSaml2PtrOutput { - return o +type ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput struct{ *pulumi.OutputState } + +func (ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ObservabilityInstanceAlertConfigReceiverOpsgenieConfig)(nil)).Elem() } -func (o ObservabilityScrapeconfigSaml2PtrOutput) ToObservabilityScrapeconfigSaml2PtrOutputWithContext(ctx context.Context) ObservabilityScrapeconfigSaml2PtrOutput { +func (o ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput() ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { return o } -func (o ObservabilityScrapeconfigSaml2PtrOutput) Elem() ObservabilityScrapeconfigSaml2Output { - return o.ApplyT(func(v *ObservabilityScrapeconfigSaml2) ObservabilityScrapeconfigSaml2 { - if v != nil { - return *v - } - var ret ObservabilityScrapeconfigSaml2 - return ret - }).(ObservabilityScrapeconfigSaml2Output) +func (o ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) ToObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput { + return o } -// Specifies if URL parameters are enabled. Defaults to `true` -func (o ObservabilityScrapeconfigSaml2PtrOutput) EnableUrlParameters() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ObservabilityScrapeconfigSaml2) *bool { - if v == nil { - return nil - } - return v.EnableUrlParameters - }).(pulumi.BoolPtrOutput) +func (o ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArrayOutput) Index(i pulumi.IntInput) ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ObservabilityInstanceAlertConfigReceiverOpsgenieConfig { + return vs[0].([]ObservabilityInstanceAlertConfigReceiverOpsgenieConfig)[vs[1].(int)] + }).(ObservabilityInstanceAlertConfigReceiverOpsgenieConfigOutput) } -type ObservabilityScrapeconfigTarget struct { - // Specifies labels. - Labels map[string]string `pulumi:"labels"` - // Specifies target URLs. - Urls []string `pulumi:"urls"` +type ObservabilityInstanceAlertConfigReceiverWebhooksConfig 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"` } -// ObservabilityScrapeconfigTargetInput is an input type that accepts ObservabilityScrapeconfigTargetArgs and ObservabilityScrapeconfigTargetOutput values. -// You can construct a concrete instance of `ObservabilityScrapeconfigTargetInput` via: +// ObservabilityInstanceAlertConfigReceiverWebhooksConfigInput is an input type that accepts ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs and ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput values. +// You can construct a concrete instance of `ObservabilityInstanceAlertConfigReceiverWebhooksConfigInput` via: // -// ObservabilityScrapeconfigTargetArgs{...} -type ObservabilityScrapeconfigTargetInput interface { +// ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs{...} +type ObservabilityInstanceAlertConfigReceiverWebhooksConfigInput interface { pulumi.Input - ToObservabilityScrapeconfigTargetOutput() ObservabilityScrapeconfigTargetOutput - ToObservabilityScrapeconfigTargetOutputWithContext(context.Context) ObservabilityScrapeconfigTargetOutput + ToObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput() ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput + ToObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(context.Context) ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput } -type ObservabilityScrapeconfigTargetArgs struct { - // Specifies labels. - Labels pulumi.StringMapInput `pulumi:"labels"` - // Specifies target URLs. - Urls pulumi.StringArrayInput `pulumi:"urls"` +type ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs struct { + // Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat. + GoogleChat pulumi.BoolPtrInput `pulumi:"googleChat"` + // Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams. + MsTeams pulumi.BoolPtrInput `pulumi:"msTeams"` + // Whether to notify about resolved alerts. + SendResolved pulumi.BoolPtrInput `pulumi:"sendResolved"` + // The endpoint to send HTTP POST requests to. Must be a valid URL + Url pulumi.StringPtrInput `pulumi:"url"` } -func (ObservabilityScrapeconfigTargetArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityScrapeconfigTarget)(nil)).Elem() +func (ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() } -func (i ObservabilityScrapeconfigTargetArgs) ToObservabilityScrapeconfigTargetOutput() ObservabilityScrapeconfigTargetOutput { - return i.ToObservabilityScrapeconfigTargetOutputWithContext(context.Background()) +func (i ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs) ToObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput() ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { + return i.ToObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(context.Background()) } -func (i ObservabilityScrapeconfigTargetArgs) ToObservabilityScrapeconfigTargetOutputWithContext(ctx context.Context) ObservabilityScrapeconfigTargetOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityScrapeconfigTargetOutput) +func (i ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs) ToObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) } -// ObservabilityScrapeconfigTargetArrayInput is an input type that accepts ObservabilityScrapeconfigTargetArray and ObservabilityScrapeconfigTargetArrayOutput values. -// You can construct a concrete instance of `ObservabilityScrapeconfigTargetArrayInput` via: +// ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput is an input type that accepts ObservabilityInstanceAlertConfigReceiverWebhooksConfigArray and ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput values. +// You can construct a concrete instance of `ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput` via: // -// ObservabilityScrapeconfigTargetArray{ ObservabilityScrapeconfigTargetArgs{...} } -type ObservabilityScrapeconfigTargetArrayInput interface { +// ObservabilityInstanceAlertConfigReceiverWebhooksConfigArray{ ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs{...} } +type ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayInput interface { pulumi.Input - ToObservabilityScrapeconfigTargetArrayOutput() ObservabilityScrapeconfigTargetArrayOutput - ToObservabilityScrapeconfigTargetArrayOutputWithContext(context.Context) ObservabilityScrapeconfigTargetArrayOutput + ToObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput() ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput + ToObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(context.Context) ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput } -type ObservabilityScrapeconfigTargetArray []ObservabilityScrapeconfigTargetInput +type ObservabilityInstanceAlertConfigReceiverWebhooksConfigArray []ObservabilityInstanceAlertConfigReceiverWebhooksConfigInput -func (ObservabilityScrapeconfigTargetArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ObservabilityScrapeconfigTarget)(nil)).Elem() +func (ObservabilityInstanceAlertConfigReceiverWebhooksConfigArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() } -func (i ObservabilityScrapeconfigTargetArray) ToObservabilityScrapeconfigTargetArrayOutput() ObservabilityScrapeconfigTargetArrayOutput { - return i.ToObservabilityScrapeconfigTargetArrayOutputWithContext(context.Background()) +func (i ObservabilityInstanceAlertConfigReceiverWebhooksConfigArray) ToObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput() ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { + return i.ToObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(context.Background()) } -func (i ObservabilityScrapeconfigTargetArray) ToObservabilityScrapeconfigTargetArrayOutputWithContext(ctx context.Context) ObservabilityScrapeconfigTargetArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ObservabilityScrapeconfigTargetArrayOutput) +func (i ObservabilityInstanceAlertConfigReceiverWebhooksConfigArray) ToObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) } -type ObservabilityScrapeconfigTargetOutput struct{ *pulumi.OutputState } +type ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput struct{ *pulumi.OutputState } -func (ObservabilityScrapeconfigTargetOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ObservabilityScrapeconfigTarget)(nil)).Elem() +func (ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() } -func (o ObservabilityScrapeconfigTargetOutput) ToObservabilityScrapeconfigTargetOutput() ObservabilityScrapeconfigTargetOutput { +func (o ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) ToObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput() ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { return o } -func (o ObservabilityScrapeconfigTargetOutput) ToObservabilityScrapeconfigTargetOutputWithContext(ctx context.Context) ObservabilityScrapeconfigTargetOutput { +func (o ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) ToObservabilityInstanceAlertConfigReceiverWebhooksConfigOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { return o } -// Specifies labels. -func (o ObservabilityScrapeconfigTargetOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v ObservabilityScrapeconfigTarget) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +// Google Chat webhooks require special handling, set this to true if the webhook is for Google Chat. +func (o ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) GoogleChat() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverWebhooksConfig) *bool { return v.GoogleChat }).(pulumi.BoolPtrOutput) } -// Specifies target URLs. -func (o ObservabilityScrapeconfigTargetOutput) Urls() pulumi.StringArrayOutput { - return o.ApplyT(func(v ObservabilityScrapeconfigTarget) []string { return v.Urls }).(pulumi.StringArrayOutput) +// Microsoft Teams webhooks require special handling, set this to true if the webhook is for Microsoft Teams. +func (o ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) MsTeams() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverWebhooksConfig) *bool { return v.MsTeams }).(pulumi.BoolPtrOutput) } -type ObservabilityScrapeconfigTargetArrayOutput struct{ *pulumi.OutputState } +// Whether to notify about resolved alerts. +func (o ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) SendResolved() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverWebhooksConfig) *bool { return v.SendResolved }).(pulumi.BoolPtrOutput) +} -func (ObservabilityScrapeconfigTargetArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ObservabilityScrapeconfigTarget)(nil)).Elem() +// The endpoint to send HTTP POST requests to. Must be a valid URL +func (o ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) Url() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigReceiverWebhooksConfig) *string { return v.Url }).(pulumi.StringPtrOutput) } -func (o ObservabilityScrapeconfigTargetArrayOutput) ToObservabilityScrapeconfigTargetArrayOutput() ObservabilityScrapeconfigTargetArrayOutput { - return o +type ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput struct{ *pulumi.OutputState } + +func (ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ObservabilityInstanceAlertConfigReceiverWebhooksConfig)(nil)).Elem() } -func (o ObservabilityScrapeconfigTargetArrayOutput) ToObservabilityScrapeconfigTargetArrayOutputWithContext(ctx context.Context) ObservabilityScrapeconfigTargetArrayOutput { +func (o ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) ToObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput() ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { return o } -func (o ObservabilityScrapeconfigTargetArrayOutput) Index(i pulumi.IntInput) ObservabilityScrapeconfigTargetOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ObservabilityScrapeconfigTarget { - return vs[0].([]ObservabilityScrapeconfigTarget)[vs[1].(int)] - }).(ObservabilityScrapeconfigTargetOutput) +func (o ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) ToObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput { + return o } -type OpensearchInstanceParameters 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"` - // The TLS protocol to use. - TlsProtocols []string `pulumi:"tlsProtocols"` +func (o ObservabilityInstanceAlertConfigReceiverWebhooksConfigArrayOutput) Index(i pulumi.IntInput) ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ObservabilityInstanceAlertConfigReceiverWebhooksConfig { + return vs[0].([]ObservabilityInstanceAlertConfigReceiverWebhooksConfig)[vs[1].(int)] + }).(ObservabilityInstanceAlertConfigReceiverWebhooksConfigOutput) } -// OpensearchInstanceParametersInput is an input type that accepts OpensearchInstanceParametersArgs and OpensearchInstanceParametersOutput values. -// You can construct a concrete instance of `OpensearchInstanceParametersInput` via: -// -// OpensearchInstanceParametersArgs{...} -type OpensearchInstanceParametersInput interface { +type ObservabilityInstanceAlertConfigRoute 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 []ObservabilityInstanceAlertConfigRouteRoute `pulumi:"routes"` +} + +// ObservabilityInstanceAlertConfigRouteInput is an input type that accepts ObservabilityInstanceAlertConfigRouteArgs and ObservabilityInstanceAlertConfigRouteOutput values. +// You can construct a concrete instance of `ObservabilityInstanceAlertConfigRouteInput` via: +// +// ObservabilityInstanceAlertConfigRouteArgs{...} +type ObservabilityInstanceAlertConfigRouteInput interface { pulumi.Input - ToOpensearchInstanceParametersOutput() OpensearchInstanceParametersOutput - ToOpensearchInstanceParametersOutputWithContext(context.Context) OpensearchInstanceParametersOutput + ToObservabilityInstanceAlertConfigRouteOutput() ObservabilityInstanceAlertConfigRouteOutput + ToObservabilityInstanceAlertConfigRouteOutputWithContext(context.Context) ObservabilityInstanceAlertConfigRouteOutput } -type OpensearchInstanceParametersArgs struct { - // Enable monitoring. - EnableMonitoring pulumi.BoolPtrInput `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.StringPtrInput `pulumi:"graphite"` - // The garbage collector to use for OpenSearch. - JavaGarbageCollector pulumi.StringPtrInput `pulumi:"javaGarbageCollector"` - // The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. - JavaHeapspace pulumi.IntPtrInput `pulumi:"javaHeapspace"` - // The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. - JavaMaxmetaspace pulumi.IntPtrInput `pulumi:"javaMaxmetaspace"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold pulumi.IntPtrInput `pulumi:"maxDiskThreshold"` - // The frequency in seconds at which metrics are emitted (in seconds). - MetricsFrequency pulumi.IntPtrInput `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.StringPtrInput `pulumi:"metricsPrefix"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId pulumi.StringPtrInput `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.StringPtrInput `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"` - // The TLS protocol to use. - TlsProtocols pulumi.StringArrayInput `pulumi:"tlsProtocols"` +type ObservabilityInstanceAlertConfigRouteArgs struct { + // Whether an alert should continue matching subsequent sibling nodes. + Continue pulumi.BoolPtrInput `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.StringPtrInput `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.StringPtrInput `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.StringPtrInput `pulumi:"repeatInterval"` + // List of child routes. + Routes ObservabilityInstanceAlertConfigRouteRouteArrayInput `pulumi:"routes"` } -func (OpensearchInstanceParametersArgs) ElementType() reflect.Type { - return reflect.TypeOf((*OpensearchInstanceParameters)(nil)).Elem() +func (ObservabilityInstanceAlertConfigRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityInstanceAlertConfigRoute)(nil)).Elem() } -func (i OpensearchInstanceParametersArgs) ToOpensearchInstanceParametersOutput() OpensearchInstanceParametersOutput { - return i.ToOpensearchInstanceParametersOutputWithContext(context.Background()) +func (i ObservabilityInstanceAlertConfigRouteArgs) ToObservabilityInstanceAlertConfigRouteOutput() ObservabilityInstanceAlertConfigRouteOutput { + return i.ToObservabilityInstanceAlertConfigRouteOutputWithContext(context.Background()) } -func (i OpensearchInstanceParametersArgs) ToOpensearchInstanceParametersOutputWithContext(ctx context.Context) OpensearchInstanceParametersOutput { - return pulumi.ToOutputWithContext(ctx, i).(OpensearchInstanceParametersOutput) +func (i ObservabilityInstanceAlertConfigRouteArgs) ToObservabilityInstanceAlertConfigRouteOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigRouteOutput) } -func (i OpensearchInstanceParametersArgs) ToOpensearchInstanceParametersPtrOutput() OpensearchInstanceParametersPtrOutput { - return i.ToOpensearchInstanceParametersPtrOutputWithContext(context.Background()) +func (i ObservabilityInstanceAlertConfigRouteArgs) ToObservabilityInstanceAlertConfigRoutePtrOutput() ObservabilityInstanceAlertConfigRoutePtrOutput { + return i.ToObservabilityInstanceAlertConfigRoutePtrOutputWithContext(context.Background()) } -func (i OpensearchInstanceParametersArgs) ToOpensearchInstanceParametersPtrOutputWithContext(ctx context.Context) OpensearchInstanceParametersPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(OpensearchInstanceParametersOutput).ToOpensearchInstanceParametersPtrOutputWithContext(ctx) +func (i ObservabilityInstanceAlertConfigRouteArgs) ToObservabilityInstanceAlertConfigRoutePtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigRoutePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigRouteOutput).ToObservabilityInstanceAlertConfigRoutePtrOutputWithContext(ctx) } -// OpensearchInstanceParametersPtrInput is an input type that accepts OpensearchInstanceParametersArgs, OpensearchInstanceParametersPtr and OpensearchInstanceParametersPtrOutput values. -// You can construct a concrete instance of `OpensearchInstanceParametersPtrInput` via: +// ObservabilityInstanceAlertConfigRoutePtrInput is an input type that accepts ObservabilityInstanceAlertConfigRouteArgs, ObservabilityInstanceAlertConfigRoutePtr and ObservabilityInstanceAlertConfigRoutePtrOutput values. +// You can construct a concrete instance of `ObservabilityInstanceAlertConfigRoutePtrInput` via: // -// OpensearchInstanceParametersArgs{...} +// ObservabilityInstanceAlertConfigRouteArgs{...} // // or: // // nil -type OpensearchInstanceParametersPtrInput interface { +type ObservabilityInstanceAlertConfigRoutePtrInput interface { pulumi.Input - ToOpensearchInstanceParametersPtrOutput() OpensearchInstanceParametersPtrOutput - ToOpensearchInstanceParametersPtrOutputWithContext(context.Context) OpensearchInstanceParametersPtrOutput + ToObservabilityInstanceAlertConfigRoutePtrOutput() ObservabilityInstanceAlertConfigRoutePtrOutput + ToObservabilityInstanceAlertConfigRoutePtrOutputWithContext(context.Context) ObservabilityInstanceAlertConfigRoutePtrOutput } -type opensearchInstanceParametersPtrType OpensearchInstanceParametersArgs +type observabilityInstanceAlertConfigRoutePtrType ObservabilityInstanceAlertConfigRouteArgs -func OpensearchInstanceParametersPtr(v *OpensearchInstanceParametersArgs) OpensearchInstanceParametersPtrInput { - return (*opensearchInstanceParametersPtrType)(v) +func ObservabilityInstanceAlertConfigRoutePtr(v *ObservabilityInstanceAlertConfigRouteArgs) ObservabilityInstanceAlertConfigRoutePtrInput { + return (*observabilityInstanceAlertConfigRoutePtrType)(v) } -func (*opensearchInstanceParametersPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**OpensearchInstanceParameters)(nil)).Elem() +func (*observabilityInstanceAlertConfigRoutePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ObservabilityInstanceAlertConfigRoute)(nil)).Elem() } -func (i *opensearchInstanceParametersPtrType) ToOpensearchInstanceParametersPtrOutput() OpensearchInstanceParametersPtrOutput { - return i.ToOpensearchInstanceParametersPtrOutputWithContext(context.Background()) +func (i *observabilityInstanceAlertConfigRoutePtrType) ToObservabilityInstanceAlertConfigRoutePtrOutput() ObservabilityInstanceAlertConfigRoutePtrOutput { + return i.ToObservabilityInstanceAlertConfigRoutePtrOutputWithContext(context.Background()) } -func (i *opensearchInstanceParametersPtrType) ToOpensearchInstanceParametersPtrOutputWithContext(ctx context.Context) OpensearchInstanceParametersPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(OpensearchInstanceParametersPtrOutput) +func (i *observabilityInstanceAlertConfigRoutePtrType) ToObservabilityInstanceAlertConfigRoutePtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigRoutePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigRoutePtrOutput) } -type OpensearchInstanceParametersOutput struct{ *pulumi.OutputState } +type ObservabilityInstanceAlertConfigRouteOutput struct{ *pulumi.OutputState } -func (OpensearchInstanceParametersOutput) ElementType() reflect.Type { - return reflect.TypeOf((*OpensearchInstanceParameters)(nil)).Elem() +func (ObservabilityInstanceAlertConfigRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityInstanceAlertConfigRoute)(nil)).Elem() } -func (o OpensearchInstanceParametersOutput) ToOpensearchInstanceParametersOutput() OpensearchInstanceParametersOutput { +func (o ObservabilityInstanceAlertConfigRouteOutput) ToObservabilityInstanceAlertConfigRouteOutput() ObservabilityInstanceAlertConfigRouteOutput { return o } -func (o OpensearchInstanceParametersOutput) ToOpensearchInstanceParametersOutputWithContext(ctx context.Context) OpensearchInstanceParametersOutput { +func (o ObservabilityInstanceAlertConfigRouteOutput) ToObservabilityInstanceAlertConfigRouteOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigRouteOutput { return o } -func (o OpensearchInstanceParametersOutput) ToOpensearchInstanceParametersPtrOutput() OpensearchInstanceParametersPtrOutput { - return o.ToOpensearchInstanceParametersPtrOutputWithContext(context.Background()) +func (o ObservabilityInstanceAlertConfigRouteOutput) ToObservabilityInstanceAlertConfigRoutePtrOutput() ObservabilityInstanceAlertConfigRoutePtrOutput { + return o.ToObservabilityInstanceAlertConfigRoutePtrOutputWithContext(context.Background()) } -func (o OpensearchInstanceParametersOutput) ToOpensearchInstanceParametersPtrOutputWithContext(ctx context.Context) OpensearchInstanceParametersPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v OpensearchInstanceParameters) *OpensearchInstanceParameters { +func (o ObservabilityInstanceAlertConfigRouteOutput) ToObservabilityInstanceAlertConfigRoutePtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigRoutePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ObservabilityInstanceAlertConfigRoute) *ObservabilityInstanceAlertConfigRoute { return &v - }).(OpensearchInstanceParametersPtrOutput) -} - -// Enable monitoring. -func (o OpensearchInstanceParametersOutput) EnableMonitoring() pulumi.BoolPtrOutput { - return o.ApplyT(func(v OpensearchInstanceParameters) *bool { return v.EnableMonitoring }).(pulumi.BoolPtrOutput) -} - -// 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 OpensearchInstanceParametersOutput) Graphite() pulumi.StringPtrOutput { - return o.ApplyT(func(v OpensearchInstanceParameters) *string { return v.Graphite }).(pulumi.StringPtrOutput) -} - -// The garbage collector to use for OpenSearch. -func (o OpensearchInstanceParametersOutput) JavaGarbageCollector() pulumi.StringPtrOutput { - return o.ApplyT(func(v OpensearchInstanceParameters) *string { return v.JavaGarbageCollector }).(pulumi.StringPtrOutput) -} - -// The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. -func (o OpensearchInstanceParametersOutput) JavaHeapspace() pulumi.IntPtrOutput { - return o.ApplyT(func(v OpensearchInstanceParameters) *int { return v.JavaHeapspace }).(pulumi.IntPtrOutput) -} - -// The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. -func (o OpensearchInstanceParametersOutput) JavaMaxmetaspace() pulumi.IntPtrOutput { - return o.ApplyT(func(v OpensearchInstanceParameters) *int { return v.JavaMaxmetaspace }).(pulumi.IntPtrOutput) -} - -// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. -func (o OpensearchInstanceParametersOutput) MaxDiskThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v OpensearchInstanceParameters) *int { return v.MaxDiskThreshold }).(pulumi.IntPtrOutput) -} - -// The frequency in seconds at which metrics are emitted (in seconds). -func (o OpensearchInstanceParametersOutput) MetricsFrequency() pulumi.IntPtrOutput { - return o.ApplyT(func(v OpensearchInstanceParameters) *int { return v.MetricsFrequency }).(pulumi.IntPtrOutput) + }).(ObservabilityInstanceAlertConfigRoutePtrOutput) } -// 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 OpensearchInstanceParametersOutput) MetricsPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v OpensearchInstanceParameters) *string { return v.MetricsPrefix }).(pulumi.StringPtrOutput) +// Whether an alert should continue matching subsequent sibling nodes. +func (o ObservabilityInstanceAlertConfigRouteOutput) Continue() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigRoute) *bool { return v.Continue }).(pulumi.BoolPtrOutput) } -// The ID of the STACKIT monitoring instance. -func (o OpensearchInstanceParametersOutput) MonitoringInstanceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v OpensearchInstanceParameters) *string { return v.MonitoringInstanceId }).(pulumi.StringPtrOutput) +// 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 ObservabilityInstanceAlertConfigRouteOutput) GroupBies() pulumi.StringArrayOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigRoute) []string { return v.GroupBies }).(pulumi.StringArrayOutput) } -// 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 OpensearchInstanceParametersOutput) Plugins() pulumi.StringArrayOutput { - return o.ApplyT(func(v OpensearchInstanceParameters) []string { return v.Plugins }).(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 ObservabilityInstanceAlertConfigRouteOutput) GroupInterval() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigRoute) *string { return v.GroupInterval }).(pulumi.StringPtrOutput) } -// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. -func (o OpensearchInstanceParametersOutput) SgwAcl() pulumi.StringPtrOutput { - return o.ApplyT(func(v OpensearchInstanceParameters) *string { return v.SgwAcl }).(pulumi.StringPtrOutput) +// 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 ObservabilityInstanceAlertConfigRouteOutput) GroupWait() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigRoute) *string { return v.GroupWait }).(pulumi.StringPtrOutput) } -// List of syslog servers to send logs to. -func (o OpensearchInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { - return o.ApplyT(func(v OpensearchInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +// The name of the receiver to route the alerts to. +func (o ObservabilityInstanceAlertConfigRouteOutput) Receiver() pulumi.StringOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigRoute) string { return v.Receiver }).(pulumi.StringOutput) } -// List of TLS ciphers to use. -func (o OpensearchInstanceParametersOutput) TlsCiphers() pulumi.StringArrayOutput { - return o.ApplyT(func(v OpensearchInstanceParameters) []string { return v.TlsCiphers }).(pulumi.StringArrayOutput) +// 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 ObservabilityInstanceAlertConfigRouteOutput) RepeatInterval() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigRoute) *string { return v.RepeatInterval }).(pulumi.StringPtrOutput) } -// The TLS protocol to use. -func (o OpensearchInstanceParametersOutput) TlsProtocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v OpensearchInstanceParameters) []string { return v.TlsProtocols }).(pulumi.StringArrayOutput) +// List of child routes. +func (o ObservabilityInstanceAlertConfigRouteOutput) Routes() ObservabilityInstanceAlertConfigRouteRouteArrayOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigRoute) []ObservabilityInstanceAlertConfigRouteRoute { + return v.Routes + }).(ObservabilityInstanceAlertConfigRouteRouteArrayOutput) } -type OpensearchInstanceParametersPtrOutput struct{ *pulumi.OutputState } +type ObservabilityInstanceAlertConfigRoutePtrOutput struct{ *pulumi.OutputState } -func (OpensearchInstanceParametersPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**OpensearchInstanceParameters)(nil)).Elem() +func (ObservabilityInstanceAlertConfigRoutePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ObservabilityInstanceAlertConfigRoute)(nil)).Elem() } -func (o OpensearchInstanceParametersPtrOutput) ToOpensearchInstanceParametersPtrOutput() OpensearchInstanceParametersPtrOutput { +func (o ObservabilityInstanceAlertConfigRoutePtrOutput) ToObservabilityInstanceAlertConfigRoutePtrOutput() ObservabilityInstanceAlertConfigRoutePtrOutput { return o } -func (o OpensearchInstanceParametersPtrOutput) ToOpensearchInstanceParametersPtrOutputWithContext(ctx context.Context) OpensearchInstanceParametersPtrOutput { +func (o ObservabilityInstanceAlertConfigRoutePtrOutput) ToObservabilityInstanceAlertConfigRoutePtrOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigRoutePtrOutput { return o } -func (o OpensearchInstanceParametersPtrOutput) Elem() OpensearchInstanceParametersOutput { - return o.ApplyT(func(v *OpensearchInstanceParameters) OpensearchInstanceParameters { +func (o ObservabilityInstanceAlertConfigRoutePtrOutput) Elem() ObservabilityInstanceAlertConfigRouteOutput { + return o.ApplyT(func(v *ObservabilityInstanceAlertConfigRoute) ObservabilityInstanceAlertConfigRoute { if v != nil { return *v } - var ret OpensearchInstanceParameters + var ret ObservabilityInstanceAlertConfigRoute return ret - }).(OpensearchInstanceParametersOutput) + }).(ObservabilityInstanceAlertConfigRouteOutput) } -// Enable monitoring. -func (o OpensearchInstanceParametersPtrOutput) EnableMonitoring() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *OpensearchInstanceParameters) *bool { +// Whether an alert should continue matching subsequent sibling nodes. +func (o ObservabilityInstanceAlertConfigRoutePtrOutput) Continue() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ObservabilityInstanceAlertConfigRoute) *bool { if v == nil { return nil } - return v.EnableMonitoring + return v.Continue }).(pulumi.BoolPtrOutput) } -// 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 OpensearchInstanceParametersPtrOutput) Graphite() pulumi.StringPtrOutput { - return o.ApplyT(func(v *OpensearchInstanceParameters) *string { +// 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 ObservabilityInstanceAlertConfigRoutePtrOutput) GroupBies() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ObservabilityInstanceAlertConfigRoute) []string { if v == nil { return nil } - return v.Graphite - }).(pulumi.StringPtrOutput) -} - -// The garbage collector to use for OpenSearch. -func (o OpensearchInstanceParametersPtrOutput) JavaGarbageCollector() pulumi.StringPtrOutput { - return o.ApplyT(func(v *OpensearchInstanceParameters) *string { - if v == nil { - return nil - } - return v.JavaGarbageCollector - }).(pulumi.StringPtrOutput) -} - -// The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. -func (o OpensearchInstanceParametersPtrOutput) JavaHeapspace() pulumi.IntPtrOutput { - return o.ApplyT(func(v *OpensearchInstanceParameters) *int { - if v == nil { - return nil - } - return v.JavaHeapspace - }).(pulumi.IntPtrOutput) -} - -// The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. -func (o OpensearchInstanceParametersPtrOutput) JavaMaxmetaspace() pulumi.IntPtrOutput { - return o.ApplyT(func(v *OpensearchInstanceParameters) *int { - if v == nil { - return nil - } - return v.JavaMaxmetaspace - }).(pulumi.IntPtrOutput) -} - -// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. -func (o OpensearchInstanceParametersPtrOutput) MaxDiskThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v *OpensearchInstanceParameters) *int { - if v == nil { - return nil - } - return v.MaxDiskThreshold - }).(pulumi.IntPtrOutput) -} - -// The frequency in seconds at which metrics are emitted (in seconds). -func (o OpensearchInstanceParametersPtrOutput) MetricsFrequency() pulumi.IntPtrOutput { - return o.ApplyT(func(v *OpensearchInstanceParameters) *int { - if v == nil { - return nil - } - return v.MetricsFrequency - }).(pulumi.IntPtrOutput) + return v.GroupBies + }).(pulumi.StringArrayOutput) } -// 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 OpensearchInstanceParametersPtrOutput) MetricsPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *OpensearchInstanceParameters) *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.) +func (o ObservabilityInstanceAlertConfigRoutePtrOutput) GroupInterval() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ObservabilityInstanceAlertConfigRoute) *string { if v == nil { return nil } - return v.MetricsPrefix + return v.GroupInterval }).(pulumi.StringPtrOutput) } -// The ID of the STACKIT monitoring instance. -func (o OpensearchInstanceParametersPtrOutput) MonitoringInstanceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *OpensearchInstanceParameters) *string { +// 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 ObservabilityInstanceAlertConfigRoutePtrOutput) GroupWait() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ObservabilityInstanceAlertConfigRoute) *string { if v == nil { return nil } - return v.MonitoringInstanceId + return v.GroupWait }).(pulumi.StringPtrOutput) } -// 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 OpensearchInstanceParametersPtrOutput) Plugins() pulumi.StringArrayOutput { - return o.ApplyT(func(v *OpensearchInstanceParameters) []string { - if v == nil { - return nil - } - return v.Plugins - }).(pulumi.StringArrayOutput) -} - -// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. -func (o OpensearchInstanceParametersPtrOutput) SgwAcl() pulumi.StringPtrOutput { - return o.ApplyT(func(v *OpensearchInstanceParameters) *string { +// The name of the receiver to route the alerts to. +func (o ObservabilityInstanceAlertConfigRoutePtrOutput) Receiver() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ObservabilityInstanceAlertConfigRoute) *string { if v == nil { return nil } - return v.SgwAcl + return &v.Receiver }).(pulumi.StringPtrOutput) } -// List of syslog servers to send logs to. -func (o OpensearchInstanceParametersPtrOutput) Syslogs() pulumi.StringArrayOutput { - return o.ApplyT(func(v *OpensearchInstanceParameters) []string { - if v == nil { - return nil - } - return v.Syslogs - }).(pulumi.StringArrayOutput) -} - -// List of TLS ciphers to use. -func (o OpensearchInstanceParametersPtrOutput) TlsCiphers() pulumi.StringArrayOutput { - return o.ApplyT(func(v *OpensearchInstanceParameters) []string { +// 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 ObservabilityInstanceAlertConfigRoutePtrOutput) RepeatInterval() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ObservabilityInstanceAlertConfigRoute) *string { if v == nil { return nil } - return v.TlsCiphers - }).(pulumi.StringArrayOutput) + return v.RepeatInterval + }).(pulumi.StringPtrOutput) } -// The TLS protocol to use. -func (o OpensearchInstanceParametersPtrOutput) TlsProtocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v *OpensearchInstanceParameters) []string { +// List of child routes. +func (o ObservabilityInstanceAlertConfigRoutePtrOutput) Routes() ObservabilityInstanceAlertConfigRouteRouteArrayOutput { + return o.ApplyT(func(v *ObservabilityInstanceAlertConfigRoute) []ObservabilityInstanceAlertConfigRouteRoute { if v == nil { return nil } - return v.TlsProtocols - }).(pulumi.StringArrayOutput) + return v.Routes + }).(ObservabilityInstanceAlertConfigRouteRouteArrayOutput) } -type PostgresflexInstanceFlavor struct { - Cpu int `pulumi:"cpu"` - Description *string `pulumi:"description"` - Id *string `pulumi:"id"` - Ram int `pulumi:"ram"` +type ObservabilityInstanceAlertConfigRouteRoute 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"` } -// PostgresflexInstanceFlavorInput is an input type that accepts PostgresflexInstanceFlavorArgs and PostgresflexInstanceFlavorOutput values. -// You can construct a concrete instance of `PostgresflexInstanceFlavorInput` via: +// ObservabilityInstanceAlertConfigRouteRouteInput is an input type that accepts ObservabilityInstanceAlertConfigRouteRouteArgs and ObservabilityInstanceAlertConfigRouteRouteOutput values. +// You can construct a concrete instance of `ObservabilityInstanceAlertConfigRouteRouteInput` via: // -// PostgresflexInstanceFlavorArgs{...} -type PostgresflexInstanceFlavorInput interface { +// ObservabilityInstanceAlertConfigRouteRouteArgs{...} +type ObservabilityInstanceAlertConfigRouteRouteInput interface { pulumi.Input - ToPostgresflexInstanceFlavorOutput() PostgresflexInstanceFlavorOutput - ToPostgresflexInstanceFlavorOutputWithContext(context.Context) PostgresflexInstanceFlavorOutput -} - -type PostgresflexInstanceFlavorArgs struct { - Cpu pulumi.IntInput `pulumi:"cpu"` - Description pulumi.StringPtrInput `pulumi:"description"` - Id pulumi.StringPtrInput `pulumi:"id"` - Ram pulumi.IntInput `pulumi:"ram"` -} - -func (PostgresflexInstanceFlavorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PostgresflexInstanceFlavor)(nil)).Elem() + ToObservabilityInstanceAlertConfigRouteRouteOutput() ObservabilityInstanceAlertConfigRouteRouteOutput + ToObservabilityInstanceAlertConfigRouteRouteOutputWithContext(context.Context) ObservabilityInstanceAlertConfigRouteRouteOutput } -func (i PostgresflexInstanceFlavorArgs) ToPostgresflexInstanceFlavorOutput() PostgresflexInstanceFlavorOutput { - return i.ToPostgresflexInstanceFlavorOutputWithContext(context.Background()) +type ObservabilityInstanceAlertConfigRouteRouteArgs struct { + // Whether an alert should continue matching subsequent sibling nodes. + Continue pulumi.BoolPtrInput `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.StringPtrInput `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.StringPtrInput `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.StringPtrInput `pulumi:"repeatInterval"` } -func (i PostgresflexInstanceFlavorArgs) ToPostgresflexInstanceFlavorOutputWithContext(ctx context.Context) PostgresflexInstanceFlavorOutput { - return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceFlavorOutput) +func (ObservabilityInstanceAlertConfigRouteRouteArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() } -func (i PostgresflexInstanceFlavorArgs) ToPostgresflexInstanceFlavorPtrOutput() PostgresflexInstanceFlavorPtrOutput { - return i.ToPostgresflexInstanceFlavorPtrOutputWithContext(context.Background()) +func (i ObservabilityInstanceAlertConfigRouteRouteArgs) ToObservabilityInstanceAlertConfigRouteRouteOutput() ObservabilityInstanceAlertConfigRouteRouteOutput { + return i.ToObservabilityInstanceAlertConfigRouteRouteOutputWithContext(context.Background()) } -func (i PostgresflexInstanceFlavorArgs) ToPostgresflexInstanceFlavorPtrOutputWithContext(ctx context.Context) PostgresflexInstanceFlavorPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceFlavorOutput).ToPostgresflexInstanceFlavorPtrOutputWithContext(ctx) +func (i ObservabilityInstanceAlertConfigRouteRouteArgs) ToObservabilityInstanceAlertConfigRouteRouteOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigRouteRouteOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigRouteRouteOutput) } -// PostgresflexInstanceFlavorPtrInput is an input type that accepts PostgresflexInstanceFlavorArgs, PostgresflexInstanceFlavorPtr and PostgresflexInstanceFlavorPtrOutput values. -// You can construct a concrete instance of `PostgresflexInstanceFlavorPtrInput` via: -// -// PostgresflexInstanceFlavorArgs{...} -// -// or: +// ObservabilityInstanceAlertConfigRouteRouteArrayInput is an input type that accepts ObservabilityInstanceAlertConfigRouteRouteArray and ObservabilityInstanceAlertConfigRouteRouteArrayOutput values. +// You can construct a concrete instance of `ObservabilityInstanceAlertConfigRouteRouteArrayInput` via: // -// nil -type PostgresflexInstanceFlavorPtrInput interface { +// ObservabilityInstanceAlertConfigRouteRouteArray{ ObservabilityInstanceAlertConfigRouteRouteArgs{...} } +type ObservabilityInstanceAlertConfigRouteRouteArrayInput interface { pulumi.Input - ToPostgresflexInstanceFlavorPtrOutput() PostgresflexInstanceFlavorPtrOutput - ToPostgresflexInstanceFlavorPtrOutputWithContext(context.Context) PostgresflexInstanceFlavorPtrOutput + ToObservabilityInstanceAlertConfigRouteRouteArrayOutput() ObservabilityInstanceAlertConfigRouteRouteArrayOutput + ToObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(context.Context) ObservabilityInstanceAlertConfigRouteRouteArrayOutput } -type postgresflexInstanceFlavorPtrType PostgresflexInstanceFlavorArgs - -func PostgresflexInstanceFlavorPtr(v *PostgresflexInstanceFlavorArgs) PostgresflexInstanceFlavorPtrInput { - return (*postgresflexInstanceFlavorPtrType)(v) -} +type ObservabilityInstanceAlertConfigRouteRouteArray []ObservabilityInstanceAlertConfigRouteRouteInput -func (*postgresflexInstanceFlavorPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PostgresflexInstanceFlavor)(nil)).Elem() +func (ObservabilityInstanceAlertConfigRouteRouteArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() } -func (i *postgresflexInstanceFlavorPtrType) ToPostgresflexInstanceFlavorPtrOutput() PostgresflexInstanceFlavorPtrOutput { - return i.ToPostgresflexInstanceFlavorPtrOutputWithContext(context.Background()) +func (i ObservabilityInstanceAlertConfigRouteRouteArray) ToObservabilityInstanceAlertConfigRouteRouteArrayOutput() ObservabilityInstanceAlertConfigRouteRouteArrayOutput { + return i.ToObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(context.Background()) } -func (i *postgresflexInstanceFlavorPtrType) ToPostgresflexInstanceFlavorPtrOutputWithContext(ctx context.Context) PostgresflexInstanceFlavorPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceFlavorPtrOutput) +func (i ObservabilityInstanceAlertConfigRouteRouteArray) ToObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigRouteRouteArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityInstanceAlertConfigRouteRouteArrayOutput) } -type PostgresflexInstanceFlavorOutput struct{ *pulumi.OutputState } +type ObservabilityInstanceAlertConfigRouteRouteOutput struct{ *pulumi.OutputState } -func (PostgresflexInstanceFlavorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PostgresflexInstanceFlavor)(nil)).Elem() +func (ObservabilityInstanceAlertConfigRouteRouteOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() } -func (o PostgresflexInstanceFlavorOutput) ToPostgresflexInstanceFlavorOutput() PostgresflexInstanceFlavorOutput { +func (o ObservabilityInstanceAlertConfigRouteRouteOutput) ToObservabilityInstanceAlertConfigRouteRouteOutput() ObservabilityInstanceAlertConfigRouteRouteOutput { return o } -func (o PostgresflexInstanceFlavorOutput) ToPostgresflexInstanceFlavorOutputWithContext(ctx context.Context) PostgresflexInstanceFlavorOutput { +func (o ObservabilityInstanceAlertConfigRouteRouteOutput) ToObservabilityInstanceAlertConfigRouteRouteOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigRouteRouteOutput { return o } -func (o PostgresflexInstanceFlavorOutput) ToPostgresflexInstanceFlavorPtrOutput() PostgresflexInstanceFlavorPtrOutput { - return o.ToPostgresflexInstanceFlavorPtrOutputWithContext(context.Background()) +// Whether an alert should continue matching subsequent sibling nodes. +func (o ObservabilityInstanceAlertConfigRouteRouteOutput) Continue() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigRouteRoute) *bool { return v.Continue }).(pulumi.BoolPtrOutput) } -func (o PostgresflexInstanceFlavorOutput) ToPostgresflexInstanceFlavorPtrOutputWithContext(ctx context.Context) PostgresflexInstanceFlavorPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PostgresflexInstanceFlavor) *PostgresflexInstanceFlavor { - return &v - }).(PostgresflexInstanceFlavorPtrOutput) +// 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 ObservabilityInstanceAlertConfigRouteRouteOutput) GroupBies() pulumi.StringArrayOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigRouteRoute) []string { return v.GroupBies }).(pulumi.StringArrayOutput) } -func (o PostgresflexInstanceFlavorOutput) Cpu() pulumi.IntOutput { - return o.ApplyT(func(v PostgresflexInstanceFlavor) int { return v.Cpu }).(pulumi.IntOutput) +// 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 ObservabilityInstanceAlertConfigRouteRouteOutput) GroupInterval() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigRouteRoute) *string { return v.GroupInterval }).(pulumi.StringPtrOutput) } -func (o PostgresflexInstanceFlavorOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v PostgresflexInstanceFlavor) *string { return v.Description }).(pulumi.StringPtrOutput) +// 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 ObservabilityInstanceAlertConfigRouteRouteOutput) GroupWait() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigRouteRoute) *string { return v.GroupWait }).(pulumi.StringPtrOutput) } -func (o PostgresflexInstanceFlavorOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v PostgresflexInstanceFlavor) *string { return v.Id }).(pulumi.StringPtrOutput) +// 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 ObservabilityInstanceAlertConfigRouteRouteOutput) Match() pulumi.StringMapOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigRouteRoute) map[string]string { return v.Match }).(pulumi.StringMapOutput) } -func (o PostgresflexInstanceFlavorOutput) Ram() pulumi.IntOutput { - return o.ApplyT(func(v PostgresflexInstanceFlavor) int { return v.Ram }).(pulumi.IntOutput) +// 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 ObservabilityInstanceAlertConfigRouteRouteOutput) MatchRegex() pulumi.StringMapOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigRouteRoute) map[string]string { return v.MatchRegex }).(pulumi.StringMapOutput) } -type PostgresflexInstanceFlavorPtrOutput struct{ *pulumi.OutputState } - -func (PostgresflexInstanceFlavorPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PostgresflexInstanceFlavor)(nil)).Elem() +// 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 ObservabilityInstanceAlertConfigRouteRouteOutput) Matchers() pulumi.StringArrayOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigRouteRoute) []string { return v.Matchers }).(pulumi.StringArrayOutput) } -func (o PostgresflexInstanceFlavorPtrOutput) ToPostgresflexInstanceFlavorPtrOutput() PostgresflexInstanceFlavorPtrOutput { - return o +// The name of the receiver to route the alerts to. +func (o ObservabilityInstanceAlertConfigRouteRouteOutput) Receiver() pulumi.StringOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigRouteRoute) string { return v.Receiver }).(pulumi.StringOutput) } -func (o PostgresflexInstanceFlavorPtrOutput) ToPostgresflexInstanceFlavorPtrOutputWithContext(ctx context.Context) PostgresflexInstanceFlavorPtrOutput { - return o +// 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 ObservabilityInstanceAlertConfigRouteRouteOutput) RepeatInterval() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityInstanceAlertConfigRouteRoute) *string { return v.RepeatInterval }).(pulumi.StringPtrOutput) } -func (o PostgresflexInstanceFlavorPtrOutput) Elem() PostgresflexInstanceFlavorOutput { - return o.ApplyT(func(v *PostgresflexInstanceFlavor) PostgresflexInstanceFlavor { - if v != nil { - return *v - } - var ret PostgresflexInstanceFlavor - return ret - }).(PostgresflexInstanceFlavorOutput) -} +type ObservabilityInstanceAlertConfigRouteRouteArrayOutput struct{ *pulumi.OutputState } -func (o PostgresflexInstanceFlavorPtrOutput) Cpu() pulumi.IntPtrOutput { - return o.ApplyT(func(v *PostgresflexInstanceFlavor) *int { - if v == nil { - return nil - } - return &v.Cpu - }).(pulumi.IntPtrOutput) +func (ObservabilityInstanceAlertConfigRouteRouteArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ObservabilityInstanceAlertConfigRouteRoute)(nil)).Elem() } -func (o PostgresflexInstanceFlavorPtrOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PostgresflexInstanceFlavor) *string { - if v == nil { - return nil - } - return v.Description - }).(pulumi.StringPtrOutput) +func (o ObservabilityInstanceAlertConfigRouteRouteArrayOutput) ToObservabilityInstanceAlertConfigRouteRouteArrayOutput() ObservabilityInstanceAlertConfigRouteRouteArrayOutput { + return o } -func (o PostgresflexInstanceFlavorPtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PostgresflexInstanceFlavor) *string { - if v == nil { - return nil - } - return v.Id - }).(pulumi.StringPtrOutput) +func (o ObservabilityInstanceAlertConfigRouteRouteArrayOutput) ToObservabilityInstanceAlertConfigRouteRouteArrayOutputWithContext(ctx context.Context) ObservabilityInstanceAlertConfigRouteRouteArrayOutput { + return o } -func (o PostgresflexInstanceFlavorPtrOutput) Ram() pulumi.IntPtrOutput { - return o.ApplyT(func(v *PostgresflexInstanceFlavor) *int { - if v == nil { - return nil - } - return &v.Ram - }).(pulumi.IntPtrOutput) +func (o ObservabilityInstanceAlertConfigRouteRouteArrayOutput) Index(i pulumi.IntInput) ObservabilityInstanceAlertConfigRouteRouteOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ObservabilityInstanceAlertConfigRouteRoute { + return vs[0].([]ObservabilityInstanceAlertConfigRouteRoute)[vs[1].(int)] + }).(ObservabilityInstanceAlertConfigRouteRouteOutput) } -type PostgresflexInstanceStorage struct { - Class string `pulumi:"class"` - Size int `pulumi:"size"` +type ObservabilityLogalertgroupRule 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"` } -// PostgresflexInstanceStorageInput is an input type that accepts PostgresflexInstanceStorageArgs and PostgresflexInstanceStorageOutput values. -// You can construct a concrete instance of `PostgresflexInstanceStorageInput` via: +// ObservabilityLogalertgroupRuleInput is an input type that accepts ObservabilityLogalertgroupRuleArgs and ObservabilityLogalertgroupRuleOutput values. +// You can construct a concrete instance of `ObservabilityLogalertgroupRuleInput` via: // -// PostgresflexInstanceStorageArgs{...} -type PostgresflexInstanceStorageInput interface { +// ObservabilityLogalertgroupRuleArgs{...} +type ObservabilityLogalertgroupRuleInput interface { pulumi.Input - ToPostgresflexInstanceStorageOutput() PostgresflexInstanceStorageOutput - ToPostgresflexInstanceStorageOutputWithContext(context.Context) PostgresflexInstanceStorageOutput -} - -type PostgresflexInstanceStorageArgs struct { - Class pulumi.StringInput `pulumi:"class"` - Size pulumi.IntInput `pulumi:"size"` -} - -func (PostgresflexInstanceStorageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*PostgresflexInstanceStorage)(nil)).Elem() + ToObservabilityLogalertgroupRuleOutput() ObservabilityLogalertgroupRuleOutput + ToObservabilityLogalertgroupRuleOutputWithContext(context.Context) ObservabilityLogalertgroupRuleOutput } -func (i PostgresflexInstanceStorageArgs) ToPostgresflexInstanceStorageOutput() PostgresflexInstanceStorageOutput { - return i.ToPostgresflexInstanceStorageOutputWithContext(context.Background()) +type ObservabilityLogalertgroupRuleArgs 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.StringPtrInput `pulumi:"for"` + // A map of key:value. Labels to add or overwrite for each alert + Labels pulumi.StringMapInput `pulumi:"labels"` } -func (i PostgresflexInstanceStorageArgs) ToPostgresflexInstanceStorageOutputWithContext(ctx context.Context) PostgresflexInstanceStorageOutput { - return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceStorageOutput) +func (ObservabilityLogalertgroupRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityLogalertgroupRule)(nil)).Elem() } -func (i PostgresflexInstanceStorageArgs) ToPostgresflexInstanceStoragePtrOutput() PostgresflexInstanceStoragePtrOutput { - return i.ToPostgresflexInstanceStoragePtrOutputWithContext(context.Background()) +func (i ObservabilityLogalertgroupRuleArgs) ToObservabilityLogalertgroupRuleOutput() ObservabilityLogalertgroupRuleOutput { + return i.ToObservabilityLogalertgroupRuleOutputWithContext(context.Background()) } -func (i PostgresflexInstanceStorageArgs) ToPostgresflexInstanceStoragePtrOutputWithContext(ctx context.Context) PostgresflexInstanceStoragePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceStorageOutput).ToPostgresflexInstanceStoragePtrOutputWithContext(ctx) +func (i ObservabilityLogalertgroupRuleArgs) ToObservabilityLogalertgroupRuleOutputWithContext(ctx context.Context) ObservabilityLogalertgroupRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityLogalertgroupRuleOutput) } -// PostgresflexInstanceStoragePtrInput is an input type that accepts PostgresflexInstanceStorageArgs, PostgresflexInstanceStoragePtr and PostgresflexInstanceStoragePtrOutput values. -// You can construct a concrete instance of `PostgresflexInstanceStoragePtrInput` via: -// -// PostgresflexInstanceStorageArgs{...} -// -// or: +// ObservabilityLogalertgroupRuleArrayInput is an input type that accepts ObservabilityLogalertgroupRuleArray and ObservabilityLogalertgroupRuleArrayOutput values. +// You can construct a concrete instance of `ObservabilityLogalertgroupRuleArrayInput` via: // -// nil -type PostgresflexInstanceStoragePtrInput interface { +// ObservabilityLogalertgroupRuleArray{ ObservabilityLogalertgroupRuleArgs{...} } +type ObservabilityLogalertgroupRuleArrayInput interface { pulumi.Input - ToPostgresflexInstanceStoragePtrOutput() PostgresflexInstanceStoragePtrOutput - ToPostgresflexInstanceStoragePtrOutputWithContext(context.Context) PostgresflexInstanceStoragePtrOutput + ToObservabilityLogalertgroupRuleArrayOutput() ObservabilityLogalertgroupRuleArrayOutput + ToObservabilityLogalertgroupRuleArrayOutputWithContext(context.Context) ObservabilityLogalertgroupRuleArrayOutput } -type postgresflexInstanceStoragePtrType PostgresflexInstanceStorageArgs - -func PostgresflexInstanceStoragePtr(v *PostgresflexInstanceStorageArgs) PostgresflexInstanceStoragePtrInput { - return (*postgresflexInstanceStoragePtrType)(v) -} +type ObservabilityLogalertgroupRuleArray []ObservabilityLogalertgroupRuleInput -func (*postgresflexInstanceStoragePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**PostgresflexInstanceStorage)(nil)).Elem() +func (ObservabilityLogalertgroupRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ObservabilityLogalertgroupRule)(nil)).Elem() } -func (i *postgresflexInstanceStoragePtrType) ToPostgresflexInstanceStoragePtrOutput() PostgresflexInstanceStoragePtrOutput { - return i.ToPostgresflexInstanceStoragePtrOutputWithContext(context.Background()) +func (i ObservabilityLogalertgroupRuleArray) ToObservabilityLogalertgroupRuleArrayOutput() ObservabilityLogalertgroupRuleArrayOutput { + return i.ToObservabilityLogalertgroupRuleArrayOutputWithContext(context.Background()) } -func (i *postgresflexInstanceStoragePtrType) ToPostgresflexInstanceStoragePtrOutputWithContext(ctx context.Context) PostgresflexInstanceStoragePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceStoragePtrOutput) +func (i ObservabilityLogalertgroupRuleArray) ToObservabilityLogalertgroupRuleArrayOutputWithContext(ctx context.Context) ObservabilityLogalertgroupRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityLogalertgroupRuleArrayOutput) } -type PostgresflexInstanceStorageOutput struct{ *pulumi.OutputState } +type ObservabilityLogalertgroupRuleOutput struct{ *pulumi.OutputState } -func (PostgresflexInstanceStorageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*PostgresflexInstanceStorage)(nil)).Elem() +func (ObservabilityLogalertgroupRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityLogalertgroupRule)(nil)).Elem() } -func (o PostgresflexInstanceStorageOutput) ToPostgresflexInstanceStorageOutput() PostgresflexInstanceStorageOutput { +func (o ObservabilityLogalertgroupRuleOutput) ToObservabilityLogalertgroupRuleOutput() ObservabilityLogalertgroupRuleOutput { return o } -func (o PostgresflexInstanceStorageOutput) ToPostgresflexInstanceStorageOutputWithContext(ctx context.Context) PostgresflexInstanceStorageOutput { +func (o ObservabilityLogalertgroupRuleOutput) ToObservabilityLogalertgroupRuleOutputWithContext(ctx context.Context) ObservabilityLogalertgroupRuleOutput { return o } -func (o PostgresflexInstanceStorageOutput) ToPostgresflexInstanceStoragePtrOutput() PostgresflexInstanceStoragePtrOutput { - return o.ToPostgresflexInstanceStoragePtrOutputWithContext(context.Background()) +// The name of the alert rule. Is the identifier and must be unique in the group. +func (o ObservabilityLogalertgroupRuleOutput) Alert() pulumi.StringOutput { + return o.ApplyT(func(v ObservabilityLogalertgroupRule) string { return v.Alert }).(pulumi.StringOutput) } -func (o PostgresflexInstanceStorageOutput) ToPostgresflexInstanceStoragePtrOutputWithContext(ctx context.Context) PostgresflexInstanceStoragePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v PostgresflexInstanceStorage) *PostgresflexInstanceStorage { - return &v - }).(PostgresflexInstanceStoragePtrOutput) +// A map of key:value. Annotations to add or overwrite for each alert +func (o ObservabilityLogalertgroupRuleOutput) Annotations() pulumi.StringMapOutput { + return o.ApplyT(func(v ObservabilityLogalertgroupRule) map[string]string { return v.Annotations }).(pulumi.StringMapOutput) } -func (o PostgresflexInstanceStorageOutput) Class() pulumi.StringOutput { - return o.ApplyT(func(v PostgresflexInstanceStorage) string { return v.Class }).(pulumi.StringOutput) +// 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 ObservabilityLogalertgroupRuleOutput) Expression() pulumi.StringOutput { + return o.ApplyT(func(v ObservabilityLogalertgroupRule) string { return v.Expression }).(pulumi.StringOutput) } -func (o PostgresflexInstanceStorageOutput) Size() pulumi.IntOutput { - return o.ApplyT(func(v PostgresflexInstanceStorage) int { return v.Size }).(pulumi.IntOutput) +// 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 ObservabilityLogalertgroupRuleOutput) For() pulumi.StringPtrOutput { + return o.ApplyT(func(v ObservabilityLogalertgroupRule) *string { return v.For }).(pulumi.StringPtrOutput) } -type PostgresflexInstanceStoragePtrOutput struct{ *pulumi.OutputState } - -func (PostgresflexInstanceStoragePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**PostgresflexInstanceStorage)(nil)).Elem() +// A map of key:value. Labels to add or overwrite for each alert +func (o ObservabilityLogalertgroupRuleOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v ObservabilityLogalertgroupRule) map[string]string { return v.Labels }).(pulumi.StringMapOutput) } -func (o PostgresflexInstanceStoragePtrOutput) ToPostgresflexInstanceStoragePtrOutput() PostgresflexInstanceStoragePtrOutput { - return o +type ObservabilityLogalertgroupRuleArrayOutput struct{ *pulumi.OutputState } + +func (ObservabilityLogalertgroupRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ObservabilityLogalertgroupRule)(nil)).Elem() } -func (o PostgresflexInstanceStoragePtrOutput) ToPostgresflexInstanceStoragePtrOutputWithContext(ctx context.Context) PostgresflexInstanceStoragePtrOutput { +func (o ObservabilityLogalertgroupRuleArrayOutput) ToObservabilityLogalertgroupRuleArrayOutput() ObservabilityLogalertgroupRuleArrayOutput { return o } -func (o PostgresflexInstanceStoragePtrOutput) Elem() PostgresflexInstanceStorageOutput { - return o.ApplyT(func(v *PostgresflexInstanceStorage) PostgresflexInstanceStorage { - if v != nil { - return *v - } - var ret PostgresflexInstanceStorage - return ret - }).(PostgresflexInstanceStorageOutput) +func (o ObservabilityLogalertgroupRuleArrayOutput) ToObservabilityLogalertgroupRuleArrayOutputWithContext(ctx context.Context) ObservabilityLogalertgroupRuleArrayOutput { + return o } -func (o PostgresflexInstanceStoragePtrOutput) Class() pulumi.StringPtrOutput { - return o.ApplyT(func(v *PostgresflexInstanceStorage) *string { - if v == nil { - return nil - } - return &v.Class - }).(pulumi.StringPtrOutput) +func (o ObservabilityLogalertgroupRuleArrayOutput) Index(i pulumi.IntInput) ObservabilityLogalertgroupRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ObservabilityLogalertgroupRule { + return vs[0].([]ObservabilityLogalertgroupRule)[vs[1].(int)] + }).(ObservabilityLogalertgroupRuleOutput) } -func (o PostgresflexInstanceStoragePtrOutput) Size() pulumi.IntPtrOutput { - return o.ApplyT(func(v *PostgresflexInstanceStorage) *int { - if v == nil { - return nil - } - return &v.Size - }).(pulumi.IntPtrOutput) -} - -type RabbitmqInstanceParameters 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 ObservabilityScrapeconfigBasicAuth struct { + // Specifies basic auth password. + Password string `pulumi:"password"` + // Specifies basic auth username. + Username string `pulumi:"username"` } -// RabbitmqInstanceParametersInput is an input type that accepts RabbitmqInstanceParametersArgs and RabbitmqInstanceParametersOutput values. -// You can construct a concrete instance of `RabbitmqInstanceParametersInput` via: +// ObservabilityScrapeconfigBasicAuthInput is an input type that accepts ObservabilityScrapeconfigBasicAuthArgs and ObservabilityScrapeconfigBasicAuthOutput values. +// You can construct a concrete instance of `ObservabilityScrapeconfigBasicAuthInput` via: // -// RabbitmqInstanceParametersArgs{...} -type RabbitmqInstanceParametersInput interface { +// ObservabilityScrapeconfigBasicAuthArgs{...} +type ObservabilityScrapeconfigBasicAuthInput interface { pulumi.Input - ToRabbitmqInstanceParametersOutput() RabbitmqInstanceParametersOutput - ToRabbitmqInstanceParametersOutputWithContext(context.Context) RabbitmqInstanceParametersOutput + ToObservabilityScrapeconfigBasicAuthOutput() ObservabilityScrapeconfigBasicAuthOutput + ToObservabilityScrapeconfigBasicAuthOutputWithContext(context.Context) ObservabilityScrapeconfigBasicAuthOutput } -type RabbitmqInstanceParametersArgs struct { - // The timeout in milliseconds for the consumer. - ConsumerTimeout pulumi.IntPtrInput `pulumi:"consumerTimeout"` - // Enable monitoring. - EnableMonitoring pulumi.BoolPtrInput `pulumi:"enableMonitoring"` - // Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. - Graphite pulumi.StringPtrInput `pulumi:"graphite"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold pulumi.IntPtrInput `pulumi:"maxDiskThreshold"` - // The frequency in seconds at which metrics are emitted. - MetricsFrequency pulumi.IntPtrInput `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.StringPtrInput `pulumi:"metricsPrefix"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId pulumi.StringPtrInput `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.StringPtrInput `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 ObservabilityScrapeconfigBasicAuthArgs struct { + // Specifies basic auth password. + Password pulumi.StringInput `pulumi:"password"` + // Specifies basic auth username. + Username pulumi.StringInput `pulumi:"username"` } -func (RabbitmqInstanceParametersArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RabbitmqInstanceParameters)(nil)).Elem() +func (ObservabilityScrapeconfigBasicAuthArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityScrapeconfigBasicAuth)(nil)).Elem() } -func (i RabbitmqInstanceParametersArgs) ToRabbitmqInstanceParametersOutput() RabbitmqInstanceParametersOutput { - return i.ToRabbitmqInstanceParametersOutputWithContext(context.Background()) +func (i ObservabilityScrapeconfigBasicAuthArgs) ToObservabilityScrapeconfigBasicAuthOutput() ObservabilityScrapeconfigBasicAuthOutput { + return i.ToObservabilityScrapeconfigBasicAuthOutputWithContext(context.Background()) } -func (i RabbitmqInstanceParametersArgs) ToRabbitmqInstanceParametersOutputWithContext(ctx context.Context) RabbitmqInstanceParametersOutput { - return pulumi.ToOutputWithContext(ctx, i).(RabbitmqInstanceParametersOutput) +func (i ObservabilityScrapeconfigBasicAuthArgs) ToObservabilityScrapeconfigBasicAuthOutputWithContext(ctx context.Context) ObservabilityScrapeconfigBasicAuthOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityScrapeconfigBasicAuthOutput) } -func (i RabbitmqInstanceParametersArgs) ToRabbitmqInstanceParametersPtrOutput() RabbitmqInstanceParametersPtrOutput { - return i.ToRabbitmqInstanceParametersPtrOutputWithContext(context.Background()) +func (i ObservabilityScrapeconfigBasicAuthArgs) ToObservabilityScrapeconfigBasicAuthPtrOutput() ObservabilityScrapeconfigBasicAuthPtrOutput { + return i.ToObservabilityScrapeconfigBasicAuthPtrOutputWithContext(context.Background()) } -func (i RabbitmqInstanceParametersArgs) ToRabbitmqInstanceParametersPtrOutputWithContext(ctx context.Context) RabbitmqInstanceParametersPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RabbitmqInstanceParametersOutput).ToRabbitmqInstanceParametersPtrOutputWithContext(ctx) +func (i ObservabilityScrapeconfigBasicAuthArgs) ToObservabilityScrapeconfigBasicAuthPtrOutputWithContext(ctx context.Context) ObservabilityScrapeconfigBasicAuthPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityScrapeconfigBasicAuthOutput).ToObservabilityScrapeconfigBasicAuthPtrOutputWithContext(ctx) } -// RabbitmqInstanceParametersPtrInput is an input type that accepts RabbitmqInstanceParametersArgs, RabbitmqInstanceParametersPtr and RabbitmqInstanceParametersPtrOutput values. -// You can construct a concrete instance of `RabbitmqInstanceParametersPtrInput` via: +// ObservabilityScrapeconfigBasicAuthPtrInput is an input type that accepts ObservabilityScrapeconfigBasicAuthArgs, ObservabilityScrapeconfigBasicAuthPtr and ObservabilityScrapeconfigBasicAuthPtrOutput values. +// You can construct a concrete instance of `ObservabilityScrapeconfigBasicAuthPtrInput` via: // -// RabbitmqInstanceParametersArgs{...} +// ObservabilityScrapeconfigBasicAuthArgs{...} // // or: // // nil -type RabbitmqInstanceParametersPtrInput interface { +type ObservabilityScrapeconfigBasicAuthPtrInput interface { pulumi.Input - ToRabbitmqInstanceParametersPtrOutput() RabbitmqInstanceParametersPtrOutput - ToRabbitmqInstanceParametersPtrOutputWithContext(context.Context) RabbitmqInstanceParametersPtrOutput + ToObservabilityScrapeconfigBasicAuthPtrOutput() ObservabilityScrapeconfigBasicAuthPtrOutput + ToObservabilityScrapeconfigBasicAuthPtrOutputWithContext(context.Context) ObservabilityScrapeconfigBasicAuthPtrOutput } -type rabbitmqInstanceParametersPtrType RabbitmqInstanceParametersArgs +type observabilityScrapeconfigBasicAuthPtrType ObservabilityScrapeconfigBasicAuthArgs -func RabbitmqInstanceParametersPtr(v *RabbitmqInstanceParametersArgs) RabbitmqInstanceParametersPtrInput { - return (*rabbitmqInstanceParametersPtrType)(v) +func ObservabilityScrapeconfigBasicAuthPtr(v *ObservabilityScrapeconfigBasicAuthArgs) ObservabilityScrapeconfigBasicAuthPtrInput { + return (*observabilityScrapeconfigBasicAuthPtrType)(v) } -func (*rabbitmqInstanceParametersPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RabbitmqInstanceParameters)(nil)).Elem() +func (*observabilityScrapeconfigBasicAuthPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ObservabilityScrapeconfigBasicAuth)(nil)).Elem() } -func (i *rabbitmqInstanceParametersPtrType) ToRabbitmqInstanceParametersPtrOutput() RabbitmqInstanceParametersPtrOutput { - return i.ToRabbitmqInstanceParametersPtrOutputWithContext(context.Background()) +func (i *observabilityScrapeconfigBasicAuthPtrType) ToObservabilityScrapeconfigBasicAuthPtrOutput() ObservabilityScrapeconfigBasicAuthPtrOutput { + return i.ToObservabilityScrapeconfigBasicAuthPtrOutputWithContext(context.Background()) } -func (i *rabbitmqInstanceParametersPtrType) ToRabbitmqInstanceParametersPtrOutputWithContext(ctx context.Context) RabbitmqInstanceParametersPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RabbitmqInstanceParametersPtrOutput) +func (i *observabilityScrapeconfigBasicAuthPtrType) ToObservabilityScrapeconfigBasicAuthPtrOutputWithContext(ctx context.Context) ObservabilityScrapeconfigBasicAuthPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityScrapeconfigBasicAuthPtrOutput) } -type RabbitmqInstanceParametersOutput struct{ *pulumi.OutputState } +type ObservabilityScrapeconfigBasicAuthOutput struct{ *pulumi.OutputState } -func (RabbitmqInstanceParametersOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RabbitmqInstanceParameters)(nil)).Elem() +func (ObservabilityScrapeconfigBasicAuthOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityScrapeconfigBasicAuth)(nil)).Elem() } -func (o RabbitmqInstanceParametersOutput) ToRabbitmqInstanceParametersOutput() RabbitmqInstanceParametersOutput { +func (o ObservabilityScrapeconfigBasicAuthOutput) ToObservabilityScrapeconfigBasicAuthOutput() ObservabilityScrapeconfigBasicAuthOutput { return o } -func (o RabbitmqInstanceParametersOutput) ToRabbitmqInstanceParametersOutputWithContext(ctx context.Context) RabbitmqInstanceParametersOutput { +func (o ObservabilityScrapeconfigBasicAuthOutput) ToObservabilityScrapeconfigBasicAuthOutputWithContext(ctx context.Context) ObservabilityScrapeconfigBasicAuthOutput { return o } -func (o RabbitmqInstanceParametersOutput) ToRabbitmqInstanceParametersPtrOutput() RabbitmqInstanceParametersPtrOutput { - return o.ToRabbitmqInstanceParametersPtrOutputWithContext(context.Background()) +func (o ObservabilityScrapeconfigBasicAuthOutput) ToObservabilityScrapeconfigBasicAuthPtrOutput() ObservabilityScrapeconfigBasicAuthPtrOutput { + return o.ToObservabilityScrapeconfigBasicAuthPtrOutputWithContext(context.Background()) } -func (o RabbitmqInstanceParametersOutput) ToRabbitmqInstanceParametersPtrOutputWithContext(ctx context.Context) RabbitmqInstanceParametersPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RabbitmqInstanceParameters) *RabbitmqInstanceParameters { +func (o ObservabilityScrapeconfigBasicAuthOutput) ToObservabilityScrapeconfigBasicAuthPtrOutputWithContext(ctx context.Context) ObservabilityScrapeconfigBasicAuthPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ObservabilityScrapeconfigBasicAuth) *ObservabilityScrapeconfigBasicAuth { return &v - }).(RabbitmqInstanceParametersPtrOutput) + }).(ObservabilityScrapeconfigBasicAuthPtrOutput) } -// The timeout in milliseconds for the consumer. -func (o RabbitmqInstanceParametersOutput) ConsumerTimeout() pulumi.IntPtrOutput { - return o.ApplyT(func(v RabbitmqInstanceParameters) *int { return v.ConsumerTimeout }).(pulumi.IntPtrOutput) +// Specifies basic auth password. +func (o ObservabilityScrapeconfigBasicAuthOutput) Password() pulumi.StringOutput { + return o.ApplyT(func(v ObservabilityScrapeconfigBasicAuth) string { return v.Password }).(pulumi.StringOutput) } -// Enable monitoring. -func (o RabbitmqInstanceParametersOutput) EnableMonitoring() pulumi.BoolPtrOutput { - return o.ApplyT(func(v RabbitmqInstanceParameters) *bool { return v.EnableMonitoring }).(pulumi.BoolPtrOutput) +// Specifies basic auth username. +func (o ObservabilityScrapeconfigBasicAuthOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v ObservabilityScrapeconfigBasicAuth) string { return v.Username }).(pulumi.StringOutput) } -// Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. -func (o RabbitmqInstanceParametersOutput) Graphite() pulumi.StringPtrOutput { - return o.ApplyT(func(v RabbitmqInstanceParameters) *string { return v.Graphite }).(pulumi.StringPtrOutput) -} +type ObservabilityScrapeconfigBasicAuthPtrOutput struct{ *pulumi.OutputState } -// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. -func (o RabbitmqInstanceParametersOutput) MaxDiskThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v RabbitmqInstanceParameters) *int { return v.MaxDiskThreshold }).(pulumi.IntPtrOutput) +func (ObservabilityScrapeconfigBasicAuthPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ObservabilityScrapeconfigBasicAuth)(nil)).Elem() } -// The frequency in seconds at which metrics are emitted. -func (o RabbitmqInstanceParametersOutput) MetricsFrequency() pulumi.IntPtrOutput { - return o.ApplyT(func(v RabbitmqInstanceParameters) *int { return v.MetricsFrequency }).(pulumi.IntPtrOutput) +func (o ObservabilityScrapeconfigBasicAuthPtrOutput) ToObservabilityScrapeconfigBasicAuthPtrOutput() ObservabilityScrapeconfigBasicAuthPtrOutput { + return o } -// 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 RabbitmqInstanceParametersOutput) MetricsPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v RabbitmqInstanceParameters) *string { return v.MetricsPrefix }).(pulumi.StringPtrOutput) +func (o ObservabilityScrapeconfigBasicAuthPtrOutput) ToObservabilityScrapeconfigBasicAuthPtrOutputWithContext(ctx context.Context) ObservabilityScrapeconfigBasicAuthPtrOutput { + return o } -// The ID of the STACKIT monitoring instance. -func (o RabbitmqInstanceParametersOutput) MonitoringInstanceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v RabbitmqInstanceParameters) *string { return v.MonitoringInstanceId }).(pulumi.StringPtrOutput) +func (o ObservabilityScrapeconfigBasicAuthPtrOutput) Elem() ObservabilityScrapeconfigBasicAuthOutput { + return o.ApplyT(func(v *ObservabilityScrapeconfigBasicAuth) ObservabilityScrapeconfigBasicAuth { + if v != nil { + return *v + } + var ret ObservabilityScrapeconfigBasicAuth + return ret + }).(ObservabilityScrapeconfigBasicAuthOutput) } -// List of plugins to install. Must be a supported plugin name. -func (o RabbitmqInstanceParametersOutput) Plugins() pulumi.StringArrayOutput { - return o.ApplyT(func(v RabbitmqInstanceParameters) []string { return v.Plugins }).(pulumi.StringArrayOutput) +// Specifies basic auth password. +func (o ObservabilityScrapeconfigBasicAuthPtrOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ObservabilityScrapeconfigBasicAuth) *string { + if v == nil { + return nil + } + return &v.Password + }).(pulumi.StringPtrOutput) } -// List of roles to assign to the instance. -func (o RabbitmqInstanceParametersOutput) Roles() pulumi.StringArrayOutput { - return o.ApplyT(func(v RabbitmqInstanceParameters) []string { return v.Roles }).(pulumi.StringArrayOutput) +// Specifies basic auth username. +func (o ObservabilityScrapeconfigBasicAuthPtrOutput) Username() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ObservabilityScrapeconfigBasicAuth) *string { + if v == nil { + return nil + } + return &v.Username + }).(pulumi.StringPtrOutput) } -// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. -func (o RabbitmqInstanceParametersOutput) SgwAcl() pulumi.StringPtrOutput { - return o.ApplyT(func(v RabbitmqInstanceParameters) *string { return v.SgwAcl }).(pulumi.StringPtrOutput) +type ObservabilityScrapeconfigSaml2 struct { + // Specifies if URL parameters are enabled. Defaults to `true` + EnableUrlParameters *bool `pulumi:"enableUrlParameters"` } -// List of syslog servers to send logs to. -func (o RabbitmqInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { - return o.ApplyT(func(v RabbitmqInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) -} +// ObservabilityScrapeconfigSaml2Input is an input type that accepts ObservabilityScrapeconfigSaml2Args and ObservabilityScrapeconfigSaml2Output values. +// You can construct a concrete instance of `ObservabilityScrapeconfigSaml2Input` via: +// +// ObservabilityScrapeconfigSaml2Args{...} +type ObservabilityScrapeconfigSaml2Input interface { + pulumi.Input -// List of TLS ciphers to use. -func (o RabbitmqInstanceParametersOutput) TlsCiphers() pulumi.StringArrayOutput { - return o.ApplyT(func(v RabbitmqInstanceParameters) []string { return v.TlsCiphers }).(pulumi.StringArrayOutput) + ToObservabilityScrapeconfigSaml2Output() ObservabilityScrapeconfigSaml2Output + ToObservabilityScrapeconfigSaml2OutputWithContext(context.Context) ObservabilityScrapeconfigSaml2Output } -// TLS protocol versions to use. -func (o RabbitmqInstanceParametersOutput) TlsProtocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v RabbitmqInstanceParameters) []string { return v.TlsProtocols }).(pulumi.StringArrayOutput) +type ObservabilityScrapeconfigSaml2Args struct { + // Specifies if URL parameters are enabled. Defaults to `true` + EnableUrlParameters pulumi.BoolPtrInput `pulumi:"enableUrlParameters"` } -type RabbitmqInstanceParametersPtrOutput struct{ *pulumi.OutputState } - -func (RabbitmqInstanceParametersPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RabbitmqInstanceParameters)(nil)).Elem() +func (ObservabilityScrapeconfigSaml2Args) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityScrapeconfigSaml2)(nil)).Elem() } -func (o RabbitmqInstanceParametersPtrOutput) ToRabbitmqInstanceParametersPtrOutput() RabbitmqInstanceParametersPtrOutput { - return o +func (i ObservabilityScrapeconfigSaml2Args) ToObservabilityScrapeconfigSaml2Output() ObservabilityScrapeconfigSaml2Output { + return i.ToObservabilityScrapeconfigSaml2OutputWithContext(context.Background()) } -func (o RabbitmqInstanceParametersPtrOutput) ToRabbitmqInstanceParametersPtrOutputWithContext(ctx context.Context) RabbitmqInstanceParametersPtrOutput { +func (i ObservabilityScrapeconfigSaml2Args) ToObservabilityScrapeconfigSaml2OutputWithContext(ctx context.Context) ObservabilityScrapeconfigSaml2Output { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityScrapeconfigSaml2Output) +} + +func (i ObservabilityScrapeconfigSaml2Args) ToObservabilityScrapeconfigSaml2PtrOutput() ObservabilityScrapeconfigSaml2PtrOutput { + return i.ToObservabilityScrapeconfigSaml2PtrOutputWithContext(context.Background()) +} + +func (i ObservabilityScrapeconfigSaml2Args) ToObservabilityScrapeconfigSaml2PtrOutputWithContext(ctx context.Context) ObservabilityScrapeconfigSaml2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityScrapeconfigSaml2Output).ToObservabilityScrapeconfigSaml2PtrOutputWithContext(ctx) +} + +// ObservabilityScrapeconfigSaml2PtrInput is an input type that accepts ObservabilityScrapeconfigSaml2Args, ObservabilityScrapeconfigSaml2Ptr and ObservabilityScrapeconfigSaml2PtrOutput values. +// You can construct a concrete instance of `ObservabilityScrapeconfigSaml2PtrInput` via: +// +// ObservabilityScrapeconfigSaml2Args{...} +// +// or: +// +// nil +type ObservabilityScrapeconfigSaml2PtrInput interface { + pulumi.Input + + ToObservabilityScrapeconfigSaml2PtrOutput() ObservabilityScrapeconfigSaml2PtrOutput + ToObservabilityScrapeconfigSaml2PtrOutputWithContext(context.Context) ObservabilityScrapeconfigSaml2PtrOutput +} + +type observabilityScrapeconfigSaml2PtrType ObservabilityScrapeconfigSaml2Args + +func ObservabilityScrapeconfigSaml2Ptr(v *ObservabilityScrapeconfigSaml2Args) ObservabilityScrapeconfigSaml2PtrInput { + return (*observabilityScrapeconfigSaml2PtrType)(v) +} + +func (*observabilityScrapeconfigSaml2PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ObservabilityScrapeconfigSaml2)(nil)).Elem() +} + +func (i *observabilityScrapeconfigSaml2PtrType) ToObservabilityScrapeconfigSaml2PtrOutput() ObservabilityScrapeconfigSaml2PtrOutput { + return i.ToObservabilityScrapeconfigSaml2PtrOutputWithContext(context.Background()) +} + +func (i *observabilityScrapeconfigSaml2PtrType) ToObservabilityScrapeconfigSaml2PtrOutputWithContext(ctx context.Context) ObservabilityScrapeconfigSaml2PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityScrapeconfigSaml2PtrOutput) +} + +type ObservabilityScrapeconfigSaml2Output struct{ *pulumi.OutputState } + +func (ObservabilityScrapeconfigSaml2Output) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityScrapeconfigSaml2)(nil)).Elem() +} + +func (o ObservabilityScrapeconfigSaml2Output) ToObservabilityScrapeconfigSaml2Output() ObservabilityScrapeconfigSaml2Output { + return o +} + +func (o ObservabilityScrapeconfigSaml2Output) ToObservabilityScrapeconfigSaml2OutputWithContext(ctx context.Context) ObservabilityScrapeconfigSaml2Output { + return o +} + +func (o ObservabilityScrapeconfigSaml2Output) ToObservabilityScrapeconfigSaml2PtrOutput() ObservabilityScrapeconfigSaml2PtrOutput { + return o.ToObservabilityScrapeconfigSaml2PtrOutputWithContext(context.Background()) +} + +func (o ObservabilityScrapeconfigSaml2Output) ToObservabilityScrapeconfigSaml2PtrOutputWithContext(ctx context.Context) ObservabilityScrapeconfigSaml2PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ObservabilityScrapeconfigSaml2) *ObservabilityScrapeconfigSaml2 { + return &v + }).(ObservabilityScrapeconfigSaml2PtrOutput) +} + +// Specifies if URL parameters are enabled. Defaults to `true` +func (o ObservabilityScrapeconfigSaml2Output) EnableUrlParameters() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ObservabilityScrapeconfigSaml2) *bool { return v.EnableUrlParameters }).(pulumi.BoolPtrOutput) +} + +type ObservabilityScrapeconfigSaml2PtrOutput struct{ *pulumi.OutputState } + +func (ObservabilityScrapeconfigSaml2PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ObservabilityScrapeconfigSaml2)(nil)).Elem() +} + +func (o ObservabilityScrapeconfigSaml2PtrOutput) ToObservabilityScrapeconfigSaml2PtrOutput() ObservabilityScrapeconfigSaml2PtrOutput { + return o +} + +func (o ObservabilityScrapeconfigSaml2PtrOutput) ToObservabilityScrapeconfigSaml2PtrOutputWithContext(ctx context.Context) ObservabilityScrapeconfigSaml2PtrOutput { + return o +} + +func (o ObservabilityScrapeconfigSaml2PtrOutput) Elem() ObservabilityScrapeconfigSaml2Output { + return o.ApplyT(func(v *ObservabilityScrapeconfigSaml2) ObservabilityScrapeconfigSaml2 { + if v != nil { + return *v + } + var ret ObservabilityScrapeconfigSaml2 + return ret + }).(ObservabilityScrapeconfigSaml2Output) +} + +// Specifies if URL parameters are enabled. Defaults to `true` +func (o ObservabilityScrapeconfigSaml2PtrOutput) EnableUrlParameters() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ObservabilityScrapeconfigSaml2) *bool { + if v == nil { + return nil + } + return v.EnableUrlParameters + }).(pulumi.BoolPtrOutput) +} + +type ObservabilityScrapeconfigTarget struct { + // Specifies labels. + Labels map[string]string `pulumi:"labels"` + // Specifies target URLs. + Urls []string `pulumi:"urls"` +} + +// ObservabilityScrapeconfigTargetInput is an input type that accepts ObservabilityScrapeconfigTargetArgs and ObservabilityScrapeconfigTargetOutput values. +// You can construct a concrete instance of `ObservabilityScrapeconfigTargetInput` via: +// +// ObservabilityScrapeconfigTargetArgs{...} +type ObservabilityScrapeconfigTargetInput interface { + pulumi.Input + + ToObservabilityScrapeconfigTargetOutput() ObservabilityScrapeconfigTargetOutput + ToObservabilityScrapeconfigTargetOutputWithContext(context.Context) ObservabilityScrapeconfigTargetOutput +} + +type ObservabilityScrapeconfigTargetArgs struct { + // Specifies labels. + Labels pulumi.StringMapInput `pulumi:"labels"` + // Specifies target URLs. + Urls pulumi.StringArrayInput `pulumi:"urls"` +} + +func (ObservabilityScrapeconfigTargetArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityScrapeconfigTarget)(nil)).Elem() +} + +func (i ObservabilityScrapeconfigTargetArgs) ToObservabilityScrapeconfigTargetOutput() ObservabilityScrapeconfigTargetOutput { + return i.ToObservabilityScrapeconfigTargetOutputWithContext(context.Background()) +} + +func (i ObservabilityScrapeconfigTargetArgs) ToObservabilityScrapeconfigTargetOutputWithContext(ctx context.Context) ObservabilityScrapeconfigTargetOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityScrapeconfigTargetOutput) +} + +// ObservabilityScrapeconfigTargetArrayInput is an input type that accepts ObservabilityScrapeconfigTargetArray and ObservabilityScrapeconfigTargetArrayOutput values. +// You can construct a concrete instance of `ObservabilityScrapeconfigTargetArrayInput` via: +// +// ObservabilityScrapeconfigTargetArray{ ObservabilityScrapeconfigTargetArgs{...} } +type ObservabilityScrapeconfigTargetArrayInput interface { + pulumi.Input + + ToObservabilityScrapeconfigTargetArrayOutput() ObservabilityScrapeconfigTargetArrayOutput + ToObservabilityScrapeconfigTargetArrayOutputWithContext(context.Context) ObservabilityScrapeconfigTargetArrayOutput +} + +type ObservabilityScrapeconfigTargetArray []ObservabilityScrapeconfigTargetInput + +func (ObservabilityScrapeconfigTargetArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ObservabilityScrapeconfigTarget)(nil)).Elem() +} + +func (i ObservabilityScrapeconfigTargetArray) ToObservabilityScrapeconfigTargetArrayOutput() ObservabilityScrapeconfigTargetArrayOutput { + return i.ToObservabilityScrapeconfigTargetArrayOutputWithContext(context.Background()) +} + +func (i ObservabilityScrapeconfigTargetArray) ToObservabilityScrapeconfigTargetArrayOutputWithContext(ctx context.Context) ObservabilityScrapeconfigTargetArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ObservabilityScrapeconfigTargetArrayOutput) +} + +type ObservabilityScrapeconfigTargetOutput struct{ *pulumi.OutputState } + +func (ObservabilityScrapeconfigTargetOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ObservabilityScrapeconfigTarget)(nil)).Elem() +} + +func (o ObservabilityScrapeconfigTargetOutput) ToObservabilityScrapeconfigTargetOutput() ObservabilityScrapeconfigTargetOutput { + return o +} + +func (o ObservabilityScrapeconfigTargetOutput) ToObservabilityScrapeconfigTargetOutputWithContext(ctx context.Context) ObservabilityScrapeconfigTargetOutput { + return o +} + +// Specifies labels. +func (o ObservabilityScrapeconfigTargetOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v ObservabilityScrapeconfigTarget) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +// Specifies target URLs. +func (o ObservabilityScrapeconfigTargetOutput) Urls() pulumi.StringArrayOutput { + return o.ApplyT(func(v ObservabilityScrapeconfigTarget) []string { return v.Urls }).(pulumi.StringArrayOutput) +} + +type ObservabilityScrapeconfigTargetArrayOutput struct{ *pulumi.OutputState } + +func (ObservabilityScrapeconfigTargetArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ObservabilityScrapeconfigTarget)(nil)).Elem() +} + +func (o ObservabilityScrapeconfigTargetArrayOutput) ToObservabilityScrapeconfigTargetArrayOutput() ObservabilityScrapeconfigTargetArrayOutput { + return o +} + +func (o ObservabilityScrapeconfigTargetArrayOutput) ToObservabilityScrapeconfigTargetArrayOutputWithContext(ctx context.Context) ObservabilityScrapeconfigTargetArrayOutput { + return o +} + +func (o ObservabilityScrapeconfigTargetArrayOutput) Index(i pulumi.IntInput) ObservabilityScrapeconfigTargetOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ObservabilityScrapeconfigTarget { + return vs[0].([]ObservabilityScrapeconfigTarget)[vs[1].(int)] + }).(ObservabilityScrapeconfigTargetOutput) +} + +type OpensearchInstanceParameters 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"` + // The TLS protocol to use. + TlsProtocols []string `pulumi:"tlsProtocols"` +} + +// OpensearchInstanceParametersInput is an input type that accepts OpensearchInstanceParametersArgs and OpensearchInstanceParametersOutput values. +// You can construct a concrete instance of `OpensearchInstanceParametersInput` via: +// +// OpensearchInstanceParametersArgs{...} +type OpensearchInstanceParametersInput interface { + pulumi.Input + + ToOpensearchInstanceParametersOutput() OpensearchInstanceParametersOutput + ToOpensearchInstanceParametersOutputWithContext(context.Context) OpensearchInstanceParametersOutput +} + +type OpensearchInstanceParametersArgs struct { + // Enable monitoring. + EnableMonitoring pulumi.BoolPtrInput `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.StringPtrInput `pulumi:"graphite"` + // The garbage collector to use for OpenSearch. + JavaGarbageCollector pulumi.StringPtrInput `pulumi:"javaGarbageCollector"` + // The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. + JavaHeapspace pulumi.IntPtrInput `pulumi:"javaHeapspace"` + // The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. + JavaMaxmetaspace pulumi.IntPtrInput `pulumi:"javaMaxmetaspace"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold pulumi.IntPtrInput `pulumi:"maxDiskThreshold"` + // The frequency in seconds at which metrics are emitted (in seconds). + MetricsFrequency pulumi.IntPtrInput `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.StringPtrInput `pulumi:"metricsPrefix"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId pulumi.StringPtrInput `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.StringPtrInput `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"` + // The TLS protocol to use. + TlsProtocols pulumi.StringArrayInput `pulumi:"tlsProtocols"` +} + +func (OpensearchInstanceParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*OpensearchInstanceParameters)(nil)).Elem() +} + +func (i OpensearchInstanceParametersArgs) ToOpensearchInstanceParametersOutput() OpensearchInstanceParametersOutput { + return i.ToOpensearchInstanceParametersOutputWithContext(context.Background()) +} + +func (i OpensearchInstanceParametersArgs) ToOpensearchInstanceParametersOutputWithContext(ctx context.Context) OpensearchInstanceParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(OpensearchInstanceParametersOutput) +} + +func (i OpensearchInstanceParametersArgs) ToOpensearchInstanceParametersPtrOutput() OpensearchInstanceParametersPtrOutput { + return i.ToOpensearchInstanceParametersPtrOutputWithContext(context.Background()) +} + +func (i OpensearchInstanceParametersArgs) ToOpensearchInstanceParametersPtrOutputWithContext(ctx context.Context) OpensearchInstanceParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(OpensearchInstanceParametersOutput).ToOpensearchInstanceParametersPtrOutputWithContext(ctx) +} + +// OpensearchInstanceParametersPtrInput is an input type that accepts OpensearchInstanceParametersArgs, OpensearchInstanceParametersPtr and OpensearchInstanceParametersPtrOutput values. +// You can construct a concrete instance of `OpensearchInstanceParametersPtrInput` via: +// +// OpensearchInstanceParametersArgs{...} +// +// or: +// +// nil +type OpensearchInstanceParametersPtrInput interface { + pulumi.Input + + ToOpensearchInstanceParametersPtrOutput() OpensearchInstanceParametersPtrOutput + ToOpensearchInstanceParametersPtrOutputWithContext(context.Context) OpensearchInstanceParametersPtrOutput +} + +type opensearchInstanceParametersPtrType OpensearchInstanceParametersArgs + +func OpensearchInstanceParametersPtr(v *OpensearchInstanceParametersArgs) OpensearchInstanceParametersPtrInput { + return (*opensearchInstanceParametersPtrType)(v) +} + +func (*opensearchInstanceParametersPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**OpensearchInstanceParameters)(nil)).Elem() +} + +func (i *opensearchInstanceParametersPtrType) ToOpensearchInstanceParametersPtrOutput() OpensearchInstanceParametersPtrOutput { + return i.ToOpensearchInstanceParametersPtrOutputWithContext(context.Background()) +} + +func (i *opensearchInstanceParametersPtrType) ToOpensearchInstanceParametersPtrOutputWithContext(ctx context.Context) OpensearchInstanceParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(OpensearchInstanceParametersPtrOutput) +} + +type OpensearchInstanceParametersOutput struct{ *pulumi.OutputState } + +func (OpensearchInstanceParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*OpensearchInstanceParameters)(nil)).Elem() +} + +func (o OpensearchInstanceParametersOutput) ToOpensearchInstanceParametersOutput() OpensearchInstanceParametersOutput { + return o +} + +func (o OpensearchInstanceParametersOutput) ToOpensearchInstanceParametersOutputWithContext(ctx context.Context) OpensearchInstanceParametersOutput { + return o +} + +func (o OpensearchInstanceParametersOutput) ToOpensearchInstanceParametersPtrOutput() OpensearchInstanceParametersPtrOutput { + return o.ToOpensearchInstanceParametersPtrOutputWithContext(context.Background()) +} + +func (o OpensearchInstanceParametersOutput) ToOpensearchInstanceParametersPtrOutputWithContext(ctx context.Context) OpensearchInstanceParametersPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v OpensearchInstanceParameters) *OpensearchInstanceParameters { + return &v + }).(OpensearchInstanceParametersPtrOutput) +} + +// Enable monitoring. +func (o OpensearchInstanceParametersOutput) EnableMonitoring() pulumi.BoolPtrOutput { + return o.ApplyT(func(v OpensearchInstanceParameters) *bool { return v.EnableMonitoring }).(pulumi.BoolPtrOutput) +} + +// 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 OpensearchInstanceParametersOutput) Graphite() pulumi.StringPtrOutput { + return o.ApplyT(func(v OpensearchInstanceParameters) *string { return v.Graphite }).(pulumi.StringPtrOutput) +} + +// The garbage collector to use for OpenSearch. +func (o OpensearchInstanceParametersOutput) JavaGarbageCollector() pulumi.StringPtrOutput { + return o.ApplyT(func(v OpensearchInstanceParameters) *string { return v.JavaGarbageCollector }).(pulumi.StringPtrOutput) +} + +// The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. +func (o OpensearchInstanceParametersOutput) JavaHeapspace() pulumi.IntPtrOutput { + return o.ApplyT(func(v OpensearchInstanceParameters) *int { return v.JavaHeapspace }).(pulumi.IntPtrOutput) +} + +// The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. +func (o OpensearchInstanceParametersOutput) JavaMaxmetaspace() pulumi.IntPtrOutput { + return o.ApplyT(func(v OpensearchInstanceParameters) *int { return v.JavaMaxmetaspace }).(pulumi.IntPtrOutput) +} + +// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. +func (o OpensearchInstanceParametersOutput) MaxDiskThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v OpensearchInstanceParameters) *int { return v.MaxDiskThreshold }).(pulumi.IntPtrOutput) +} + +// The frequency in seconds at which metrics are emitted (in seconds). +func (o OpensearchInstanceParametersOutput) MetricsFrequency() pulumi.IntPtrOutput { + return o.ApplyT(func(v OpensearchInstanceParameters) *int { return v.MetricsFrequency }).(pulumi.IntPtrOutput) +} + +// 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 OpensearchInstanceParametersOutput) MetricsPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v OpensearchInstanceParameters) *string { return v.MetricsPrefix }).(pulumi.StringPtrOutput) +} + +// The ID of the STACKIT monitoring instance. +func (o OpensearchInstanceParametersOutput) MonitoringInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v OpensearchInstanceParameters) *string { return v.MonitoringInstanceId }).(pulumi.StringPtrOutput) +} + +// 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 OpensearchInstanceParametersOutput) Plugins() pulumi.StringArrayOutput { + return o.ApplyT(func(v OpensearchInstanceParameters) []string { return v.Plugins }).(pulumi.StringArrayOutput) +} + +// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. +func (o OpensearchInstanceParametersOutput) SgwAcl() pulumi.StringPtrOutput { + return o.ApplyT(func(v OpensearchInstanceParameters) *string { return v.SgwAcl }).(pulumi.StringPtrOutput) +} + +// List of syslog servers to send logs to. +func (o OpensearchInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { + return o.ApplyT(func(v OpensearchInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +} + +// List of TLS ciphers to use. +func (o OpensearchInstanceParametersOutput) TlsCiphers() pulumi.StringArrayOutput { + return o.ApplyT(func(v OpensearchInstanceParameters) []string { return v.TlsCiphers }).(pulumi.StringArrayOutput) +} + +// The TLS protocol to use. +func (o OpensearchInstanceParametersOutput) TlsProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v OpensearchInstanceParameters) []string { return v.TlsProtocols }).(pulumi.StringArrayOutput) +} + +type OpensearchInstanceParametersPtrOutput struct{ *pulumi.OutputState } + +func (OpensearchInstanceParametersPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**OpensearchInstanceParameters)(nil)).Elem() +} + +func (o OpensearchInstanceParametersPtrOutput) ToOpensearchInstanceParametersPtrOutput() OpensearchInstanceParametersPtrOutput { + return o +} + +func (o OpensearchInstanceParametersPtrOutput) ToOpensearchInstanceParametersPtrOutputWithContext(ctx context.Context) OpensearchInstanceParametersPtrOutput { + return o +} + +func (o OpensearchInstanceParametersPtrOutput) Elem() OpensearchInstanceParametersOutput { + return o.ApplyT(func(v *OpensearchInstanceParameters) OpensearchInstanceParameters { + if v != nil { + return *v + } + var ret OpensearchInstanceParameters + return ret + }).(OpensearchInstanceParametersOutput) +} + +// Enable monitoring. +func (o OpensearchInstanceParametersPtrOutput) EnableMonitoring() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *OpensearchInstanceParameters) *bool { + if v == nil { + return nil + } + return v.EnableMonitoring + }).(pulumi.BoolPtrOutput) +} + +// 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 OpensearchInstanceParametersPtrOutput) Graphite() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OpensearchInstanceParameters) *string { + if v == nil { + return nil + } + return v.Graphite + }).(pulumi.StringPtrOutput) +} + +// The garbage collector to use for OpenSearch. +func (o OpensearchInstanceParametersPtrOutput) JavaGarbageCollector() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OpensearchInstanceParameters) *string { + if v == nil { + return nil + } + return v.JavaGarbageCollector + }).(pulumi.StringPtrOutput) +} + +// The amount of memory (in MB) allocated as heap by the JVM for OpenSearch. +func (o OpensearchInstanceParametersPtrOutput) JavaHeapspace() pulumi.IntPtrOutput { + return o.ApplyT(func(v *OpensearchInstanceParameters) *int { + if v == nil { + return nil + } + return v.JavaHeapspace + }).(pulumi.IntPtrOutput) +} + +// The amount of memory (in MB) used by the JVM to store metadata for OpenSearch. +func (o OpensearchInstanceParametersPtrOutput) JavaMaxmetaspace() pulumi.IntPtrOutput { + return o.ApplyT(func(v *OpensearchInstanceParameters) *int { + if v == nil { + return nil + } + return v.JavaMaxmetaspace + }).(pulumi.IntPtrOutput) +} + +// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. +func (o OpensearchInstanceParametersPtrOutput) MaxDiskThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v *OpensearchInstanceParameters) *int { + if v == nil { + return nil + } + return v.MaxDiskThreshold + }).(pulumi.IntPtrOutput) +} + +// The frequency in seconds at which metrics are emitted (in seconds). +func (o OpensearchInstanceParametersPtrOutput) MetricsFrequency() pulumi.IntPtrOutput { + return o.ApplyT(func(v *OpensearchInstanceParameters) *int { + if v == nil { + return nil + } + return v.MetricsFrequency + }).(pulumi.IntPtrOutput) +} + +// 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 OpensearchInstanceParametersPtrOutput) MetricsPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OpensearchInstanceParameters) *string { + if v == nil { + return nil + } + return v.MetricsPrefix + }).(pulumi.StringPtrOutput) +} + +// The ID of the STACKIT monitoring instance. +func (o OpensearchInstanceParametersPtrOutput) MonitoringInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OpensearchInstanceParameters) *string { + if v == nil { + return nil + } + return v.MonitoringInstanceId + }).(pulumi.StringPtrOutput) +} + +// 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 OpensearchInstanceParametersPtrOutput) Plugins() pulumi.StringArrayOutput { + return o.ApplyT(func(v *OpensearchInstanceParameters) []string { + if v == nil { + return nil + } + return v.Plugins + }).(pulumi.StringArrayOutput) +} + +// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. +func (o OpensearchInstanceParametersPtrOutput) SgwAcl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *OpensearchInstanceParameters) *string { + if v == nil { + return nil + } + return v.SgwAcl + }).(pulumi.StringPtrOutput) +} + +// List of syslog servers to send logs to. +func (o OpensearchInstanceParametersPtrOutput) Syslogs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *OpensearchInstanceParameters) []string { + if v == nil { + return nil + } + return v.Syslogs + }).(pulumi.StringArrayOutput) +} + +// List of TLS ciphers to use. +func (o OpensearchInstanceParametersPtrOutput) TlsCiphers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *OpensearchInstanceParameters) []string { + if v == nil { + return nil + } + return v.TlsCiphers + }).(pulumi.StringArrayOutput) +} + +// The TLS protocol to use. +func (o OpensearchInstanceParametersPtrOutput) TlsProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v *OpensearchInstanceParameters) []string { + if v == nil { + return nil + } + return v.TlsProtocols + }).(pulumi.StringArrayOutput) +} + +type PostgresflexInstanceFlavor struct { + Cpu int `pulumi:"cpu"` + Description *string `pulumi:"description"` + Id *string `pulumi:"id"` + Ram int `pulumi:"ram"` +} + +// PostgresflexInstanceFlavorInput is an input type that accepts PostgresflexInstanceFlavorArgs and PostgresflexInstanceFlavorOutput values. +// You can construct a concrete instance of `PostgresflexInstanceFlavorInput` via: +// +// PostgresflexInstanceFlavorArgs{...} +type PostgresflexInstanceFlavorInput interface { + pulumi.Input + + ToPostgresflexInstanceFlavorOutput() PostgresflexInstanceFlavorOutput + ToPostgresflexInstanceFlavorOutputWithContext(context.Context) PostgresflexInstanceFlavorOutput +} + +type PostgresflexInstanceFlavorArgs struct { + Cpu pulumi.IntInput `pulumi:"cpu"` + Description pulumi.StringPtrInput `pulumi:"description"` + Id pulumi.StringPtrInput `pulumi:"id"` + Ram pulumi.IntInput `pulumi:"ram"` +} + +func (PostgresflexInstanceFlavorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PostgresflexInstanceFlavor)(nil)).Elem() +} + +func (i PostgresflexInstanceFlavorArgs) ToPostgresflexInstanceFlavorOutput() PostgresflexInstanceFlavorOutput { + return i.ToPostgresflexInstanceFlavorOutputWithContext(context.Background()) +} + +func (i PostgresflexInstanceFlavorArgs) ToPostgresflexInstanceFlavorOutputWithContext(ctx context.Context) PostgresflexInstanceFlavorOutput { + return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceFlavorOutput) +} + +func (i PostgresflexInstanceFlavorArgs) ToPostgresflexInstanceFlavorPtrOutput() PostgresflexInstanceFlavorPtrOutput { + return i.ToPostgresflexInstanceFlavorPtrOutputWithContext(context.Background()) +} + +func (i PostgresflexInstanceFlavorArgs) ToPostgresflexInstanceFlavorPtrOutputWithContext(ctx context.Context) PostgresflexInstanceFlavorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceFlavorOutput).ToPostgresflexInstanceFlavorPtrOutputWithContext(ctx) +} + +// PostgresflexInstanceFlavorPtrInput is an input type that accepts PostgresflexInstanceFlavorArgs, PostgresflexInstanceFlavorPtr and PostgresflexInstanceFlavorPtrOutput values. +// You can construct a concrete instance of `PostgresflexInstanceFlavorPtrInput` via: +// +// PostgresflexInstanceFlavorArgs{...} +// +// or: +// +// nil +type PostgresflexInstanceFlavorPtrInput interface { + pulumi.Input + + ToPostgresflexInstanceFlavorPtrOutput() PostgresflexInstanceFlavorPtrOutput + ToPostgresflexInstanceFlavorPtrOutputWithContext(context.Context) PostgresflexInstanceFlavorPtrOutput +} + +type postgresflexInstanceFlavorPtrType PostgresflexInstanceFlavorArgs + +func PostgresflexInstanceFlavorPtr(v *PostgresflexInstanceFlavorArgs) PostgresflexInstanceFlavorPtrInput { + return (*postgresflexInstanceFlavorPtrType)(v) +} + +func (*postgresflexInstanceFlavorPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PostgresflexInstanceFlavor)(nil)).Elem() +} + +func (i *postgresflexInstanceFlavorPtrType) ToPostgresflexInstanceFlavorPtrOutput() PostgresflexInstanceFlavorPtrOutput { + return i.ToPostgresflexInstanceFlavorPtrOutputWithContext(context.Background()) +} + +func (i *postgresflexInstanceFlavorPtrType) ToPostgresflexInstanceFlavorPtrOutputWithContext(ctx context.Context) PostgresflexInstanceFlavorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceFlavorPtrOutput) +} + +type PostgresflexInstanceFlavorOutput struct{ *pulumi.OutputState } + +func (PostgresflexInstanceFlavorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PostgresflexInstanceFlavor)(nil)).Elem() +} + +func (o PostgresflexInstanceFlavorOutput) ToPostgresflexInstanceFlavorOutput() PostgresflexInstanceFlavorOutput { + return o +} + +func (o PostgresflexInstanceFlavorOutput) ToPostgresflexInstanceFlavorOutputWithContext(ctx context.Context) PostgresflexInstanceFlavorOutput { + return o +} + +func (o PostgresflexInstanceFlavorOutput) ToPostgresflexInstanceFlavorPtrOutput() PostgresflexInstanceFlavorPtrOutput { + return o.ToPostgresflexInstanceFlavorPtrOutputWithContext(context.Background()) +} + +func (o PostgresflexInstanceFlavorOutput) ToPostgresflexInstanceFlavorPtrOutputWithContext(ctx context.Context) PostgresflexInstanceFlavorPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PostgresflexInstanceFlavor) *PostgresflexInstanceFlavor { + return &v + }).(PostgresflexInstanceFlavorPtrOutput) +} + +func (o PostgresflexInstanceFlavorOutput) Cpu() pulumi.IntOutput { + return o.ApplyT(func(v PostgresflexInstanceFlavor) int { return v.Cpu }).(pulumi.IntOutput) +} + +func (o PostgresflexInstanceFlavorOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v PostgresflexInstanceFlavor) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +func (o PostgresflexInstanceFlavorOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v PostgresflexInstanceFlavor) *string { return v.Id }).(pulumi.StringPtrOutput) +} + +func (o PostgresflexInstanceFlavorOutput) Ram() pulumi.IntOutput { + return o.ApplyT(func(v PostgresflexInstanceFlavor) int { return v.Ram }).(pulumi.IntOutput) +} + +type PostgresflexInstanceFlavorPtrOutput struct{ *pulumi.OutputState } + +func (PostgresflexInstanceFlavorPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PostgresflexInstanceFlavor)(nil)).Elem() +} + +func (o PostgresflexInstanceFlavorPtrOutput) ToPostgresflexInstanceFlavorPtrOutput() PostgresflexInstanceFlavorPtrOutput { + return o +} + +func (o PostgresflexInstanceFlavorPtrOutput) ToPostgresflexInstanceFlavorPtrOutputWithContext(ctx context.Context) PostgresflexInstanceFlavorPtrOutput { + return o +} + +func (o PostgresflexInstanceFlavorPtrOutput) Elem() PostgresflexInstanceFlavorOutput { + return o.ApplyT(func(v *PostgresflexInstanceFlavor) PostgresflexInstanceFlavor { + if v != nil { + return *v + } + var ret PostgresflexInstanceFlavor + return ret + }).(PostgresflexInstanceFlavorOutput) +} + +func (o PostgresflexInstanceFlavorPtrOutput) Cpu() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PostgresflexInstanceFlavor) *int { + if v == nil { + return nil + } + return &v.Cpu + }).(pulumi.IntPtrOutput) +} + +func (o PostgresflexInstanceFlavorPtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PostgresflexInstanceFlavor) *string { + if v == nil { + return nil + } + return v.Description + }).(pulumi.StringPtrOutput) +} + +func (o PostgresflexInstanceFlavorPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PostgresflexInstanceFlavor) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) +} + +func (o PostgresflexInstanceFlavorPtrOutput) Ram() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PostgresflexInstanceFlavor) *int { + if v == nil { + return nil + } + return &v.Ram + }).(pulumi.IntPtrOutput) +} + +type PostgresflexInstanceStorage struct { + // The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + // `bash + // stackit postgresflex options --storages --flavor-id FLAVOR_ID + // ` + // - `size` (Number) + Class string `pulumi:"class"` + Size int `pulumi:"size"` +} + +// PostgresflexInstanceStorageInput is an input type that accepts PostgresflexInstanceStorageArgs and PostgresflexInstanceStorageOutput values. +// You can construct a concrete instance of `PostgresflexInstanceStorageInput` via: +// +// PostgresflexInstanceStorageArgs{...} +type PostgresflexInstanceStorageInput interface { + pulumi.Input + + ToPostgresflexInstanceStorageOutput() PostgresflexInstanceStorageOutput + ToPostgresflexInstanceStorageOutputWithContext(context.Context) PostgresflexInstanceStorageOutput +} + +type PostgresflexInstanceStorageArgs struct { + // The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + // `bash + // stackit postgresflex options --storages --flavor-id FLAVOR_ID + // ` + // - `size` (Number) + Class pulumi.StringInput `pulumi:"class"` + Size pulumi.IntInput `pulumi:"size"` +} + +func (PostgresflexInstanceStorageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*PostgresflexInstanceStorage)(nil)).Elem() +} + +func (i PostgresflexInstanceStorageArgs) ToPostgresflexInstanceStorageOutput() PostgresflexInstanceStorageOutput { + return i.ToPostgresflexInstanceStorageOutputWithContext(context.Background()) +} + +func (i PostgresflexInstanceStorageArgs) ToPostgresflexInstanceStorageOutputWithContext(ctx context.Context) PostgresflexInstanceStorageOutput { + return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceStorageOutput) +} + +func (i PostgresflexInstanceStorageArgs) ToPostgresflexInstanceStoragePtrOutput() PostgresflexInstanceStoragePtrOutput { + return i.ToPostgresflexInstanceStoragePtrOutputWithContext(context.Background()) +} + +func (i PostgresflexInstanceStorageArgs) ToPostgresflexInstanceStoragePtrOutputWithContext(ctx context.Context) PostgresflexInstanceStoragePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceStorageOutput).ToPostgresflexInstanceStoragePtrOutputWithContext(ctx) +} + +// PostgresflexInstanceStoragePtrInput is an input type that accepts PostgresflexInstanceStorageArgs, PostgresflexInstanceStoragePtr and PostgresflexInstanceStoragePtrOutput values. +// You can construct a concrete instance of `PostgresflexInstanceStoragePtrInput` via: +// +// PostgresflexInstanceStorageArgs{...} +// +// or: +// +// nil +type PostgresflexInstanceStoragePtrInput interface { + pulumi.Input + + ToPostgresflexInstanceStoragePtrOutput() PostgresflexInstanceStoragePtrOutput + ToPostgresflexInstanceStoragePtrOutputWithContext(context.Context) PostgresflexInstanceStoragePtrOutput +} + +type postgresflexInstanceStoragePtrType PostgresflexInstanceStorageArgs + +func PostgresflexInstanceStoragePtr(v *PostgresflexInstanceStorageArgs) PostgresflexInstanceStoragePtrInput { + return (*postgresflexInstanceStoragePtrType)(v) +} + +func (*postgresflexInstanceStoragePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**PostgresflexInstanceStorage)(nil)).Elem() +} + +func (i *postgresflexInstanceStoragePtrType) ToPostgresflexInstanceStoragePtrOutput() PostgresflexInstanceStoragePtrOutput { + return i.ToPostgresflexInstanceStoragePtrOutputWithContext(context.Background()) +} + +func (i *postgresflexInstanceStoragePtrType) ToPostgresflexInstanceStoragePtrOutputWithContext(ctx context.Context) PostgresflexInstanceStoragePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(PostgresflexInstanceStoragePtrOutput) +} + +type PostgresflexInstanceStorageOutput struct{ *pulumi.OutputState } + +func (PostgresflexInstanceStorageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*PostgresflexInstanceStorage)(nil)).Elem() +} + +func (o PostgresflexInstanceStorageOutput) ToPostgresflexInstanceStorageOutput() PostgresflexInstanceStorageOutput { + return o +} + +func (o PostgresflexInstanceStorageOutput) ToPostgresflexInstanceStorageOutputWithContext(ctx context.Context) PostgresflexInstanceStorageOutput { + return o +} + +func (o PostgresflexInstanceStorageOutput) ToPostgresflexInstanceStoragePtrOutput() PostgresflexInstanceStoragePtrOutput { + return o.ToPostgresflexInstanceStoragePtrOutputWithContext(context.Background()) +} + +func (o PostgresflexInstanceStorageOutput) ToPostgresflexInstanceStoragePtrOutputWithContext(ctx context.Context) PostgresflexInstanceStoragePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v PostgresflexInstanceStorage) *PostgresflexInstanceStorage { + return &v + }).(PostgresflexInstanceStoragePtrOutput) +} + +// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): +// `bash +// stackit postgresflex options --storages --flavor-id FLAVOR_ID +// ` +// - `size` (Number) +func (o PostgresflexInstanceStorageOutput) Class() pulumi.StringOutput { + return o.ApplyT(func(v PostgresflexInstanceStorage) string { return v.Class }).(pulumi.StringOutput) +} + +func (o PostgresflexInstanceStorageOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v PostgresflexInstanceStorage) int { return v.Size }).(pulumi.IntOutput) +} + +type PostgresflexInstanceStoragePtrOutput struct{ *pulumi.OutputState } + +func (PostgresflexInstanceStoragePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**PostgresflexInstanceStorage)(nil)).Elem() +} + +func (o PostgresflexInstanceStoragePtrOutput) ToPostgresflexInstanceStoragePtrOutput() PostgresflexInstanceStoragePtrOutput { + return o +} + +func (o PostgresflexInstanceStoragePtrOutput) ToPostgresflexInstanceStoragePtrOutputWithContext(ctx context.Context) PostgresflexInstanceStoragePtrOutput { + return o +} + +func (o PostgresflexInstanceStoragePtrOutput) Elem() PostgresflexInstanceStorageOutput { + return o.ApplyT(func(v *PostgresflexInstanceStorage) PostgresflexInstanceStorage { + if v != nil { + return *v + } + var ret PostgresflexInstanceStorage + return ret + }).(PostgresflexInstanceStorageOutput) +} + +// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): +// `bash +// stackit postgresflex options --storages --flavor-id FLAVOR_ID +// ` +// - `size` (Number) +func (o PostgresflexInstanceStoragePtrOutput) Class() pulumi.StringPtrOutput { + return o.ApplyT(func(v *PostgresflexInstanceStorage) *string { + if v == nil { + return nil + } + return &v.Class + }).(pulumi.StringPtrOutput) +} + +func (o PostgresflexInstanceStoragePtrOutput) Size() pulumi.IntPtrOutput { + return o.ApplyT(func(v *PostgresflexInstanceStorage) *int { + if v == nil { + return nil + } + return &v.Size + }).(pulumi.IntPtrOutput) +} + +type RabbitmqInstanceParameters 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"` +} + +// RabbitmqInstanceParametersInput is an input type that accepts RabbitmqInstanceParametersArgs and RabbitmqInstanceParametersOutput values. +// You can construct a concrete instance of `RabbitmqInstanceParametersInput` via: +// +// RabbitmqInstanceParametersArgs{...} +type RabbitmqInstanceParametersInput interface { + pulumi.Input + + ToRabbitmqInstanceParametersOutput() RabbitmqInstanceParametersOutput + ToRabbitmqInstanceParametersOutputWithContext(context.Context) RabbitmqInstanceParametersOutput +} + +type RabbitmqInstanceParametersArgs struct { + // The timeout in milliseconds for the consumer. + ConsumerTimeout pulumi.IntPtrInput `pulumi:"consumerTimeout"` + // Enable monitoring. + EnableMonitoring pulumi.BoolPtrInput `pulumi:"enableMonitoring"` + // Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. + Graphite pulumi.StringPtrInput `pulumi:"graphite"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold pulumi.IntPtrInput `pulumi:"maxDiskThreshold"` + // The frequency in seconds at which metrics are emitted. + MetricsFrequency pulumi.IntPtrInput `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.StringPtrInput `pulumi:"metricsPrefix"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId pulumi.StringPtrInput `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.StringPtrInput `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 (RabbitmqInstanceParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RabbitmqInstanceParameters)(nil)).Elem() +} + +func (i RabbitmqInstanceParametersArgs) ToRabbitmqInstanceParametersOutput() RabbitmqInstanceParametersOutput { + return i.ToRabbitmqInstanceParametersOutputWithContext(context.Background()) +} + +func (i RabbitmqInstanceParametersArgs) ToRabbitmqInstanceParametersOutputWithContext(ctx context.Context) RabbitmqInstanceParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(RabbitmqInstanceParametersOutput) +} + +func (i RabbitmqInstanceParametersArgs) ToRabbitmqInstanceParametersPtrOutput() RabbitmqInstanceParametersPtrOutput { + return i.ToRabbitmqInstanceParametersPtrOutputWithContext(context.Background()) +} + +func (i RabbitmqInstanceParametersArgs) ToRabbitmqInstanceParametersPtrOutputWithContext(ctx context.Context) RabbitmqInstanceParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RabbitmqInstanceParametersOutput).ToRabbitmqInstanceParametersPtrOutputWithContext(ctx) +} + +// RabbitmqInstanceParametersPtrInput is an input type that accepts RabbitmqInstanceParametersArgs, RabbitmqInstanceParametersPtr and RabbitmqInstanceParametersPtrOutput values. +// You can construct a concrete instance of `RabbitmqInstanceParametersPtrInput` via: +// +// RabbitmqInstanceParametersArgs{...} +// +// or: +// +// nil +type RabbitmqInstanceParametersPtrInput interface { + pulumi.Input + + ToRabbitmqInstanceParametersPtrOutput() RabbitmqInstanceParametersPtrOutput + ToRabbitmqInstanceParametersPtrOutputWithContext(context.Context) RabbitmqInstanceParametersPtrOutput +} + +type rabbitmqInstanceParametersPtrType RabbitmqInstanceParametersArgs + +func RabbitmqInstanceParametersPtr(v *RabbitmqInstanceParametersArgs) RabbitmqInstanceParametersPtrInput { + return (*rabbitmqInstanceParametersPtrType)(v) +} + +func (*rabbitmqInstanceParametersPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RabbitmqInstanceParameters)(nil)).Elem() +} + +func (i *rabbitmqInstanceParametersPtrType) ToRabbitmqInstanceParametersPtrOutput() RabbitmqInstanceParametersPtrOutput { + return i.ToRabbitmqInstanceParametersPtrOutputWithContext(context.Background()) +} + +func (i *rabbitmqInstanceParametersPtrType) ToRabbitmqInstanceParametersPtrOutputWithContext(ctx context.Context) RabbitmqInstanceParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RabbitmqInstanceParametersPtrOutput) +} + +type RabbitmqInstanceParametersOutput struct{ *pulumi.OutputState } + +func (RabbitmqInstanceParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RabbitmqInstanceParameters)(nil)).Elem() +} + +func (o RabbitmqInstanceParametersOutput) ToRabbitmqInstanceParametersOutput() RabbitmqInstanceParametersOutput { + return o +} + +func (o RabbitmqInstanceParametersOutput) ToRabbitmqInstanceParametersOutputWithContext(ctx context.Context) RabbitmqInstanceParametersOutput { + return o +} + +func (o RabbitmqInstanceParametersOutput) ToRabbitmqInstanceParametersPtrOutput() RabbitmqInstanceParametersPtrOutput { + return o.ToRabbitmqInstanceParametersPtrOutputWithContext(context.Background()) +} + +func (o RabbitmqInstanceParametersOutput) ToRabbitmqInstanceParametersPtrOutputWithContext(ctx context.Context) RabbitmqInstanceParametersPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RabbitmqInstanceParameters) *RabbitmqInstanceParameters { + return &v + }).(RabbitmqInstanceParametersPtrOutput) +} + +// The timeout in milliseconds for the consumer. +func (o RabbitmqInstanceParametersOutput) ConsumerTimeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v RabbitmqInstanceParameters) *int { return v.ConsumerTimeout }).(pulumi.IntPtrOutput) +} + +// Enable monitoring. +func (o RabbitmqInstanceParametersOutput) EnableMonitoring() pulumi.BoolPtrOutput { + return o.ApplyT(func(v RabbitmqInstanceParameters) *bool { return v.EnableMonitoring }).(pulumi.BoolPtrOutput) +} + +// Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. +func (o RabbitmqInstanceParametersOutput) Graphite() pulumi.StringPtrOutput { + return o.ApplyT(func(v RabbitmqInstanceParameters) *string { return v.Graphite }).(pulumi.StringPtrOutput) +} + +// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. +func (o RabbitmqInstanceParametersOutput) MaxDiskThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v RabbitmqInstanceParameters) *int { return v.MaxDiskThreshold }).(pulumi.IntPtrOutput) +} + +// The frequency in seconds at which metrics are emitted. +func (o RabbitmqInstanceParametersOutput) MetricsFrequency() pulumi.IntPtrOutput { + return o.ApplyT(func(v RabbitmqInstanceParameters) *int { return v.MetricsFrequency }).(pulumi.IntPtrOutput) +} + +// 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 RabbitmqInstanceParametersOutput) MetricsPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v RabbitmqInstanceParameters) *string { return v.MetricsPrefix }).(pulumi.StringPtrOutput) +} + +// The ID of the STACKIT monitoring instance. +func (o RabbitmqInstanceParametersOutput) MonitoringInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v RabbitmqInstanceParameters) *string { return v.MonitoringInstanceId }).(pulumi.StringPtrOutput) +} + +// List of plugins to install. Must be a supported plugin name. +func (o RabbitmqInstanceParametersOutput) Plugins() pulumi.StringArrayOutput { + return o.ApplyT(func(v RabbitmqInstanceParameters) []string { return v.Plugins }).(pulumi.StringArrayOutput) +} + +// List of roles to assign to the instance. +func (o RabbitmqInstanceParametersOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v RabbitmqInstanceParameters) []string { return v.Roles }).(pulumi.StringArrayOutput) +} + +// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. +func (o RabbitmqInstanceParametersOutput) SgwAcl() pulumi.StringPtrOutput { + return o.ApplyT(func(v RabbitmqInstanceParameters) *string { return v.SgwAcl }).(pulumi.StringPtrOutput) +} + +// List of syslog servers to send logs to. +func (o RabbitmqInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { + return o.ApplyT(func(v RabbitmqInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +} + +// List of TLS ciphers to use. +func (o RabbitmqInstanceParametersOutput) TlsCiphers() pulumi.StringArrayOutput { + return o.ApplyT(func(v RabbitmqInstanceParameters) []string { return v.TlsCiphers }).(pulumi.StringArrayOutput) +} + +// TLS protocol versions to use. +func (o RabbitmqInstanceParametersOutput) TlsProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v RabbitmqInstanceParameters) []string { return v.TlsProtocols }).(pulumi.StringArrayOutput) +} + +type RabbitmqInstanceParametersPtrOutput struct{ *pulumi.OutputState } + +func (RabbitmqInstanceParametersPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RabbitmqInstanceParameters)(nil)).Elem() +} + +func (o RabbitmqInstanceParametersPtrOutput) ToRabbitmqInstanceParametersPtrOutput() RabbitmqInstanceParametersPtrOutput { + return o +} + +func (o RabbitmqInstanceParametersPtrOutput) ToRabbitmqInstanceParametersPtrOutputWithContext(ctx context.Context) RabbitmqInstanceParametersPtrOutput { + return o +} + +func (o RabbitmqInstanceParametersPtrOutput) Elem() RabbitmqInstanceParametersOutput { + return o.ApplyT(func(v *RabbitmqInstanceParameters) RabbitmqInstanceParameters { + if v != nil { + return *v + } + var ret RabbitmqInstanceParameters + return ret + }).(RabbitmqInstanceParametersOutput) +} + +// The timeout in milliseconds for the consumer. +func (o RabbitmqInstanceParametersPtrOutput) ConsumerTimeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RabbitmqInstanceParameters) *int { + if v == nil { + return nil + } + return v.ConsumerTimeout + }).(pulumi.IntPtrOutput) +} + +// Enable monitoring. +func (o RabbitmqInstanceParametersPtrOutput) EnableMonitoring() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *RabbitmqInstanceParameters) *bool { + if v == nil { + return nil + } + return v.EnableMonitoring + }).(pulumi.BoolPtrOutput) +} + +// Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. +func (o RabbitmqInstanceParametersPtrOutput) Graphite() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RabbitmqInstanceParameters) *string { + if v == nil { + return nil + } + return v.Graphite + }).(pulumi.StringPtrOutput) +} + +// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. +func (o RabbitmqInstanceParametersPtrOutput) MaxDiskThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RabbitmqInstanceParameters) *int { + if v == nil { + return nil + } + return v.MaxDiskThreshold + }).(pulumi.IntPtrOutput) +} + +// The frequency in seconds at which metrics are emitted. +func (o RabbitmqInstanceParametersPtrOutput) MetricsFrequency() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RabbitmqInstanceParameters) *int { + if v == nil { + return nil + } + return v.MetricsFrequency + }).(pulumi.IntPtrOutput) +} + +// 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 RabbitmqInstanceParametersPtrOutput) MetricsPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RabbitmqInstanceParameters) *string { + if v == nil { + return nil + } + return v.MetricsPrefix + }).(pulumi.StringPtrOutput) +} + +// The ID of the STACKIT monitoring instance. +func (o RabbitmqInstanceParametersPtrOutput) MonitoringInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RabbitmqInstanceParameters) *string { + if v == nil { + return nil + } + return v.MonitoringInstanceId + }).(pulumi.StringPtrOutput) +} + +// List of plugins to install. Must be a supported plugin name. +func (o RabbitmqInstanceParametersPtrOutput) Plugins() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RabbitmqInstanceParameters) []string { + if v == nil { + return nil + } + return v.Plugins + }).(pulumi.StringArrayOutput) +} + +// List of roles to assign to the instance. +func (o RabbitmqInstanceParametersPtrOutput) Roles() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RabbitmqInstanceParameters) []string { + if v == nil { + return nil + } + return v.Roles + }).(pulumi.StringArrayOutput) +} + +// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. +func (o RabbitmqInstanceParametersPtrOutput) SgwAcl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RabbitmqInstanceParameters) *string { + if v == nil { + return nil + } + return v.SgwAcl + }).(pulumi.StringPtrOutput) +} + +// List of syslog servers to send logs to. +func (o RabbitmqInstanceParametersPtrOutput) Syslogs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RabbitmqInstanceParameters) []string { + if v == nil { + return nil + } + return v.Syslogs + }).(pulumi.StringArrayOutput) +} + +// List of TLS ciphers to use. +func (o RabbitmqInstanceParametersPtrOutput) TlsCiphers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RabbitmqInstanceParameters) []string { + if v == nil { + return nil + } + return v.TlsCiphers + }).(pulumi.StringArrayOutput) +} + +// TLS protocol versions to use. +func (o RabbitmqInstanceParametersPtrOutput) TlsProtocols() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RabbitmqInstanceParameters) []string { + if v == nil { + return nil + } + return v.TlsProtocols + }).(pulumi.StringArrayOutput) +} + +type RedisInstanceParameters 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"` +} + +// RedisInstanceParametersInput is an input type that accepts RedisInstanceParametersArgs and RedisInstanceParametersOutput values. +// You can construct a concrete instance of `RedisInstanceParametersInput` via: +// +// RedisInstanceParametersArgs{...} +type RedisInstanceParametersInput interface { + pulumi.Input + + ToRedisInstanceParametersOutput() RedisInstanceParametersOutput + ToRedisInstanceParametersOutputWithContext(context.Context) RedisInstanceParametersOutput +} + +type RedisInstanceParametersArgs struct { + // The number of milliseconds after which the instance is considered down. + DownAfterMilliseconds pulumi.IntPtrInput `pulumi:"downAfterMilliseconds"` + // Enable monitoring. + EnableMonitoring pulumi.BoolPtrInput `pulumi:"enableMonitoring"` + // The failover timeout in milliseconds. + FailoverTimeout pulumi.IntPtrInput `pulumi:"failoverTimeout"` + // Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. + Graphite pulumi.StringPtrInput `pulumi:"graphite"` + // The lazy eviction enablement (yes or no). + LazyfreeLazyEviction pulumi.StringPtrInput `pulumi:"lazyfreeLazyEviction"` + // The lazy expire enablement (yes or no). + LazyfreeLazyExpire pulumi.StringPtrInput `pulumi:"lazyfreeLazyExpire"` + // The Lua time limit. + LuaTimeLimit pulumi.IntPtrInput `pulumi:"luaTimeLimit"` + // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + MaxDiskThreshold pulumi.IntPtrInput `pulumi:"maxDiskThreshold"` + // The maximum number of clients. + Maxclients pulumi.IntPtrInput `pulumi:"maxclients"` + // The policy to handle the maximum memory (volatile-lru, noeviction, etc). + MaxmemoryPolicy pulumi.StringPtrInput `pulumi:"maxmemoryPolicy"` + // The maximum memory samples. + MaxmemorySamples pulumi.IntPtrInput `pulumi:"maxmemorySamples"` + // The frequency in seconds at which metrics are emitted. + MetricsFrequency pulumi.IntPtrInput `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.StringPtrInput `pulumi:"metricsPrefix"` + // The minimum replicas maximum lag. + MinReplicasMaxLag pulumi.IntPtrInput `pulumi:"minReplicasMaxLag"` + // The ID of the STACKIT monitoring instance. + MonitoringInstanceId pulumi.StringPtrInput `pulumi:"monitoringInstanceId"` + // The notify keyspace events. + NotifyKeyspaceEvents pulumi.StringPtrInput `pulumi:"notifyKeyspaceEvents"` + // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + SgwAcl pulumi.StringPtrInput `pulumi:"sgwAcl"` + // The snapshot configuration. + Snapshot pulumi.StringPtrInput `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.StringPtrInput `pulumi:"tlsCiphersuites"` + // TLS protocol to use. + TlsProtocols pulumi.StringPtrInput `pulumi:"tlsProtocols"` +} + +func (RedisInstanceParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RedisInstanceParameters)(nil)).Elem() +} + +func (i RedisInstanceParametersArgs) ToRedisInstanceParametersOutput() RedisInstanceParametersOutput { + return i.ToRedisInstanceParametersOutputWithContext(context.Background()) +} + +func (i RedisInstanceParametersArgs) ToRedisInstanceParametersOutputWithContext(ctx context.Context) RedisInstanceParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(RedisInstanceParametersOutput) +} + +func (i RedisInstanceParametersArgs) ToRedisInstanceParametersPtrOutput() RedisInstanceParametersPtrOutput { + return i.ToRedisInstanceParametersPtrOutputWithContext(context.Background()) +} + +func (i RedisInstanceParametersArgs) ToRedisInstanceParametersPtrOutputWithContext(ctx context.Context) RedisInstanceParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RedisInstanceParametersOutput).ToRedisInstanceParametersPtrOutputWithContext(ctx) +} + +// RedisInstanceParametersPtrInput is an input type that accepts RedisInstanceParametersArgs, RedisInstanceParametersPtr and RedisInstanceParametersPtrOutput values. +// You can construct a concrete instance of `RedisInstanceParametersPtrInput` via: +// +// RedisInstanceParametersArgs{...} +// +// or: +// +// nil +type RedisInstanceParametersPtrInput interface { + pulumi.Input + + ToRedisInstanceParametersPtrOutput() RedisInstanceParametersPtrOutput + ToRedisInstanceParametersPtrOutputWithContext(context.Context) RedisInstanceParametersPtrOutput +} + +type redisInstanceParametersPtrType RedisInstanceParametersArgs + +func RedisInstanceParametersPtr(v *RedisInstanceParametersArgs) RedisInstanceParametersPtrInput { + return (*redisInstanceParametersPtrType)(v) +} + +func (*redisInstanceParametersPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RedisInstanceParameters)(nil)).Elem() +} + +func (i *redisInstanceParametersPtrType) ToRedisInstanceParametersPtrOutput() RedisInstanceParametersPtrOutput { + return i.ToRedisInstanceParametersPtrOutputWithContext(context.Background()) +} + +func (i *redisInstanceParametersPtrType) ToRedisInstanceParametersPtrOutputWithContext(ctx context.Context) RedisInstanceParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RedisInstanceParametersPtrOutput) +} + +type RedisInstanceParametersOutput struct{ *pulumi.OutputState } + +func (RedisInstanceParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RedisInstanceParameters)(nil)).Elem() +} + +func (o RedisInstanceParametersOutput) ToRedisInstanceParametersOutput() RedisInstanceParametersOutput { + return o +} + +func (o RedisInstanceParametersOutput) ToRedisInstanceParametersOutputWithContext(ctx context.Context) RedisInstanceParametersOutput { + return o +} + +func (o RedisInstanceParametersOutput) ToRedisInstanceParametersPtrOutput() RedisInstanceParametersPtrOutput { + return o.ToRedisInstanceParametersPtrOutputWithContext(context.Background()) +} + +func (o RedisInstanceParametersOutput) ToRedisInstanceParametersPtrOutputWithContext(ctx context.Context) RedisInstanceParametersPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RedisInstanceParameters) *RedisInstanceParameters { + return &v + }).(RedisInstanceParametersPtrOutput) +} + +// The number of milliseconds after which the instance is considered down. +func (o RedisInstanceParametersOutput) DownAfterMilliseconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v RedisInstanceParameters) *int { return v.DownAfterMilliseconds }).(pulumi.IntPtrOutput) +} + +// Enable monitoring. +func (o RedisInstanceParametersOutput) EnableMonitoring() pulumi.BoolPtrOutput { + return o.ApplyT(func(v RedisInstanceParameters) *bool { return v.EnableMonitoring }).(pulumi.BoolPtrOutput) +} + +// The failover timeout in milliseconds. +func (o RedisInstanceParametersOutput) FailoverTimeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v RedisInstanceParameters) *int { return v.FailoverTimeout }).(pulumi.IntPtrOutput) +} + +// Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. +func (o RedisInstanceParametersOutput) Graphite() pulumi.StringPtrOutput { + return o.ApplyT(func(v RedisInstanceParameters) *string { return v.Graphite }).(pulumi.StringPtrOutput) +} + +// The lazy eviction enablement (yes or no). +func (o RedisInstanceParametersOutput) LazyfreeLazyEviction() pulumi.StringPtrOutput { + return o.ApplyT(func(v RedisInstanceParameters) *string { return v.LazyfreeLazyEviction }).(pulumi.StringPtrOutput) +} + +// The lazy expire enablement (yes or no). +func (o RedisInstanceParametersOutput) LazyfreeLazyExpire() pulumi.StringPtrOutput { + return o.ApplyT(func(v RedisInstanceParameters) *string { return v.LazyfreeLazyExpire }).(pulumi.StringPtrOutput) +} + +// The Lua time limit. +func (o RedisInstanceParametersOutput) LuaTimeLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v RedisInstanceParameters) *int { return v.LuaTimeLimit }).(pulumi.IntPtrOutput) +} + +// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. +func (o RedisInstanceParametersOutput) MaxDiskThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v RedisInstanceParameters) *int { return v.MaxDiskThreshold }).(pulumi.IntPtrOutput) +} + +// The maximum number of clients. +func (o RedisInstanceParametersOutput) Maxclients() pulumi.IntPtrOutput { + return o.ApplyT(func(v RedisInstanceParameters) *int { return v.Maxclients }).(pulumi.IntPtrOutput) +} + +// The policy to handle the maximum memory (volatile-lru, noeviction, etc). +func (o RedisInstanceParametersOutput) MaxmemoryPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v RedisInstanceParameters) *string { return v.MaxmemoryPolicy }).(pulumi.StringPtrOutput) +} + +// The maximum memory samples. +func (o RedisInstanceParametersOutput) MaxmemorySamples() pulumi.IntPtrOutput { + return o.ApplyT(func(v RedisInstanceParameters) *int { return v.MaxmemorySamples }).(pulumi.IntPtrOutput) +} + +// The frequency in seconds at which metrics are emitted. +func (o RedisInstanceParametersOutput) MetricsFrequency() pulumi.IntPtrOutput { + return o.ApplyT(func(v RedisInstanceParameters) *int { return v.MetricsFrequency }).(pulumi.IntPtrOutput) +} + +// 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 RedisInstanceParametersOutput) MetricsPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v RedisInstanceParameters) *string { return v.MetricsPrefix }).(pulumi.StringPtrOutput) +} + +// The minimum replicas maximum lag. +func (o RedisInstanceParametersOutput) MinReplicasMaxLag() pulumi.IntPtrOutput { + return o.ApplyT(func(v RedisInstanceParameters) *int { return v.MinReplicasMaxLag }).(pulumi.IntPtrOutput) +} + +// The ID of the STACKIT monitoring instance. +func (o RedisInstanceParametersOutput) MonitoringInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v RedisInstanceParameters) *string { return v.MonitoringInstanceId }).(pulumi.StringPtrOutput) +} + +// The notify keyspace events. +func (o RedisInstanceParametersOutput) NotifyKeyspaceEvents() pulumi.StringPtrOutput { + return o.ApplyT(func(v RedisInstanceParameters) *string { return v.NotifyKeyspaceEvents }).(pulumi.StringPtrOutput) +} + +// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. +func (o RedisInstanceParametersOutput) SgwAcl() pulumi.StringPtrOutput { + return o.ApplyT(func(v RedisInstanceParameters) *string { return v.SgwAcl }).(pulumi.StringPtrOutput) +} + +// The snapshot configuration. +func (o RedisInstanceParametersOutput) Snapshot() pulumi.StringPtrOutput { + return o.ApplyT(func(v RedisInstanceParameters) *string { return v.Snapshot }).(pulumi.StringPtrOutput) +} + +// List of syslog servers to send logs to. +func (o RedisInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { + return o.ApplyT(func(v RedisInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +} + +// List of TLS ciphers to use. +func (o RedisInstanceParametersOutput) TlsCiphers() pulumi.StringArrayOutput { + return o.ApplyT(func(v RedisInstanceParameters) []string { return v.TlsCiphers }).(pulumi.StringArrayOutput) +} + +// TLS cipher suites to use. +func (o RedisInstanceParametersOutput) TlsCiphersuites() pulumi.StringPtrOutput { + return o.ApplyT(func(v RedisInstanceParameters) *string { return v.TlsCiphersuites }).(pulumi.StringPtrOutput) +} + +// TLS protocol to use. +func (o RedisInstanceParametersOutput) TlsProtocols() pulumi.StringPtrOutput { + return o.ApplyT(func(v RedisInstanceParameters) *string { return v.TlsProtocols }).(pulumi.StringPtrOutput) +} + +type RedisInstanceParametersPtrOutput struct{ *pulumi.OutputState } + +func (RedisInstanceParametersPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RedisInstanceParameters)(nil)).Elem() +} + +func (o RedisInstanceParametersPtrOutput) ToRedisInstanceParametersPtrOutput() RedisInstanceParametersPtrOutput { + return o +} + +func (o RedisInstanceParametersPtrOutput) ToRedisInstanceParametersPtrOutputWithContext(ctx context.Context) RedisInstanceParametersPtrOutput { + return o +} + +func (o RedisInstanceParametersPtrOutput) Elem() RedisInstanceParametersOutput { + return o.ApplyT(func(v *RedisInstanceParameters) RedisInstanceParameters { + if v != nil { + return *v + } + var ret RedisInstanceParameters + return ret + }).(RedisInstanceParametersOutput) +} + +// The number of milliseconds after which the instance is considered down. +func (o RedisInstanceParametersPtrOutput) DownAfterMilliseconds() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RedisInstanceParameters) *int { + if v == nil { + return nil + } + return v.DownAfterMilliseconds + }).(pulumi.IntPtrOutput) +} + +// Enable monitoring. +func (o RedisInstanceParametersPtrOutput) EnableMonitoring() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *RedisInstanceParameters) *bool { + if v == nil { + return nil + } + return v.EnableMonitoring + }).(pulumi.BoolPtrOutput) +} + +// The failover timeout in milliseconds. +func (o RedisInstanceParametersPtrOutput) FailoverTimeout() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RedisInstanceParameters) *int { + if v == nil { + return nil + } + return v.FailoverTimeout + }).(pulumi.IntPtrOutput) +} + +// Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. +func (o RedisInstanceParametersPtrOutput) Graphite() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RedisInstanceParameters) *string { + if v == nil { + return nil + } + return v.Graphite + }).(pulumi.StringPtrOutput) +} + +// The lazy eviction enablement (yes or no). +func (o RedisInstanceParametersPtrOutput) LazyfreeLazyEviction() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RedisInstanceParameters) *string { + if v == nil { + return nil + } + return v.LazyfreeLazyEviction + }).(pulumi.StringPtrOutput) +} + +// The lazy expire enablement (yes or no). +func (o RedisInstanceParametersPtrOutput) LazyfreeLazyExpire() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RedisInstanceParameters) *string { + if v == nil { + return nil + } + return v.LazyfreeLazyExpire + }).(pulumi.StringPtrOutput) +} + +// The Lua time limit. +func (o RedisInstanceParametersPtrOutput) LuaTimeLimit() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RedisInstanceParameters) *int { + if v == nil { + return nil + } + return v.LuaTimeLimit + }).(pulumi.IntPtrOutput) +} + +// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. +func (o RedisInstanceParametersPtrOutput) MaxDiskThreshold() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RedisInstanceParameters) *int { + if v == nil { + return nil + } + return v.MaxDiskThreshold + }).(pulumi.IntPtrOutput) +} + +// The maximum number of clients. +func (o RedisInstanceParametersPtrOutput) Maxclients() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RedisInstanceParameters) *int { + if v == nil { + return nil + } + return v.Maxclients + }).(pulumi.IntPtrOutput) +} + +// The policy to handle the maximum memory (volatile-lru, noeviction, etc). +func (o RedisInstanceParametersPtrOutput) MaxmemoryPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RedisInstanceParameters) *string { + if v == nil { + return nil + } + return v.MaxmemoryPolicy + }).(pulumi.StringPtrOutput) +} + +// The maximum memory samples. +func (o RedisInstanceParametersPtrOutput) MaxmemorySamples() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RedisInstanceParameters) *int { + if v == nil { + return nil + } + return v.MaxmemorySamples + }).(pulumi.IntPtrOutput) +} + +// The frequency in seconds at which metrics are emitted. +func (o RedisInstanceParametersPtrOutput) MetricsFrequency() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RedisInstanceParameters) *int { + if v == nil { + return nil + } + return v.MetricsFrequency + }).(pulumi.IntPtrOutput) +} + +// 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 RedisInstanceParametersPtrOutput) MetricsPrefix() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RedisInstanceParameters) *string { + if v == nil { + return nil + } + return v.MetricsPrefix + }).(pulumi.StringPtrOutput) +} + +// The minimum replicas maximum lag. +func (o RedisInstanceParametersPtrOutput) MinReplicasMaxLag() pulumi.IntPtrOutput { + return o.ApplyT(func(v *RedisInstanceParameters) *int { + if v == nil { + return nil + } + return v.MinReplicasMaxLag + }).(pulumi.IntPtrOutput) +} + +// The ID of the STACKIT monitoring instance. +func (o RedisInstanceParametersPtrOutput) MonitoringInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RedisInstanceParameters) *string { + if v == nil { + return nil + } + return v.MonitoringInstanceId + }).(pulumi.StringPtrOutput) +} + +// The notify keyspace events. +func (o RedisInstanceParametersPtrOutput) NotifyKeyspaceEvents() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RedisInstanceParameters) *string { + if v == nil { + return nil + } + return v.NotifyKeyspaceEvents + }).(pulumi.StringPtrOutput) +} + +// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. +func (o RedisInstanceParametersPtrOutput) SgwAcl() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RedisInstanceParameters) *string { + if v == nil { + return nil + } + return v.SgwAcl + }).(pulumi.StringPtrOutput) +} + +// The snapshot configuration. +func (o RedisInstanceParametersPtrOutput) Snapshot() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RedisInstanceParameters) *string { + if v == nil { + return nil + } + return v.Snapshot + }).(pulumi.StringPtrOutput) +} + +// List of syslog servers to send logs to. +func (o RedisInstanceParametersPtrOutput) Syslogs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RedisInstanceParameters) []string { + if v == nil { + return nil + } + return v.Syslogs + }).(pulumi.StringArrayOutput) +} + +// List of TLS ciphers to use. +func (o RedisInstanceParametersPtrOutput) TlsCiphers() pulumi.StringArrayOutput { + return o.ApplyT(func(v *RedisInstanceParameters) []string { + if v == nil { + return nil + } + return v.TlsCiphers + }).(pulumi.StringArrayOutput) +} + +// TLS cipher suites to use. +func (o RedisInstanceParametersPtrOutput) TlsCiphersuites() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RedisInstanceParameters) *string { + if v == nil { + return nil + } + return v.TlsCiphersuites + }).(pulumi.StringPtrOutput) +} + +// TLS protocol to use. +func (o RedisInstanceParametersPtrOutput) TlsProtocols() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RedisInstanceParameters) *string { + if v == nil { + return nil + } + return v.TlsProtocols + }).(pulumi.StringPtrOutput) +} + +type RoutingTableRouteDestination 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"` +} + +// RoutingTableRouteDestinationInput is an input type that accepts RoutingTableRouteDestinationArgs and RoutingTableRouteDestinationOutput values. +// You can construct a concrete instance of `RoutingTableRouteDestinationInput` via: +// +// RoutingTableRouteDestinationArgs{...} +type RoutingTableRouteDestinationInput interface { + pulumi.Input + + ToRoutingTableRouteDestinationOutput() RoutingTableRouteDestinationOutput + ToRoutingTableRouteDestinationOutputWithContext(context.Context) RoutingTableRouteDestinationOutput +} + +type RoutingTableRouteDestinationArgs 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 (RoutingTableRouteDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RoutingTableRouteDestination)(nil)).Elem() +} + +func (i RoutingTableRouteDestinationArgs) ToRoutingTableRouteDestinationOutput() RoutingTableRouteDestinationOutput { + return i.ToRoutingTableRouteDestinationOutputWithContext(context.Background()) +} + +func (i RoutingTableRouteDestinationArgs) ToRoutingTableRouteDestinationOutputWithContext(ctx context.Context) RoutingTableRouteDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoutingTableRouteDestinationOutput) +} + +func (i RoutingTableRouteDestinationArgs) ToRoutingTableRouteDestinationPtrOutput() RoutingTableRouteDestinationPtrOutput { + return i.ToRoutingTableRouteDestinationPtrOutputWithContext(context.Background()) +} + +func (i RoutingTableRouteDestinationArgs) ToRoutingTableRouteDestinationPtrOutputWithContext(ctx context.Context) RoutingTableRouteDestinationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoutingTableRouteDestinationOutput).ToRoutingTableRouteDestinationPtrOutputWithContext(ctx) +} + +// RoutingTableRouteDestinationPtrInput is an input type that accepts RoutingTableRouteDestinationArgs, RoutingTableRouteDestinationPtr and RoutingTableRouteDestinationPtrOutput values. +// You can construct a concrete instance of `RoutingTableRouteDestinationPtrInput` via: +// +// RoutingTableRouteDestinationArgs{...} +// +// or: +// +// nil +type RoutingTableRouteDestinationPtrInput interface { + pulumi.Input + + ToRoutingTableRouteDestinationPtrOutput() RoutingTableRouteDestinationPtrOutput + ToRoutingTableRouteDestinationPtrOutputWithContext(context.Context) RoutingTableRouteDestinationPtrOutput +} + +type routingTableRouteDestinationPtrType RoutingTableRouteDestinationArgs + +func RoutingTableRouteDestinationPtr(v *RoutingTableRouteDestinationArgs) RoutingTableRouteDestinationPtrInput { + return (*routingTableRouteDestinationPtrType)(v) +} + +func (*routingTableRouteDestinationPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RoutingTableRouteDestination)(nil)).Elem() +} + +func (i *routingTableRouteDestinationPtrType) ToRoutingTableRouteDestinationPtrOutput() RoutingTableRouteDestinationPtrOutput { + return i.ToRoutingTableRouteDestinationPtrOutputWithContext(context.Background()) +} + +func (i *routingTableRouteDestinationPtrType) ToRoutingTableRouteDestinationPtrOutputWithContext(ctx context.Context) RoutingTableRouteDestinationPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoutingTableRouteDestinationPtrOutput) +} + +type RoutingTableRouteDestinationOutput struct{ *pulumi.OutputState } + +func (RoutingTableRouteDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RoutingTableRouteDestination)(nil)).Elem() +} + +func (o RoutingTableRouteDestinationOutput) ToRoutingTableRouteDestinationOutput() RoutingTableRouteDestinationOutput { + return o +} + +func (o RoutingTableRouteDestinationOutput) ToRoutingTableRouteDestinationOutputWithContext(ctx context.Context) RoutingTableRouteDestinationOutput { + return o +} + +func (o RoutingTableRouteDestinationOutput) ToRoutingTableRouteDestinationPtrOutput() RoutingTableRouteDestinationPtrOutput { + return o.ToRoutingTableRouteDestinationPtrOutputWithContext(context.Background()) +} + +func (o RoutingTableRouteDestinationOutput) ToRoutingTableRouteDestinationPtrOutputWithContext(ctx context.Context) RoutingTableRouteDestinationPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RoutingTableRouteDestination) *RoutingTableRouteDestination { + return &v + }).(RoutingTableRouteDestinationPtrOutput) +} + +// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. +func (o RoutingTableRouteDestinationOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v RoutingTableRouteDestination) string { return v.Type }).(pulumi.StringOutput) +} + +// An CIDR string. +func (o RoutingTableRouteDestinationOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v RoutingTableRouteDestination) string { return v.Value }).(pulumi.StringOutput) +} + +type RoutingTableRouteDestinationPtrOutput struct{ *pulumi.OutputState } + +func (RoutingTableRouteDestinationPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RoutingTableRouteDestination)(nil)).Elem() +} + +func (o RoutingTableRouteDestinationPtrOutput) ToRoutingTableRouteDestinationPtrOutput() RoutingTableRouteDestinationPtrOutput { + return o +} + +func (o RoutingTableRouteDestinationPtrOutput) ToRoutingTableRouteDestinationPtrOutputWithContext(ctx context.Context) RoutingTableRouteDestinationPtrOutput { + return o +} + +func (o RoutingTableRouteDestinationPtrOutput) Elem() RoutingTableRouteDestinationOutput { + return o.ApplyT(func(v *RoutingTableRouteDestination) RoutingTableRouteDestination { + if v != nil { + return *v + } + var ret RoutingTableRouteDestination + return ret + }).(RoutingTableRouteDestinationOutput) +} + +// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. +func (o RoutingTableRouteDestinationPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RoutingTableRouteDestination) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +// An CIDR string. +func (o RoutingTableRouteDestinationPtrOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RoutingTableRouteDestination) *string { + if v == nil { + return nil + } + return &v.Value + }).(pulumi.StringPtrOutput) +} + +type RoutingTableRouteNextHop 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"` +} + +// RoutingTableRouteNextHopInput is an input type that accepts RoutingTableRouteNextHopArgs and RoutingTableRouteNextHopOutput values. +// You can construct a concrete instance of `RoutingTableRouteNextHopInput` via: +// +// RoutingTableRouteNextHopArgs{...} +type RoutingTableRouteNextHopInput interface { + pulumi.Input + + ToRoutingTableRouteNextHopOutput() RoutingTableRouteNextHopOutput + ToRoutingTableRouteNextHopOutputWithContext(context.Context) RoutingTableRouteNextHopOutput +} + +type RoutingTableRouteNextHopArgs 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.StringPtrInput `pulumi:"value"` +} + +func (RoutingTableRouteNextHopArgs) ElementType() reflect.Type { + return reflect.TypeOf((*RoutingTableRouteNextHop)(nil)).Elem() +} + +func (i RoutingTableRouteNextHopArgs) ToRoutingTableRouteNextHopOutput() RoutingTableRouteNextHopOutput { + return i.ToRoutingTableRouteNextHopOutputWithContext(context.Background()) +} + +func (i RoutingTableRouteNextHopArgs) ToRoutingTableRouteNextHopOutputWithContext(ctx context.Context) RoutingTableRouteNextHopOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoutingTableRouteNextHopOutput) +} + +func (i RoutingTableRouteNextHopArgs) ToRoutingTableRouteNextHopPtrOutput() RoutingTableRouteNextHopPtrOutput { + return i.ToRoutingTableRouteNextHopPtrOutputWithContext(context.Background()) +} + +func (i RoutingTableRouteNextHopArgs) ToRoutingTableRouteNextHopPtrOutputWithContext(ctx context.Context) RoutingTableRouteNextHopPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoutingTableRouteNextHopOutput).ToRoutingTableRouteNextHopPtrOutputWithContext(ctx) +} + +// RoutingTableRouteNextHopPtrInput is an input type that accepts RoutingTableRouteNextHopArgs, RoutingTableRouteNextHopPtr and RoutingTableRouteNextHopPtrOutput values. +// You can construct a concrete instance of `RoutingTableRouteNextHopPtrInput` via: +// +// RoutingTableRouteNextHopArgs{...} +// +// or: +// +// nil +type RoutingTableRouteNextHopPtrInput interface { + pulumi.Input + + ToRoutingTableRouteNextHopPtrOutput() RoutingTableRouteNextHopPtrOutput + ToRoutingTableRouteNextHopPtrOutputWithContext(context.Context) RoutingTableRouteNextHopPtrOutput +} + +type routingTableRouteNextHopPtrType RoutingTableRouteNextHopArgs + +func RoutingTableRouteNextHopPtr(v *RoutingTableRouteNextHopArgs) RoutingTableRouteNextHopPtrInput { + return (*routingTableRouteNextHopPtrType)(v) +} + +func (*routingTableRouteNextHopPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**RoutingTableRouteNextHop)(nil)).Elem() +} + +func (i *routingTableRouteNextHopPtrType) ToRoutingTableRouteNextHopPtrOutput() RoutingTableRouteNextHopPtrOutput { + return i.ToRoutingTableRouteNextHopPtrOutputWithContext(context.Background()) +} + +func (i *routingTableRouteNextHopPtrType) ToRoutingTableRouteNextHopPtrOutputWithContext(ctx context.Context) RoutingTableRouteNextHopPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(RoutingTableRouteNextHopPtrOutput) +} + +type RoutingTableRouteNextHopOutput struct{ *pulumi.OutputState } + +func (RoutingTableRouteNextHopOutput) ElementType() reflect.Type { + return reflect.TypeOf((*RoutingTableRouteNextHop)(nil)).Elem() +} + +func (o RoutingTableRouteNextHopOutput) ToRoutingTableRouteNextHopOutput() RoutingTableRouteNextHopOutput { return o } -func (o RabbitmqInstanceParametersPtrOutput) Elem() RabbitmqInstanceParametersOutput { - return o.ApplyT(func(v *RabbitmqInstanceParameters) RabbitmqInstanceParameters { +func (o RoutingTableRouteNextHopOutput) ToRoutingTableRouteNextHopOutputWithContext(ctx context.Context) RoutingTableRouteNextHopOutput { + return o +} + +func (o RoutingTableRouteNextHopOutput) ToRoutingTableRouteNextHopPtrOutput() RoutingTableRouteNextHopPtrOutput { + return o.ToRoutingTableRouteNextHopPtrOutputWithContext(context.Background()) +} + +func (o RoutingTableRouteNextHopOutput) ToRoutingTableRouteNextHopPtrOutputWithContext(ctx context.Context) RoutingTableRouteNextHopPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v RoutingTableRouteNextHop) *RoutingTableRouteNextHop { + return &v + }).(RoutingTableRouteNextHopPtrOutput) +} + +// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. +func (o RoutingTableRouteNextHopOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v RoutingTableRouteNextHop) string { return v.Type }).(pulumi.StringOutput) +} + +// Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. +func (o RoutingTableRouteNextHopOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v RoutingTableRouteNextHop) *string { return v.Value }).(pulumi.StringPtrOutput) +} + +type RoutingTableRouteNextHopPtrOutput struct{ *pulumi.OutputState } + +func (RoutingTableRouteNextHopPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**RoutingTableRouteNextHop)(nil)).Elem() +} + +func (o RoutingTableRouteNextHopPtrOutput) ToRoutingTableRouteNextHopPtrOutput() RoutingTableRouteNextHopPtrOutput { + return o +} + +func (o RoutingTableRouteNextHopPtrOutput) ToRoutingTableRouteNextHopPtrOutputWithContext(ctx context.Context) RoutingTableRouteNextHopPtrOutput { + return o +} + +func (o RoutingTableRouteNextHopPtrOutput) Elem() RoutingTableRouteNextHopOutput { + return o.ApplyT(func(v *RoutingTableRouteNextHop) RoutingTableRouteNextHop { if v != nil { return *v } - var ret RabbitmqInstanceParameters + var ret RoutingTableRouteNextHop return ret - }).(RabbitmqInstanceParametersOutput) + }).(RoutingTableRouteNextHopOutput) } -// The timeout in milliseconds for the consumer. -func (o RabbitmqInstanceParametersPtrOutput) ConsumerTimeout() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RabbitmqInstanceParameters) *int { +// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. +func (o RoutingTableRouteNextHopPtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RoutingTableRouteNextHop) *string { if v == nil { return nil } - return v.ConsumerTimeout - }).(pulumi.IntPtrOutput) + return &v.Type + }).(pulumi.StringPtrOutput) } -// Enable monitoring. -func (o RabbitmqInstanceParametersPtrOutput) EnableMonitoring() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *RabbitmqInstanceParameters) *bool { +// Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. +func (o RoutingTableRouteNextHopPtrOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v *RoutingTableRouteNextHop) *string { if v == nil { return nil } - return v.EnableMonitoring - }).(pulumi.BoolPtrOutput) + return v.Value + }).(pulumi.StringPtrOutput) } -// Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. -func (o RabbitmqInstanceParametersPtrOutput) Graphite() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RabbitmqInstanceParameters) *string { - if v == nil { - return nil - } - return v.Graphite - }).(pulumi.StringPtrOutput) +type SecretsmanagerInstanceKmsKey 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 maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. -func (o RabbitmqInstanceParametersPtrOutput) MaxDiskThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RabbitmqInstanceParameters) *int { - if v == nil { - return nil - } - return v.MaxDiskThreshold - }).(pulumi.IntPtrOutput) +// SecretsmanagerInstanceKmsKeyInput is an input type that accepts SecretsmanagerInstanceKmsKeyArgs and SecretsmanagerInstanceKmsKeyOutput values. +// You can construct a concrete instance of `SecretsmanagerInstanceKmsKeyInput` via: +// +// SecretsmanagerInstanceKmsKeyArgs{...} +type SecretsmanagerInstanceKmsKeyInput interface { + pulumi.Input + + ToSecretsmanagerInstanceKmsKeyOutput() SecretsmanagerInstanceKmsKeyOutput + ToSecretsmanagerInstanceKmsKeyOutputWithContext(context.Context) SecretsmanagerInstanceKmsKeyOutput } -// The frequency in seconds at which metrics are emitted. -func (o RabbitmqInstanceParametersPtrOutput) MetricsFrequency() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RabbitmqInstanceParameters) *int { - if v == nil { - return nil +type SecretsmanagerInstanceKmsKeyArgs 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"` +} + +func (SecretsmanagerInstanceKmsKeyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SecretsmanagerInstanceKmsKey)(nil)).Elem() +} + +func (i SecretsmanagerInstanceKmsKeyArgs) ToSecretsmanagerInstanceKmsKeyOutput() SecretsmanagerInstanceKmsKeyOutput { + return i.ToSecretsmanagerInstanceKmsKeyOutputWithContext(context.Background()) +} + +func (i SecretsmanagerInstanceKmsKeyArgs) ToSecretsmanagerInstanceKmsKeyOutputWithContext(ctx context.Context) SecretsmanagerInstanceKmsKeyOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecretsmanagerInstanceKmsKeyOutput) +} + +func (i SecretsmanagerInstanceKmsKeyArgs) ToSecretsmanagerInstanceKmsKeyPtrOutput() SecretsmanagerInstanceKmsKeyPtrOutput { + return i.ToSecretsmanagerInstanceKmsKeyPtrOutputWithContext(context.Background()) +} + +func (i SecretsmanagerInstanceKmsKeyArgs) ToSecretsmanagerInstanceKmsKeyPtrOutputWithContext(ctx context.Context) SecretsmanagerInstanceKmsKeyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecretsmanagerInstanceKmsKeyOutput).ToSecretsmanagerInstanceKmsKeyPtrOutputWithContext(ctx) +} + +// SecretsmanagerInstanceKmsKeyPtrInput is an input type that accepts SecretsmanagerInstanceKmsKeyArgs, SecretsmanagerInstanceKmsKeyPtr and SecretsmanagerInstanceKmsKeyPtrOutput values. +// You can construct a concrete instance of `SecretsmanagerInstanceKmsKeyPtrInput` via: +// +// SecretsmanagerInstanceKmsKeyArgs{...} +// +// or: +// +// nil +type SecretsmanagerInstanceKmsKeyPtrInput interface { + pulumi.Input + + ToSecretsmanagerInstanceKmsKeyPtrOutput() SecretsmanagerInstanceKmsKeyPtrOutput + ToSecretsmanagerInstanceKmsKeyPtrOutputWithContext(context.Context) SecretsmanagerInstanceKmsKeyPtrOutput +} + +type secretsmanagerInstanceKmsKeyPtrType SecretsmanagerInstanceKmsKeyArgs + +func SecretsmanagerInstanceKmsKeyPtr(v *SecretsmanagerInstanceKmsKeyArgs) SecretsmanagerInstanceKmsKeyPtrInput { + return (*secretsmanagerInstanceKmsKeyPtrType)(v) +} + +func (*secretsmanagerInstanceKmsKeyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SecretsmanagerInstanceKmsKey)(nil)).Elem() +} + +func (i *secretsmanagerInstanceKmsKeyPtrType) ToSecretsmanagerInstanceKmsKeyPtrOutput() SecretsmanagerInstanceKmsKeyPtrOutput { + return i.ToSecretsmanagerInstanceKmsKeyPtrOutputWithContext(context.Background()) +} + +func (i *secretsmanagerInstanceKmsKeyPtrType) ToSecretsmanagerInstanceKmsKeyPtrOutputWithContext(ctx context.Context) SecretsmanagerInstanceKmsKeyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecretsmanagerInstanceKmsKeyPtrOutput) +} + +type SecretsmanagerInstanceKmsKeyOutput struct{ *pulumi.OutputState } + +func (SecretsmanagerInstanceKmsKeyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecretsmanagerInstanceKmsKey)(nil)).Elem() +} + +func (o SecretsmanagerInstanceKmsKeyOutput) ToSecretsmanagerInstanceKmsKeyOutput() SecretsmanagerInstanceKmsKeyOutput { + return o +} + +func (o SecretsmanagerInstanceKmsKeyOutput) ToSecretsmanagerInstanceKmsKeyOutputWithContext(ctx context.Context) SecretsmanagerInstanceKmsKeyOutput { + return o +} + +func (o SecretsmanagerInstanceKmsKeyOutput) ToSecretsmanagerInstanceKmsKeyPtrOutput() SecretsmanagerInstanceKmsKeyPtrOutput { + return o.ToSecretsmanagerInstanceKmsKeyPtrOutputWithContext(context.Background()) +} + +func (o SecretsmanagerInstanceKmsKeyOutput) ToSecretsmanagerInstanceKmsKeyPtrOutputWithContext(ctx context.Context) SecretsmanagerInstanceKmsKeyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SecretsmanagerInstanceKmsKey) *SecretsmanagerInstanceKmsKey { + return &v + }).(SecretsmanagerInstanceKmsKeyPtrOutput) +} + +// UUID of the key within the STACKIT-KMS to use for the encryption. +func (o SecretsmanagerInstanceKmsKeyOutput) KeyId() pulumi.StringOutput { + return o.ApplyT(func(v SecretsmanagerInstanceKmsKey) string { return v.KeyId }).(pulumi.StringOutput) +} + +// UUID of the keyring where the key is located within the STACKTI-KMS. +func (o SecretsmanagerInstanceKmsKeyOutput) KeyRingId() pulumi.StringOutput { + return o.ApplyT(func(v SecretsmanagerInstanceKmsKey) string { return v.KeyRingId }).(pulumi.StringOutput) +} + +// Version of the key within the STACKIT-KMS to use for the encryption. +func (o SecretsmanagerInstanceKmsKeyOutput) KeyVersion() pulumi.IntOutput { + return o.ApplyT(func(v SecretsmanagerInstanceKmsKey) int { return v.KeyVersion }).(pulumi.IntOutput) +} + +// Service-Account linked to the Key within the STACKIT-KMS. +func (o SecretsmanagerInstanceKmsKeyOutput) ServiceAccountEmail() pulumi.StringOutput { + return o.ApplyT(func(v SecretsmanagerInstanceKmsKey) string { return v.ServiceAccountEmail }).(pulumi.StringOutput) +} + +type SecretsmanagerInstanceKmsKeyPtrOutput struct{ *pulumi.OutputState } + +func (SecretsmanagerInstanceKmsKeyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SecretsmanagerInstanceKmsKey)(nil)).Elem() +} + +func (o SecretsmanagerInstanceKmsKeyPtrOutput) ToSecretsmanagerInstanceKmsKeyPtrOutput() SecretsmanagerInstanceKmsKeyPtrOutput { + return o +} + +func (o SecretsmanagerInstanceKmsKeyPtrOutput) ToSecretsmanagerInstanceKmsKeyPtrOutputWithContext(ctx context.Context) SecretsmanagerInstanceKmsKeyPtrOutput { + return o +} + +func (o SecretsmanagerInstanceKmsKeyPtrOutput) Elem() SecretsmanagerInstanceKmsKeyOutput { + return o.ApplyT(func(v *SecretsmanagerInstanceKmsKey) SecretsmanagerInstanceKmsKey { + if v != nil { + return *v } - return v.MetricsFrequency - }).(pulumi.IntPtrOutput) + var ret SecretsmanagerInstanceKmsKey + return ret + }).(SecretsmanagerInstanceKmsKeyOutput) } -// 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 RabbitmqInstanceParametersPtrOutput) MetricsPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RabbitmqInstanceParameters) *string { +// UUID of the key within the STACKIT-KMS to use for the encryption. +func (o SecretsmanagerInstanceKmsKeyPtrOutput) KeyId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SecretsmanagerInstanceKmsKey) *string { if v == nil { return nil } - return v.MetricsPrefix + return &v.KeyId }).(pulumi.StringPtrOutput) } -// The ID of the STACKIT monitoring instance. -func (o RabbitmqInstanceParametersPtrOutput) MonitoringInstanceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RabbitmqInstanceParameters) *string { +// UUID of the keyring where the key is located within the STACKTI-KMS. +func (o SecretsmanagerInstanceKmsKeyPtrOutput) KeyRingId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SecretsmanagerInstanceKmsKey) *string { if v == nil { return nil } - return v.MonitoringInstanceId + return &v.KeyRingId }).(pulumi.StringPtrOutput) } -// List of plugins to install. Must be a supported plugin name. -func (o RabbitmqInstanceParametersPtrOutput) Plugins() pulumi.StringArrayOutput { - return o.ApplyT(func(v *RabbitmqInstanceParameters) []string { +// Version of the key within the STACKIT-KMS to use for the encryption. +func (o SecretsmanagerInstanceKmsKeyPtrOutput) KeyVersion() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SecretsmanagerInstanceKmsKey) *int { if v == nil { return nil } - return v.Plugins - }).(pulumi.StringArrayOutput) + return &v.KeyVersion + }).(pulumi.IntPtrOutput) } -// List of roles to assign to the instance. -func (o RabbitmqInstanceParametersPtrOutput) Roles() pulumi.StringArrayOutput { - return o.ApplyT(func(v *RabbitmqInstanceParameters) []string { +// Service-Account linked to the Key within the STACKIT-KMS. +func (o SecretsmanagerInstanceKmsKeyPtrOutput) ServiceAccountEmail() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SecretsmanagerInstanceKmsKey) *string { if v == nil { return nil } - return v.Roles - }).(pulumi.StringArrayOutput) + return &v.ServiceAccountEmail + }).(pulumi.StringPtrOutput) } -// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. -func (o RabbitmqInstanceParametersPtrOutput) SgwAcl() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RabbitmqInstanceParameters) *string { - if v == nil { - return nil - } - return v.SgwAcl - }).(pulumi.StringPtrOutput) +type SecurityGroupRuleIcmpParameters 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"` } -// List of syslog servers to send logs to. -func (o RabbitmqInstanceParametersPtrOutput) Syslogs() pulumi.StringArrayOutput { - return o.ApplyT(func(v *RabbitmqInstanceParameters) []string { - if v == nil { - return nil +// SecurityGroupRuleIcmpParametersInput is an input type that accepts SecurityGroupRuleIcmpParametersArgs and SecurityGroupRuleIcmpParametersOutput values. +// You can construct a concrete instance of `SecurityGroupRuleIcmpParametersInput` via: +// +// SecurityGroupRuleIcmpParametersArgs{...} +type SecurityGroupRuleIcmpParametersInput interface { + pulumi.Input + + ToSecurityGroupRuleIcmpParametersOutput() SecurityGroupRuleIcmpParametersOutput + ToSecurityGroupRuleIcmpParametersOutputWithContext(context.Context) SecurityGroupRuleIcmpParametersOutput +} + +type SecurityGroupRuleIcmpParametersArgs 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 (SecurityGroupRuleIcmpParametersArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityGroupRuleIcmpParameters)(nil)).Elem() +} + +func (i SecurityGroupRuleIcmpParametersArgs) ToSecurityGroupRuleIcmpParametersOutput() SecurityGroupRuleIcmpParametersOutput { + return i.ToSecurityGroupRuleIcmpParametersOutputWithContext(context.Background()) +} + +func (i SecurityGroupRuleIcmpParametersArgs) ToSecurityGroupRuleIcmpParametersOutputWithContext(ctx context.Context) SecurityGroupRuleIcmpParametersOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupRuleIcmpParametersOutput) +} + +func (i SecurityGroupRuleIcmpParametersArgs) ToSecurityGroupRuleIcmpParametersPtrOutput() SecurityGroupRuleIcmpParametersPtrOutput { + return i.ToSecurityGroupRuleIcmpParametersPtrOutputWithContext(context.Background()) +} + +func (i SecurityGroupRuleIcmpParametersArgs) ToSecurityGroupRuleIcmpParametersPtrOutputWithContext(ctx context.Context) SecurityGroupRuleIcmpParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupRuleIcmpParametersOutput).ToSecurityGroupRuleIcmpParametersPtrOutputWithContext(ctx) +} + +// SecurityGroupRuleIcmpParametersPtrInput is an input type that accepts SecurityGroupRuleIcmpParametersArgs, SecurityGroupRuleIcmpParametersPtr and SecurityGroupRuleIcmpParametersPtrOutput values. +// You can construct a concrete instance of `SecurityGroupRuleIcmpParametersPtrInput` via: +// +// SecurityGroupRuleIcmpParametersArgs{...} +// +// or: +// +// nil +type SecurityGroupRuleIcmpParametersPtrInput interface { + pulumi.Input + + ToSecurityGroupRuleIcmpParametersPtrOutput() SecurityGroupRuleIcmpParametersPtrOutput + ToSecurityGroupRuleIcmpParametersPtrOutputWithContext(context.Context) SecurityGroupRuleIcmpParametersPtrOutput +} + +type securityGroupRuleIcmpParametersPtrType SecurityGroupRuleIcmpParametersArgs + +func SecurityGroupRuleIcmpParametersPtr(v *SecurityGroupRuleIcmpParametersArgs) SecurityGroupRuleIcmpParametersPtrInput { + return (*securityGroupRuleIcmpParametersPtrType)(v) +} + +func (*securityGroupRuleIcmpParametersPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityGroupRuleIcmpParameters)(nil)).Elem() +} + +func (i *securityGroupRuleIcmpParametersPtrType) ToSecurityGroupRuleIcmpParametersPtrOutput() SecurityGroupRuleIcmpParametersPtrOutput { + return i.ToSecurityGroupRuleIcmpParametersPtrOutputWithContext(context.Background()) +} + +func (i *securityGroupRuleIcmpParametersPtrType) ToSecurityGroupRuleIcmpParametersPtrOutputWithContext(ctx context.Context) SecurityGroupRuleIcmpParametersPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupRuleIcmpParametersPtrOutput) +} + +type SecurityGroupRuleIcmpParametersOutput struct{ *pulumi.OutputState } + +func (SecurityGroupRuleIcmpParametersOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityGroupRuleIcmpParameters)(nil)).Elem() +} + +func (o SecurityGroupRuleIcmpParametersOutput) ToSecurityGroupRuleIcmpParametersOutput() SecurityGroupRuleIcmpParametersOutput { + return o +} + +func (o SecurityGroupRuleIcmpParametersOutput) ToSecurityGroupRuleIcmpParametersOutputWithContext(ctx context.Context) SecurityGroupRuleIcmpParametersOutput { + return o +} + +func (o SecurityGroupRuleIcmpParametersOutput) ToSecurityGroupRuleIcmpParametersPtrOutput() SecurityGroupRuleIcmpParametersPtrOutput { + return o.ToSecurityGroupRuleIcmpParametersPtrOutputWithContext(context.Background()) +} + +func (o SecurityGroupRuleIcmpParametersOutput) ToSecurityGroupRuleIcmpParametersPtrOutputWithContext(ctx context.Context) SecurityGroupRuleIcmpParametersPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SecurityGroupRuleIcmpParameters) *SecurityGroupRuleIcmpParameters { + return &v + }).(SecurityGroupRuleIcmpParametersPtrOutput) +} + +// ICMP code. Can be set if the protocol is ICMP. +func (o SecurityGroupRuleIcmpParametersOutput) Code() pulumi.IntOutput { + return o.ApplyT(func(v SecurityGroupRuleIcmpParameters) int { return v.Code }).(pulumi.IntOutput) +} + +// ICMP type. Can be set if the protocol is ICMP. +func (o SecurityGroupRuleIcmpParametersOutput) Type() pulumi.IntOutput { + return o.ApplyT(func(v SecurityGroupRuleIcmpParameters) int { return v.Type }).(pulumi.IntOutput) +} + +type SecurityGroupRuleIcmpParametersPtrOutput struct{ *pulumi.OutputState } + +func (SecurityGroupRuleIcmpParametersPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityGroupRuleIcmpParameters)(nil)).Elem() +} + +func (o SecurityGroupRuleIcmpParametersPtrOutput) ToSecurityGroupRuleIcmpParametersPtrOutput() SecurityGroupRuleIcmpParametersPtrOutput { + return o +} + +func (o SecurityGroupRuleIcmpParametersPtrOutput) ToSecurityGroupRuleIcmpParametersPtrOutputWithContext(ctx context.Context) SecurityGroupRuleIcmpParametersPtrOutput { + return o +} + +func (o SecurityGroupRuleIcmpParametersPtrOutput) Elem() SecurityGroupRuleIcmpParametersOutput { + return o.ApplyT(func(v *SecurityGroupRuleIcmpParameters) SecurityGroupRuleIcmpParameters { + if v != nil { + return *v } - return v.Syslogs - }).(pulumi.StringArrayOutput) + var ret SecurityGroupRuleIcmpParameters + return ret + }).(SecurityGroupRuleIcmpParametersOutput) } -// List of TLS ciphers to use. -func (o RabbitmqInstanceParametersPtrOutput) TlsCiphers() pulumi.StringArrayOutput { - return o.ApplyT(func(v *RabbitmqInstanceParameters) []string { +// ICMP code. Can be set if the protocol is ICMP. +func (o SecurityGroupRuleIcmpParametersPtrOutput) Code() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SecurityGroupRuleIcmpParameters) *int { if v == nil { return nil } - return v.TlsCiphers - }).(pulumi.StringArrayOutput) + return &v.Code + }).(pulumi.IntPtrOutput) } -// TLS protocol versions to use. -func (o RabbitmqInstanceParametersPtrOutput) TlsProtocols() pulumi.StringArrayOutput { - return o.ApplyT(func(v *RabbitmqInstanceParameters) []string { +// ICMP type. Can be set if the protocol is ICMP. +func (o SecurityGroupRuleIcmpParametersPtrOutput) Type() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SecurityGroupRuleIcmpParameters) *int { if v == nil { return nil } - return v.TlsProtocols - }).(pulumi.StringArrayOutput) -} - -type RedisInstanceParameters 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"` + return &v.Type + }).(pulumi.IntPtrOutput) } -// RedisInstanceParametersInput is an input type that accepts RedisInstanceParametersArgs and RedisInstanceParametersOutput values. -// You can construct a concrete instance of `RedisInstanceParametersInput` via: +type SecurityGroupRulePortRange 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 maximum. + Min int `pulumi:"min"` +} + +// SecurityGroupRulePortRangeInput is an input type that accepts SecurityGroupRulePortRangeArgs and SecurityGroupRulePortRangeOutput values. +// You can construct a concrete instance of `SecurityGroupRulePortRangeInput` via: // -// RedisInstanceParametersArgs{...} -type RedisInstanceParametersInput interface { +// SecurityGroupRulePortRangeArgs{...} +type SecurityGroupRulePortRangeInput interface { pulumi.Input - ToRedisInstanceParametersOutput() RedisInstanceParametersOutput - ToRedisInstanceParametersOutputWithContext(context.Context) RedisInstanceParametersOutput + ToSecurityGroupRulePortRangeOutput() SecurityGroupRulePortRangeOutput + ToSecurityGroupRulePortRangeOutputWithContext(context.Context) SecurityGroupRulePortRangeOutput } -type RedisInstanceParametersArgs struct { - // The number of milliseconds after which the instance is considered down. - DownAfterMilliseconds pulumi.IntPtrInput `pulumi:"downAfterMilliseconds"` - // Enable monitoring. - EnableMonitoring pulumi.BoolPtrInput `pulumi:"enableMonitoring"` - // The failover timeout in milliseconds. - FailoverTimeout pulumi.IntPtrInput `pulumi:"failoverTimeout"` - // Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. - Graphite pulumi.StringPtrInput `pulumi:"graphite"` - // The lazy eviction enablement (yes or no). - LazyfreeLazyEviction pulumi.StringPtrInput `pulumi:"lazyfreeLazyEviction"` - // The lazy expire enablement (yes or no). - LazyfreeLazyExpire pulumi.StringPtrInput `pulumi:"lazyfreeLazyExpire"` - // The Lua time limit. - LuaTimeLimit pulumi.IntPtrInput `pulumi:"luaTimeLimit"` - // The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. - MaxDiskThreshold pulumi.IntPtrInput `pulumi:"maxDiskThreshold"` - // The maximum number of clients. - Maxclients pulumi.IntPtrInput `pulumi:"maxclients"` - // The policy to handle the maximum memory (volatile-lru, noeviction, etc). - MaxmemoryPolicy pulumi.StringPtrInput `pulumi:"maxmemoryPolicy"` - // The maximum memory samples. - MaxmemorySamples pulumi.IntPtrInput `pulumi:"maxmemorySamples"` - // The frequency in seconds at which metrics are emitted. - MetricsFrequency pulumi.IntPtrInput `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.StringPtrInput `pulumi:"metricsPrefix"` - // The minimum replicas maximum lag. - MinReplicasMaxLag pulumi.IntPtrInput `pulumi:"minReplicasMaxLag"` - // The ID of the STACKIT monitoring instance. - MonitoringInstanceId pulumi.StringPtrInput `pulumi:"monitoringInstanceId"` - // The notify keyspace events. - NotifyKeyspaceEvents pulumi.StringPtrInput `pulumi:"notifyKeyspaceEvents"` - // Comma separated list of IP networks in CIDR notation which are allowed to access this instance. - SgwAcl pulumi.StringPtrInput `pulumi:"sgwAcl"` - // The snapshot configuration. - Snapshot pulumi.StringPtrInput `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.StringPtrInput `pulumi:"tlsCiphersuites"` - // TLS protocol to use. - TlsProtocols pulumi.StringPtrInput `pulumi:"tlsProtocols"` +type SecurityGroupRulePortRangeArgs 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 maximum. + Min pulumi.IntInput `pulumi:"min"` } -func (RedisInstanceParametersArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RedisInstanceParameters)(nil)).Elem() +func (SecurityGroupRulePortRangeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityGroupRulePortRange)(nil)).Elem() } -func (i RedisInstanceParametersArgs) ToRedisInstanceParametersOutput() RedisInstanceParametersOutput { - return i.ToRedisInstanceParametersOutputWithContext(context.Background()) +func (i SecurityGroupRulePortRangeArgs) ToSecurityGroupRulePortRangeOutput() SecurityGroupRulePortRangeOutput { + return i.ToSecurityGroupRulePortRangeOutputWithContext(context.Background()) } -func (i RedisInstanceParametersArgs) ToRedisInstanceParametersOutputWithContext(ctx context.Context) RedisInstanceParametersOutput { - return pulumi.ToOutputWithContext(ctx, i).(RedisInstanceParametersOutput) +func (i SecurityGroupRulePortRangeArgs) ToSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) SecurityGroupRulePortRangeOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupRulePortRangeOutput) } -func (i RedisInstanceParametersArgs) ToRedisInstanceParametersPtrOutput() RedisInstanceParametersPtrOutput { - return i.ToRedisInstanceParametersPtrOutputWithContext(context.Background()) +func (i SecurityGroupRulePortRangeArgs) ToSecurityGroupRulePortRangePtrOutput() SecurityGroupRulePortRangePtrOutput { + return i.ToSecurityGroupRulePortRangePtrOutputWithContext(context.Background()) } -func (i RedisInstanceParametersArgs) ToRedisInstanceParametersPtrOutputWithContext(ctx context.Context) RedisInstanceParametersPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RedisInstanceParametersOutput).ToRedisInstanceParametersPtrOutputWithContext(ctx) +func (i SecurityGroupRulePortRangeArgs) ToSecurityGroupRulePortRangePtrOutputWithContext(ctx context.Context) SecurityGroupRulePortRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupRulePortRangeOutput).ToSecurityGroupRulePortRangePtrOutputWithContext(ctx) } -// RedisInstanceParametersPtrInput is an input type that accepts RedisInstanceParametersArgs, RedisInstanceParametersPtr and RedisInstanceParametersPtrOutput values. -// You can construct a concrete instance of `RedisInstanceParametersPtrInput` via: +// SecurityGroupRulePortRangePtrInput is an input type that accepts SecurityGroupRulePortRangeArgs, SecurityGroupRulePortRangePtr and SecurityGroupRulePortRangePtrOutput values. +// You can construct a concrete instance of `SecurityGroupRulePortRangePtrInput` via: // -// RedisInstanceParametersArgs{...} +// SecurityGroupRulePortRangeArgs{...} // // or: // // nil -type RedisInstanceParametersPtrInput interface { +type SecurityGroupRulePortRangePtrInput interface { pulumi.Input - ToRedisInstanceParametersPtrOutput() RedisInstanceParametersPtrOutput - ToRedisInstanceParametersPtrOutputWithContext(context.Context) RedisInstanceParametersPtrOutput + ToSecurityGroupRulePortRangePtrOutput() SecurityGroupRulePortRangePtrOutput + ToSecurityGroupRulePortRangePtrOutputWithContext(context.Context) SecurityGroupRulePortRangePtrOutput } -type redisInstanceParametersPtrType RedisInstanceParametersArgs +type securityGroupRulePortRangePtrType SecurityGroupRulePortRangeArgs -func RedisInstanceParametersPtr(v *RedisInstanceParametersArgs) RedisInstanceParametersPtrInput { - return (*redisInstanceParametersPtrType)(v) +func SecurityGroupRulePortRangePtr(v *SecurityGroupRulePortRangeArgs) SecurityGroupRulePortRangePtrInput { + return (*securityGroupRulePortRangePtrType)(v) } -func (*redisInstanceParametersPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RedisInstanceParameters)(nil)).Elem() +func (*securityGroupRulePortRangePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityGroupRulePortRange)(nil)).Elem() } -func (i *redisInstanceParametersPtrType) ToRedisInstanceParametersPtrOutput() RedisInstanceParametersPtrOutput { - return i.ToRedisInstanceParametersPtrOutputWithContext(context.Background()) +func (i *securityGroupRulePortRangePtrType) ToSecurityGroupRulePortRangePtrOutput() SecurityGroupRulePortRangePtrOutput { + return i.ToSecurityGroupRulePortRangePtrOutputWithContext(context.Background()) } -func (i *redisInstanceParametersPtrType) ToRedisInstanceParametersPtrOutputWithContext(ctx context.Context) RedisInstanceParametersPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RedisInstanceParametersPtrOutput) +func (i *securityGroupRulePortRangePtrType) ToSecurityGroupRulePortRangePtrOutputWithContext(ctx context.Context) SecurityGroupRulePortRangePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupRulePortRangePtrOutput) } -type RedisInstanceParametersOutput struct{ *pulumi.OutputState } +type SecurityGroupRulePortRangeOutput struct{ *pulumi.OutputState } -func (RedisInstanceParametersOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RedisInstanceParameters)(nil)).Elem() +func (SecurityGroupRulePortRangeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityGroupRulePortRange)(nil)).Elem() } -func (o RedisInstanceParametersOutput) ToRedisInstanceParametersOutput() RedisInstanceParametersOutput { +func (o SecurityGroupRulePortRangeOutput) ToSecurityGroupRulePortRangeOutput() SecurityGroupRulePortRangeOutput { return o } -func (o RedisInstanceParametersOutput) ToRedisInstanceParametersOutputWithContext(ctx context.Context) RedisInstanceParametersOutput { +func (o SecurityGroupRulePortRangeOutput) ToSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) SecurityGroupRulePortRangeOutput { return o } -func (o RedisInstanceParametersOutput) ToRedisInstanceParametersPtrOutput() RedisInstanceParametersPtrOutput { - return o.ToRedisInstanceParametersPtrOutputWithContext(context.Background()) +func (o SecurityGroupRulePortRangeOutput) ToSecurityGroupRulePortRangePtrOutput() SecurityGroupRulePortRangePtrOutput { + return o.ToSecurityGroupRulePortRangePtrOutputWithContext(context.Background()) } -func (o RedisInstanceParametersOutput) ToRedisInstanceParametersPtrOutputWithContext(ctx context.Context) RedisInstanceParametersPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RedisInstanceParameters) *RedisInstanceParameters { +func (o SecurityGroupRulePortRangeOutput) ToSecurityGroupRulePortRangePtrOutputWithContext(ctx context.Context) SecurityGroupRulePortRangePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SecurityGroupRulePortRange) *SecurityGroupRulePortRange { return &v - }).(RedisInstanceParametersPtrOutput) + }).(SecurityGroupRulePortRangePtrOutput) } -// The number of milliseconds after which the instance is considered down. -func (o RedisInstanceParametersOutput) DownAfterMilliseconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v RedisInstanceParameters) *int { return v.DownAfterMilliseconds }).(pulumi.IntPtrOutput) +// The maximum port number. Should be greater or equal to the minimum. +func (o SecurityGroupRulePortRangeOutput) Max() pulumi.IntOutput { + return o.ApplyT(func(v SecurityGroupRulePortRange) int { return v.Max }).(pulumi.IntOutput) } -// Enable monitoring. -func (o RedisInstanceParametersOutput) EnableMonitoring() pulumi.BoolPtrOutput { - return o.ApplyT(func(v RedisInstanceParameters) *bool { return v.EnableMonitoring }).(pulumi.BoolPtrOutput) +// The minimum port number. Should be less or equal to the maximum. +func (o SecurityGroupRulePortRangeOutput) Min() pulumi.IntOutput { + return o.ApplyT(func(v SecurityGroupRulePortRange) int { return v.Min }).(pulumi.IntOutput) } -// The failover timeout in milliseconds. -func (o RedisInstanceParametersOutput) FailoverTimeout() pulumi.IntPtrOutput { - return o.ApplyT(func(v RedisInstanceParameters) *int { return v.FailoverTimeout }).(pulumi.IntPtrOutput) +type SecurityGroupRulePortRangePtrOutput struct{ *pulumi.OutputState } + +func (SecurityGroupRulePortRangePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityGroupRulePortRange)(nil)).Elem() } -// Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. -func (o RedisInstanceParametersOutput) Graphite() pulumi.StringPtrOutput { - return o.ApplyT(func(v RedisInstanceParameters) *string { return v.Graphite }).(pulumi.StringPtrOutput) +func (o SecurityGroupRulePortRangePtrOutput) ToSecurityGroupRulePortRangePtrOutput() SecurityGroupRulePortRangePtrOutput { + return o } -// The lazy eviction enablement (yes or no). -func (o RedisInstanceParametersOutput) LazyfreeLazyEviction() pulumi.StringPtrOutput { - return o.ApplyT(func(v RedisInstanceParameters) *string { return v.LazyfreeLazyEviction }).(pulumi.StringPtrOutput) +func (o SecurityGroupRulePortRangePtrOutput) ToSecurityGroupRulePortRangePtrOutputWithContext(ctx context.Context) SecurityGroupRulePortRangePtrOutput { + return o } -// The lazy expire enablement (yes or no). -func (o RedisInstanceParametersOutput) LazyfreeLazyExpire() pulumi.StringPtrOutput { - return o.ApplyT(func(v RedisInstanceParameters) *string { return v.LazyfreeLazyExpire }).(pulumi.StringPtrOutput) +func (o SecurityGroupRulePortRangePtrOutput) Elem() SecurityGroupRulePortRangeOutput { + return o.ApplyT(func(v *SecurityGroupRulePortRange) SecurityGroupRulePortRange { + if v != nil { + return *v + } + var ret SecurityGroupRulePortRange + return ret + }).(SecurityGroupRulePortRangeOutput) } -// The Lua time limit. -func (o RedisInstanceParametersOutput) LuaTimeLimit() pulumi.IntPtrOutput { - return o.ApplyT(func(v RedisInstanceParameters) *int { return v.LuaTimeLimit }).(pulumi.IntPtrOutput) +// The maximum port number. Should be greater or equal to the minimum. +func (o SecurityGroupRulePortRangePtrOutput) Max() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SecurityGroupRulePortRange) *int { + if v == nil { + return nil + } + return &v.Max + }).(pulumi.IntPtrOutput) } -// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. -func (o RedisInstanceParametersOutput) MaxDiskThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v RedisInstanceParameters) *int { return v.MaxDiskThreshold }).(pulumi.IntPtrOutput) +// The minimum port number. Should be less or equal to the maximum. +func (o SecurityGroupRulePortRangePtrOutput) Min() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SecurityGroupRulePortRange) *int { + if v == nil { + return nil + } + return &v.Min + }).(pulumi.IntPtrOutput) } -// The maximum number of clients. -func (o RedisInstanceParametersOutput) Maxclients() pulumi.IntPtrOutput { - return o.ApplyT(func(v RedisInstanceParameters) *int { return v.Maxclients }).(pulumi.IntPtrOutput) +type SecurityGroupRuleProtocol struct { + // The protocol name which the rule should match. Either `name` or `number` must be provided. Possible values are: `ah`, `dccp`, `egp`, `esp`, `gre`, `icmp`, `igmp`, `ipip`, `ipv6-encap`, `ipv6-frag`, `ipv6-icmp`, `ipv6-nonxt`, `ipv6-opts`, `ipv6-route`, `ospf`, `pgm`, `rsvp`, `sctp`, `tcp`, `udp`, `udplite`, `vrrp`. + Name *string `pulumi:"name"` + // The protocol number which the rule should match. Either `name` or `number` must be provided. + Number *int `pulumi:"number"` +} + +// SecurityGroupRuleProtocolInput is an input type that accepts SecurityGroupRuleProtocolArgs and SecurityGroupRuleProtocolOutput values. +// You can construct a concrete instance of `SecurityGroupRuleProtocolInput` via: +// +// SecurityGroupRuleProtocolArgs{...} +type SecurityGroupRuleProtocolInput interface { + pulumi.Input + + ToSecurityGroupRuleProtocolOutput() SecurityGroupRuleProtocolOutput + ToSecurityGroupRuleProtocolOutputWithContext(context.Context) SecurityGroupRuleProtocolOutput +} + +type SecurityGroupRuleProtocolArgs struct { + // The protocol name which the rule should match. Either `name` or `number` must be provided. Possible values are: `ah`, `dccp`, `egp`, `esp`, `gre`, `icmp`, `igmp`, `ipip`, `ipv6-encap`, `ipv6-frag`, `ipv6-icmp`, `ipv6-nonxt`, `ipv6-opts`, `ipv6-route`, `ospf`, `pgm`, `rsvp`, `sctp`, `tcp`, `udp`, `udplite`, `vrrp`. + Name pulumi.StringPtrInput `pulumi:"name"` + // The protocol number which the rule should match. Either `name` or `number` must be provided. + Number pulumi.IntPtrInput `pulumi:"number"` +} + +func (SecurityGroupRuleProtocolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityGroupRuleProtocol)(nil)).Elem() +} + +func (i SecurityGroupRuleProtocolArgs) ToSecurityGroupRuleProtocolOutput() SecurityGroupRuleProtocolOutput { + return i.ToSecurityGroupRuleProtocolOutputWithContext(context.Background()) +} + +func (i SecurityGroupRuleProtocolArgs) ToSecurityGroupRuleProtocolOutputWithContext(ctx context.Context) SecurityGroupRuleProtocolOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupRuleProtocolOutput) +} + +func (i SecurityGroupRuleProtocolArgs) ToSecurityGroupRuleProtocolPtrOutput() SecurityGroupRuleProtocolPtrOutput { + return i.ToSecurityGroupRuleProtocolPtrOutputWithContext(context.Background()) +} + +func (i SecurityGroupRuleProtocolArgs) ToSecurityGroupRuleProtocolPtrOutputWithContext(ctx context.Context) SecurityGroupRuleProtocolPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupRuleProtocolOutput).ToSecurityGroupRuleProtocolPtrOutputWithContext(ctx) } -// The policy to handle the maximum memory (volatile-lru, noeviction, etc). -func (o RedisInstanceParametersOutput) MaxmemoryPolicy() pulumi.StringPtrOutput { - return o.ApplyT(func(v RedisInstanceParameters) *string { return v.MaxmemoryPolicy }).(pulumi.StringPtrOutput) +// SecurityGroupRuleProtocolPtrInput is an input type that accepts SecurityGroupRuleProtocolArgs, SecurityGroupRuleProtocolPtr and SecurityGroupRuleProtocolPtrOutput values. +// You can construct a concrete instance of `SecurityGroupRuleProtocolPtrInput` via: +// +// SecurityGroupRuleProtocolArgs{...} +// +// or: +// +// nil +type SecurityGroupRuleProtocolPtrInput interface { + pulumi.Input + + ToSecurityGroupRuleProtocolPtrOutput() SecurityGroupRuleProtocolPtrOutput + ToSecurityGroupRuleProtocolPtrOutputWithContext(context.Context) SecurityGroupRuleProtocolPtrOutput } -// The maximum memory samples. -func (o RedisInstanceParametersOutput) MaxmemorySamples() pulumi.IntPtrOutput { - return o.ApplyT(func(v RedisInstanceParameters) *int { return v.MaxmemorySamples }).(pulumi.IntPtrOutput) -} +type securityGroupRuleProtocolPtrType SecurityGroupRuleProtocolArgs -// The frequency in seconds at which metrics are emitted. -func (o RedisInstanceParametersOutput) MetricsFrequency() pulumi.IntPtrOutput { - return o.ApplyT(func(v RedisInstanceParameters) *int { return v.MetricsFrequency }).(pulumi.IntPtrOutput) +func SecurityGroupRuleProtocolPtr(v *SecurityGroupRuleProtocolArgs) SecurityGroupRuleProtocolPtrInput { + return (*securityGroupRuleProtocolPtrType)(v) } -// 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 RedisInstanceParametersOutput) MetricsPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v RedisInstanceParameters) *string { return v.MetricsPrefix }).(pulumi.StringPtrOutput) +func (*securityGroupRuleProtocolPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityGroupRuleProtocol)(nil)).Elem() } -// The minimum replicas maximum lag. -func (o RedisInstanceParametersOutput) MinReplicasMaxLag() pulumi.IntPtrOutput { - return o.ApplyT(func(v RedisInstanceParameters) *int { return v.MinReplicasMaxLag }).(pulumi.IntPtrOutput) +func (i *securityGroupRuleProtocolPtrType) ToSecurityGroupRuleProtocolPtrOutput() SecurityGroupRuleProtocolPtrOutput { + return i.ToSecurityGroupRuleProtocolPtrOutputWithContext(context.Background()) } -// The ID of the STACKIT monitoring instance. -func (o RedisInstanceParametersOutput) MonitoringInstanceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v RedisInstanceParameters) *string { return v.MonitoringInstanceId }).(pulumi.StringPtrOutput) +func (i *securityGroupRuleProtocolPtrType) ToSecurityGroupRuleProtocolPtrOutputWithContext(ctx context.Context) SecurityGroupRuleProtocolPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupRuleProtocolPtrOutput) } -// The notify keyspace events. -func (o RedisInstanceParametersOutput) NotifyKeyspaceEvents() pulumi.StringPtrOutput { - return o.ApplyT(func(v RedisInstanceParameters) *string { return v.NotifyKeyspaceEvents }).(pulumi.StringPtrOutput) +type SecurityGroupRuleProtocolOutput struct{ *pulumi.OutputState } + +func (SecurityGroupRuleProtocolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SecurityGroupRuleProtocol)(nil)).Elem() } -// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. -func (o RedisInstanceParametersOutput) SgwAcl() pulumi.StringPtrOutput { - return o.ApplyT(func(v RedisInstanceParameters) *string { return v.SgwAcl }).(pulumi.StringPtrOutput) +func (o SecurityGroupRuleProtocolOutput) ToSecurityGroupRuleProtocolOutput() SecurityGroupRuleProtocolOutput { + return o } -// The snapshot configuration. -func (o RedisInstanceParametersOutput) Snapshot() pulumi.StringPtrOutput { - return o.ApplyT(func(v RedisInstanceParameters) *string { return v.Snapshot }).(pulumi.StringPtrOutput) +func (o SecurityGroupRuleProtocolOutput) ToSecurityGroupRuleProtocolOutputWithContext(ctx context.Context) SecurityGroupRuleProtocolOutput { + return o } -// List of syslog servers to send logs to. -func (o RedisInstanceParametersOutput) Syslogs() pulumi.StringArrayOutput { - return o.ApplyT(func(v RedisInstanceParameters) []string { return v.Syslogs }).(pulumi.StringArrayOutput) +func (o SecurityGroupRuleProtocolOutput) ToSecurityGroupRuleProtocolPtrOutput() SecurityGroupRuleProtocolPtrOutput { + return o.ToSecurityGroupRuleProtocolPtrOutputWithContext(context.Background()) } -// List of TLS ciphers to use. -func (o RedisInstanceParametersOutput) TlsCiphers() pulumi.StringArrayOutput { - return o.ApplyT(func(v RedisInstanceParameters) []string { return v.TlsCiphers }).(pulumi.StringArrayOutput) +func (o SecurityGroupRuleProtocolOutput) ToSecurityGroupRuleProtocolPtrOutputWithContext(ctx context.Context) SecurityGroupRuleProtocolPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SecurityGroupRuleProtocol) *SecurityGroupRuleProtocol { + return &v + }).(SecurityGroupRuleProtocolPtrOutput) } -// TLS cipher suites to use. -func (o RedisInstanceParametersOutput) TlsCiphersuites() pulumi.StringPtrOutput { - return o.ApplyT(func(v RedisInstanceParameters) *string { return v.TlsCiphersuites }).(pulumi.StringPtrOutput) +// The protocol name which the rule should match. Either `name` or `number` must be provided. Possible values are: `ah`, `dccp`, `egp`, `esp`, `gre`, `icmp`, `igmp`, `ipip`, `ipv6-encap`, `ipv6-frag`, `ipv6-icmp`, `ipv6-nonxt`, `ipv6-opts`, `ipv6-route`, `ospf`, `pgm`, `rsvp`, `sctp`, `tcp`, `udp`, `udplite`, `vrrp`. +func (o SecurityGroupRuleProtocolOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v SecurityGroupRuleProtocol) *string { return v.Name }).(pulumi.StringPtrOutput) } -// TLS protocol to use. -func (o RedisInstanceParametersOutput) TlsProtocols() pulumi.StringPtrOutput { - return o.ApplyT(func(v RedisInstanceParameters) *string { return v.TlsProtocols }).(pulumi.StringPtrOutput) +// The protocol number which the rule should match. Either `name` or `number` must be provided. +func (o SecurityGroupRuleProtocolOutput) Number() pulumi.IntPtrOutput { + return o.ApplyT(func(v SecurityGroupRuleProtocol) *int { return v.Number }).(pulumi.IntPtrOutput) } -type RedisInstanceParametersPtrOutput struct{ *pulumi.OutputState } +type SecurityGroupRuleProtocolPtrOutput struct{ *pulumi.OutputState } -func (RedisInstanceParametersPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RedisInstanceParameters)(nil)).Elem() +func (SecurityGroupRuleProtocolPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SecurityGroupRuleProtocol)(nil)).Elem() } -func (o RedisInstanceParametersPtrOutput) ToRedisInstanceParametersPtrOutput() RedisInstanceParametersPtrOutput { +func (o SecurityGroupRuleProtocolPtrOutput) ToSecurityGroupRuleProtocolPtrOutput() SecurityGroupRuleProtocolPtrOutput { return o } -func (o RedisInstanceParametersPtrOutput) ToRedisInstanceParametersPtrOutputWithContext(ctx context.Context) RedisInstanceParametersPtrOutput { +func (o SecurityGroupRuleProtocolPtrOutput) ToSecurityGroupRuleProtocolPtrOutputWithContext(ctx context.Context) SecurityGroupRuleProtocolPtrOutput { return o } -func (o RedisInstanceParametersPtrOutput) Elem() RedisInstanceParametersOutput { - return o.ApplyT(func(v *RedisInstanceParameters) RedisInstanceParameters { +func (o SecurityGroupRuleProtocolPtrOutput) Elem() SecurityGroupRuleProtocolOutput { + return o.ApplyT(func(v *SecurityGroupRuleProtocol) SecurityGroupRuleProtocol { if v != nil { return *v } - var ret RedisInstanceParameters + var ret SecurityGroupRuleProtocol return ret - }).(RedisInstanceParametersOutput) + }).(SecurityGroupRuleProtocolOutput) } -// The number of milliseconds after which the instance is considered down. -func (o RedisInstanceParametersPtrOutput) DownAfterMilliseconds() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RedisInstanceParameters) *int { +// The protocol name which the rule should match. Either `name` or `number` must be provided. Possible values are: `ah`, `dccp`, `egp`, `esp`, `gre`, `icmp`, `igmp`, `ipip`, `ipv6-encap`, `ipv6-frag`, `ipv6-icmp`, `ipv6-nonxt`, `ipv6-opts`, `ipv6-route`, `ospf`, `pgm`, `rsvp`, `sctp`, `tcp`, `udp`, `udplite`, `vrrp`. +func (o SecurityGroupRuleProtocolPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SecurityGroupRuleProtocol) *string { if v == nil { return nil } - return v.DownAfterMilliseconds - }).(pulumi.IntPtrOutput) + return v.Name + }).(pulumi.StringPtrOutput) } -// Enable monitoring. -func (o RedisInstanceParametersPtrOutput) EnableMonitoring() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *RedisInstanceParameters) *bool { +// The protocol number which the rule should match. Either `name` or `number` must be provided. +func (o SecurityGroupRuleProtocolPtrOutput) Number() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SecurityGroupRuleProtocol) *int { if v == nil { return nil } - return v.EnableMonitoring - }).(pulumi.BoolPtrOutput) + return v.Number + }).(pulumi.IntPtrOutput) } -// The failover timeout in milliseconds. -func (o RedisInstanceParametersPtrOutput) FailoverTimeout() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RedisInstanceParameters) *int { - if v == nil { - return nil - } - return v.FailoverTimeout - }).(pulumi.IntPtrOutput) +type ServerAgent struct { + // Whether a STACKIT Server Agent is provisioned at the server + Provisioned *bool `pulumi:"provisioned"` + // Agent provisioning policy: `ALWAYS`, `NEVER`, or `INHERIT`. `INHERIT` follows the image default value. + ProvisioningPolicy *string `pulumi:"provisioningPolicy"` } -// Graphite server URL (host and port). If set, monitoring with Graphite will be enabled. -func (o RedisInstanceParametersPtrOutput) Graphite() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RedisInstanceParameters) *string { - if v == nil { - return nil - } - return v.Graphite - }).(pulumi.StringPtrOutput) +// ServerAgentInput is an input type that accepts ServerAgentArgs and ServerAgentOutput values. +// You can construct a concrete instance of `ServerAgentInput` via: +// +// ServerAgentArgs{...} +type ServerAgentInput interface { + pulumi.Input + + ToServerAgentOutput() ServerAgentOutput + ToServerAgentOutputWithContext(context.Context) ServerAgentOutput } -// The lazy eviction enablement (yes or no). -func (o RedisInstanceParametersPtrOutput) LazyfreeLazyEviction() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RedisInstanceParameters) *string { - if v == nil { - return nil - } - return v.LazyfreeLazyEviction - }).(pulumi.StringPtrOutput) +type ServerAgentArgs struct { + // Whether a STACKIT Server Agent is provisioned at the server + Provisioned pulumi.BoolPtrInput `pulumi:"provisioned"` + // Agent provisioning policy: `ALWAYS`, `NEVER`, or `INHERIT`. `INHERIT` follows the image default value. + ProvisioningPolicy pulumi.StringPtrInput `pulumi:"provisioningPolicy"` } -// The lazy expire enablement (yes or no). -func (o RedisInstanceParametersPtrOutput) LazyfreeLazyExpire() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RedisInstanceParameters) *string { - if v == nil { - return nil - } - return v.LazyfreeLazyExpire - }).(pulumi.StringPtrOutput) +func (ServerAgentArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServerAgent)(nil)).Elem() } -// The Lua time limit. -func (o RedisInstanceParametersPtrOutput) LuaTimeLimit() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RedisInstanceParameters) *int { - if v == nil { - return nil - } - return v.LuaTimeLimit - }).(pulumi.IntPtrOutput) +func (i ServerAgentArgs) ToServerAgentOutput() ServerAgentOutput { + return i.ToServerAgentOutputWithContext(context.Background()) } -// The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. -func (o RedisInstanceParametersPtrOutput) MaxDiskThreshold() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RedisInstanceParameters) *int { - if v == nil { - return nil - } - return v.MaxDiskThreshold - }).(pulumi.IntPtrOutput) +func (i ServerAgentArgs) ToServerAgentOutputWithContext(ctx context.Context) ServerAgentOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerAgentOutput) } -// The maximum number of clients. -func (o RedisInstanceParametersPtrOutput) Maxclients() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RedisInstanceParameters) *int { - if v == nil { - return nil - } - return v.Maxclients - }).(pulumi.IntPtrOutput) +func (i ServerAgentArgs) ToServerAgentPtrOutput() ServerAgentPtrOutput { + return i.ToServerAgentPtrOutputWithContext(context.Background()) } -// The policy to handle the maximum memory (volatile-lru, noeviction, etc). -func (o RedisInstanceParametersPtrOutput) MaxmemoryPolicy() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RedisInstanceParameters) *string { - if v == nil { - return nil - } - return v.MaxmemoryPolicy - }).(pulumi.StringPtrOutput) +func (i ServerAgentArgs) ToServerAgentPtrOutputWithContext(ctx context.Context) ServerAgentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerAgentOutput).ToServerAgentPtrOutputWithContext(ctx) } -// The maximum memory samples. -func (o RedisInstanceParametersPtrOutput) MaxmemorySamples() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RedisInstanceParameters) *int { - if v == nil { - return nil - } - return v.MaxmemorySamples - }).(pulumi.IntPtrOutput) +// ServerAgentPtrInput is an input type that accepts ServerAgentArgs, ServerAgentPtr and ServerAgentPtrOutput values. +// You can construct a concrete instance of `ServerAgentPtrInput` via: +// +// ServerAgentArgs{...} +// +// or: +// +// nil +type ServerAgentPtrInput interface { + pulumi.Input + + ToServerAgentPtrOutput() ServerAgentPtrOutput + ToServerAgentPtrOutputWithContext(context.Context) ServerAgentPtrOutput +} + +type serverAgentPtrType ServerAgentArgs + +func ServerAgentPtr(v *ServerAgentArgs) ServerAgentPtrInput { + return (*serverAgentPtrType)(v) +} + +func (*serverAgentPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ServerAgent)(nil)).Elem() +} + +func (i *serverAgentPtrType) ToServerAgentPtrOutput() ServerAgentPtrOutput { + return i.ToServerAgentPtrOutputWithContext(context.Background()) +} + +func (i *serverAgentPtrType) ToServerAgentPtrOutputWithContext(ctx context.Context) ServerAgentPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerAgentPtrOutput) +} + +type ServerAgentOutput struct{ *pulumi.OutputState } + +func (ServerAgentOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServerAgent)(nil)).Elem() +} + +func (o ServerAgentOutput) ToServerAgentOutput() ServerAgentOutput { + return o +} + +func (o ServerAgentOutput) ToServerAgentOutputWithContext(ctx context.Context) ServerAgentOutput { + return o } -// The frequency in seconds at which metrics are emitted. -func (o RedisInstanceParametersPtrOutput) MetricsFrequency() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RedisInstanceParameters) *int { - if v == nil { - return nil - } - return v.MetricsFrequency - }).(pulumi.IntPtrOutput) +func (o ServerAgentOutput) ToServerAgentPtrOutput() ServerAgentPtrOutput { + return o.ToServerAgentPtrOutputWithContext(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 RedisInstanceParametersPtrOutput) MetricsPrefix() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RedisInstanceParameters) *string { - if v == nil { - return nil - } - return v.MetricsPrefix - }).(pulumi.StringPtrOutput) +func (o ServerAgentOutput) ToServerAgentPtrOutputWithContext(ctx context.Context) ServerAgentPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerAgent) *ServerAgent { + return &v + }).(ServerAgentPtrOutput) } -// The minimum replicas maximum lag. -func (o RedisInstanceParametersPtrOutput) MinReplicasMaxLag() pulumi.IntPtrOutput { - return o.ApplyT(func(v *RedisInstanceParameters) *int { - if v == nil { - return nil - } - return v.MinReplicasMaxLag - }).(pulumi.IntPtrOutput) +// Whether a STACKIT Server Agent is provisioned at the server +func (o ServerAgentOutput) Provisioned() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ServerAgent) *bool { return v.Provisioned }).(pulumi.BoolPtrOutput) } -// The ID of the STACKIT monitoring instance. -func (o RedisInstanceParametersPtrOutput) MonitoringInstanceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RedisInstanceParameters) *string { - if v == nil { - return nil - } - return v.MonitoringInstanceId - }).(pulumi.StringPtrOutput) +// Agent provisioning policy: `ALWAYS`, `NEVER`, or `INHERIT`. `INHERIT` follows the image default value. +func (o ServerAgentOutput) ProvisioningPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServerAgent) *string { return v.ProvisioningPolicy }).(pulumi.StringPtrOutput) } -// The notify keyspace events. -func (o RedisInstanceParametersPtrOutput) NotifyKeyspaceEvents() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RedisInstanceParameters) *string { - if v == nil { - return nil - } - return v.NotifyKeyspaceEvents - }).(pulumi.StringPtrOutput) -} +type ServerAgentPtrOutput struct{ *pulumi.OutputState } -// Comma separated list of IP networks in CIDR notation which are allowed to access this instance. -func (o RedisInstanceParametersPtrOutput) SgwAcl() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RedisInstanceParameters) *string { - if v == nil { - return nil - } - return v.SgwAcl - }).(pulumi.StringPtrOutput) +func (ServerAgentPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServerAgent)(nil)).Elem() } -// The snapshot configuration. -func (o RedisInstanceParametersPtrOutput) Snapshot() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RedisInstanceParameters) *string { - if v == nil { - return nil - } - return v.Snapshot - }).(pulumi.StringPtrOutput) +func (o ServerAgentPtrOutput) ToServerAgentPtrOutput() ServerAgentPtrOutput { + return o } -// List of syslog servers to send logs to. -func (o RedisInstanceParametersPtrOutput) Syslogs() pulumi.StringArrayOutput { - return o.ApplyT(func(v *RedisInstanceParameters) []string { - if v == nil { - return nil - } - return v.Syslogs - }).(pulumi.StringArrayOutput) +func (o ServerAgentPtrOutput) ToServerAgentPtrOutputWithContext(ctx context.Context) ServerAgentPtrOutput { + return o } -// List of TLS ciphers to use. -func (o RedisInstanceParametersPtrOutput) TlsCiphers() pulumi.StringArrayOutput { - return o.ApplyT(func(v *RedisInstanceParameters) []string { - if v == nil { - return nil +func (o ServerAgentPtrOutput) Elem() ServerAgentOutput { + return o.ApplyT(func(v *ServerAgent) ServerAgent { + if v != nil { + return *v } - return v.TlsCiphers - }).(pulumi.StringArrayOutput) + var ret ServerAgent + return ret + }).(ServerAgentOutput) } -// TLS cipher suites to use. -func (o RedisInstanceParametersPtrOutput) TlsCiphersuites() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RedisInstanceParameters) *string { +// Whether a STACKIT Server Agent is provisioned at the server +func (o ServerAgentPtrOutput) Provisioned() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ServerAgent) *bool { if v == nil { return nil } - return v.TlsCiphersuites - }).(pulumi.StringPtrOutput) + return v.Provisioned + }).(pulumi.BoolPtrOutput) } -// TLS protocol to use. -func (o RedisInstanceParametersPtrOutput) TlsProtocols() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RedisInstanceParameters) *string { +// Agent provisioning policy: `ALWAYS`, `NEVER`, or `INHERIT`. `INHERIT` follows the image default value. +func (o ServerAgentPtrOutput) ProvisioningPolicy() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServerAgent) *string { if v == nil { return nil } - return v.TlsProtocols + return v.ProvisioningPolicy }).(pulumi.StringPtrOutput) } -type RoutingTableRouteDestination 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 ServerBackupScheduleBackupProperties struct { + Name string `pulumi:"name"` + RetentionPeriod int `pulumi:"retentionPeriod"` + VolumeIds []string `pulumi:"volumeIds"` } -// RoutingTableRouteDestinationInput is an input type that accepts RoutingTableRouteDestinationArgs and RoutingTableRouteDestinationOutput values. -// You can construct a concrete instance of `RoutingTableRouteDestinationInput` via: +// ServerBackupScheduleBackupPropertiesInput is an input type that accepts ServerBackupScheduleBackupPropertiesArgs and ServerBackupScheduleBackupPropertiesOutput values. +// You can construct a concrete instance of `ServerBackupScheduleBackupPropertiesInput` via: // -// RoutingTableRouteDestinationArgs{...} -type RoutingTableRouteDestinationInput interface { +// ServerBackupScheduleBackupPropertiesArgs{...} +type ServerBackupScheduleBackupPropertiesInput interface { pulumi.Input - ToRoutingTableRouteDestinationOutput() RoutingTableRouteDestinationOutput - ToRoutingTableRouteDestinationOutputWithContext(context.Context) RoutingTableRouteDestinationOutput + ToServerBackupScheduleBackupPropertiesOutput() ServerBackupScheduleBackupPropertiesOutput + ToServerBackupScheduleBackupPropertiesOutputWithContext(context.Context) ServerBackupScheduleBackupPropertiesOutput } -type RoutingTableRouteDestinationArgs 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 ServerBackupScheduleBackupPropertiesArgs struct { + Name pulumi.StringInput `pulumi:"name"` + RetentionPeriod pulumi.IntInput `pulumi:"retentionPeriod"` + VolumeIds pulumi.StringArrayInput `pulumi:"volumeIds"` } -func (RoutingTableRouteDestinationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RoutingTableRouteDestination)(nil)).Elem() +func (ServerBackupScheduleBackupPropertiesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServerBackupScheduleBackupProperties)(nil)).Elem() } -func (i RoutingTableRouteDestinationArgs) ToRoutingTableRouteDestinationOutput() RoutingTableRouteDestinationOutput { - return i.ToRoutingTableRouteDestinationOutputWithContext(context.Background()) +func (i ServerBackupScheduleBackupPropertiesArgs) ToServerBackupScheduleBackupPropertiesOutput() ServerBackupScheduleBackupPropertiesOutput { + return i.ToServerBackupScheduleBackupPropertiesOutputWithContext(context.Background()) } -func (i RoutingTableRouteDestinationArgs) ToRoutingTableRouteDestinationOutputWithContext(ctx context.Context) RoutingTableRouteDestinationOutput { - return pulumi.ToOutputWithContext(ctx, i).(RoutingTableRouteDestinationOutput) +func (i ServerBackupScheduleBackupPropertiesArgs) ToServerBackupScheduleBackupPropertiesOutputWithContext(ctx context.Context) ServerBackupScheduleBackupPropertiesOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerBackupScheduleBackupPropertiesOutput) } -func (i RoutingTableRouteDestinationArgs) ToRoutingTableRouteDestinationPtrOutput() RoutingTableRouteDestinationPtrOutput { - return i.ToRoutingTableRouteDestinationPtrOutputWithContext(context.Background()) +func (i ServerBackupScheduleBackupPropertiesArgs) ToServerBackupScheduleBackupPropertiesPtrOutput() ServerBackupScheduleBackupPropertiesPtrOutput { + return i.ToServerBackupScheduleBackupPropertiesPtrOutputWithContext(context.Background()) } -func (i RoutingTableRouteDestinationArgs) ToRoutingTableRouteDestinationPtrOutputWithContext(ctx context.Context) RoutingTableRouteDestinationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RoutingTableRouteDestinationOutput).ToRoutingTableRouteDestinationPtrOutputWithContext(ctx) +func (i ServerBackupScheduleBackupPropertiesArgs) ToServerBackupScheduleBackupPropertiesPtrOutputWithContext(ctx context.Context) ServerBackupScheduleBackupPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerBackupScheduleBackupPropertiesOutput).ToServerBackupScheduleBackupPropertiesPtrOutputWithContext(ctx) } -// RoutingTableRouteDestinationPtrInput is an input type that accepts RoutingTableRouteDestinationArgs, RoutingTableRouteDestinationPtr and RoutingTableRouteDestinationPtrOutput values. -// You can construct a concrete instance of `RoutingTableRouteDestinationPtrInput` via: +// ServerBackupScheduleBackupPropertiesPtrInput is an input type that accepts ServerBackupScheduleBackupPropertiesArgs, ServerBackupScheduleBackupPropertiesPtr and ServerBackupScheduleBackupPropertiesPtrOutput values. +// You can construct a concrete instance of `ServerBackupScheduleBackupPropertiesPtrInput` via: // -// RoutingTableRouteDestinationArgs{...} +// ServerBackupScheduleBackupPropertiesArgs{...} // // or: // // nil -type RoutingTableRouteDestinationPtrInput interface { +type ServerBackupScheduleBackupPropertiesPtrInput interface { pulumi.Input - ToRoutingTableRouteDestinationPtrOutput() RoutingTableRouteDestinationPtrOutput - ToRoutingTableRouteDestinationPtrOutputWithContext(context.Context) RoutingTableRouteDestinationPtrOutput + ToServerBackupScheduleBackupPropertiesPtrOutput() ServerBackupScheduleBackupPropertiesPtrOutput + ToServerBackupScheduleBackupPropertiesPtrOutputWithContext(context.Context) ServerBackupScheduleBackupPropertiesPtrOutput } -type routingTableRouteDestinationPtrType RoutingTableRouteDestinationArgs +type serverBackupScheduleBackupPropertiesPtrType ServerBackupScheduleBackupPropertiesArgs -func RoutingTableRouteDestinationPtr(v *RoutingTableRouteDestinationArgs) RoutingTableRouteDestinationPtrInput { - return (*routingTableRouteDestinationPtrType)(v) +func ServerBackupScheduleBackupPropertiesPtr(v *ServerBackupScheduleBackupPropertiesArgs) ServerBackupScheduleBackupPropertiesPtrInput { + return (*serverBackupScheduleBackupPropertiesPtrType)(v) } -func (*routingTableRouteDestinationPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RoutingTableRouteDestination)(nil)).Elem() +func (*serverBackupScheduleBackupPropertiesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ServerBackupScheduleBackupProperties)(nil)).Elem() } -func (i *routingTableRouteDestinationPtrType) ToRoutingTableRouteDestinationPtrOutput() RoutingTableRouteDestinationPtrOutput { - return i.ToRoutingTableRouteDestinationPtrOutputWithContext(context.Background()) +func (i *serverBackupScheduleBackupPropertiesPtrType) ToServerBackupScheduleBackupPropertiesPtrOutput() ServerBackupScheduleBackupPropertiesPtrOutput { + return i.ToServerBackupScheduleBackupPropertiesPtrOutputWithContext(context.Background()) } -func (i *routingTableRouteDestinationPtrType) ToRoutingTableRouteDestinationPtrOutputWithContext(ctx context.Context) RoutingTableRouteDestinationPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RoutingTableRouteDestinationPtrOutput) +func (i *serverBackupScheduleBackupPropertiesPtrType) ToServerBackupScheduleBackupPropertiesPtrOutputWithContext(ctx context.Context) ServerBackupScheduleBackupPropertiesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerBackupScheduleBackupPropertiesPtrOutput) } -type RoutingTableRouteDestinationOutput struct{ *pulumi.OutputState } +type ServerBackupScheduleBackupPropertiesOutput struct{ *pulumi.OutputState } -func (RoutingTableRouteDestinationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RoutingTableRouteDestination)(nil)).Elem() +func (ServerBackupScheduleBackupPropertiesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServerBackupScheduleBackupProperties)(nil)).Elem() } -func (o RoutingTableRouteDestinationOutput) ToRoutingTableRouteDestinationOutput() RoutingTableRouteDestinationOutput { +func (o ServerBackupScheduleBackupPropertiesOutput) ToServerBackupScheduleBackupPropertiesOutput() ServerBackupScheduleBackupPropertiesOutput { return o } -func (o RoutingTableRouteDestinationOutput) ToRoutingTableRouteDestinationOutputWithContext(ctx context.Context) RoutingTableRouteDestinationOutput { +func (o ServerBackupScheduleBackupPropertiesOutput) ToServerBackupScheduleBackupPropertiesOutputWithContext(ctx context.Context) ServerBackupScheduleBackupPropertiesOutput { return o } -func (o RoutingTableRouteDestinationOutput) ToRoutingTableRouteDestinationPtrOutput() RoutingTableRouteDestinationPtrOutput { - return o.ToRoutingTableRouteDestinationPtrOutputWithContext(context.Background()) +func (o ServerBackupScheduleBackupPropertiesOutput) ToServerBackupScheduleBackupPropertiesPtrOutput() ServerBackupScheduleBackupPropertiesPtrOutput { + return o.ToServerBackupScheduleBackupPropertiesPtrOutputWithContext(context.Background()) } -func (o RoutingTableRouteDestinationOutput) ToRoutingTableRouteDestinationPtrOutputWithContext(ctx context.Context) RoutingTableRouteDestinationPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RoutingTableRouteDestination) *RoutingTableRouteDestination { +func (o ServerBackupScheduleBackupPropertiesOutput) ToServerBackupScheduleBackupPropertiesPtrOutputWithContext(ctx context.Context) ServerBackupScheduleBackupPropertiesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerBackupScheduleBackupProperties) *ServerBackupScheduleBackupProperties { return &v - }).(RoutingTableRouteDestinationPtrOutput) + }).(ServerBackupScheduleBackupPropertiesPtrOutput) } -// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. -func (o RoutingTableRouteDestinationOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v RoutingTableRouteDestination) string { return v.Type }).(pulumi.StringOutput) +func (o ServerBackupScheduleBackupPropertiesOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v ServerBackupScheduleBackupProperties) string { return v.Name }).(pulumi.StringOutput) } -// An CIDR string. -func (o RoutingTableRouteDestinationOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v RoutingTableRouteDestination) string { return v.Value }).(pulumi.StringOutput) +func (o ServerBackupScheduleBackupPropertiesOutput) RetentionPeriod() pulumi.IntOutput { + return o.ApplyT(func(v ServerBackupScheduleBackupProperties) int { return v.RetentionPeriod }).(pulumi.IntOutput) } -type RoutingTableRouteDestinationPtrOutput struct{ *pulumi.OutputState } +func (o ServerBackupScheduleBackupPropertiesOutput) VolumeIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v ServerBackupScheduleBackupProperties) []string { return v.VolumeIds }).(pulumi.StringArrayOutput) +} -func (RoutingTableRouteDestinationPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RoutingTableRouteDestination)(nil)).Elem() +type ServerBackupScheduleBackupPropertiesPtrOutput struct{ *pulumi.OutputState } + +func (ServerBackupScheduleBackupPropertiesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServerBackupScheduleBackupProperties)(nil)).Elem() } -func (o RoutingTableRouteDestinationPtrOutput) ToRoutingTableRouteDestinationPtrOutput() RoutingTableRouteDestinationPtrOutput { +func (o ServerBackupScheduleBackupPropertiesPtrOutput) ToServerBackupScheduleBackupPropertiesPtrOutput() ServerBackupScheduleBackupPropertiesPtrOutput { return o } -func (o RoutingTableRouteDestinationPtrOutput) ToRoutingTableRouteDestinationPtrOutputWithContext(ctx context.Context) RoutingTableRouteDestinationPtrOutput { +func (o ServerBackupScheduleBackupPropertiesPtrOutput) ToServerBackupScheduleBackupPropertiesPtrOutputWithContext(ctx context.Context) ServerBackupScheduleBackupPropertiesPtrOutput { return o } -func (o RoutingTableRouteDestinationPtrOutput) Elem() RoutingTableRouteDestinationOutput { - return o.ApplyT(func(v *RoutingTableRouteDestination) RoutingTableRouteDestination { +func (o ServerBackupScheduleBackupPropertiesPtrOutput) Elem() ServerBackupScheduleBackupPropertiesOutput { + return o.ApplyT(func(v *ServerBackupScheduleBackupProperties) ServerBackupScheduleBackupProperties { if v != nil { return *v } - var ret RoutingTableRouteDestination + var ret ServerBackupScheduleBackupProperties return ret - }).(RoutingTableRouteDestinationOutput) + }).(ServerBackupScheduleBackupPropertiesOutput) +} + +func (o ServerBackupScheduleBackupPropertiesPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServerBackupScheduleBackupProperties) *string { + if v == nil { + return nil + } + return &v.Name + }).(pulumi.StringPtrOutput) } -// CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. -func (o RoutingTableRouteDestinationPtrOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RoutingTableRouteDestination) *string { +func (o ServerBackupScheduleBackupPropertiesPtrOutput) RetentionPeriod() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ServerBackupScheduleBackupProperties) *int { if v == nil { return nil } - return &v.Type - }).(pulumi.StringPtrOutput) + return &v.RetentionPeriod + }).(pulumi.IntPtrOutput) } -// An CIDR string. -func (o RoutingTableRouteDestinationPtrOutput) Value() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RoutingTableRouteDestination) *string { +func (o ServerBackupScheduleBackupPropertiesPtrOutput) VolumeIds() pulumi.StringArrayOutput { + return o.ApplyT(func(v *ServerBackupScheduleBackupProperties) []string { if v == nil { return nil } - return &v.Value - }).(pulumi.StringPtrOutput) + return v.VolumeIds + }).(pulumi.StringArrayOutput) } -type RoutingTableRouteNextHop 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 ServerBootVolume struct { + // Delete the volume during the termination of the server. Only allowed when `sourceType` is `image`. + DeleteOnTermination *bool `pulumi:"deleteOnTermination"` + // The ID of the boot volume + Id *string `pulumi:"id"` + // The performance class of the server. + PerformanceClass *string `pulumi:"performanceClass"` + // The size of the boot volume in GB. Must be provided when `sourceType` is `image`. + Size *int `pulumi:"size"` + // The ID of the source, either image ID or volume ID + SourceId string `pulumi:"sourceId"` + // The type of the source. Possible values are: `volume`, `image`. + SourceType string `pulumi:"sourceType"` } -// RoutingTableRouteNextHopInput is an input type that accepts RoutingTableRouteNextHopArgs and RoutingTableRouteNextHopOutput values. -// You can construct a concrete instance of `RoutingTableRouteNextHopInput` via: +// ServerBootVolumeInput is an input type that accepts ServerBootVolumeArgs and ServerBootVolumeOutput values. +// You can construct a concrete instance of `ServerBootVolumeInput` via: // -// RoutingTableRouteNextHopArgs{...} -type RoutingTableRouteNextHopInput interface { +// ServerBootVolumeArgs{...} +type ServerBootVolumeInput interface { pulumi.Input - ToRoutingTableRouteNextHopOutput() RoutingTableRouteNextHopOutput - ToRoutingTableRouteNextHopOutputWithContext(context.Context) RoutingTableRouteNextHopOutput + ToServerBootVolumeOutput() ServerBootVolumeOutput + ToServerBootVolumeOutputWithContext(context.Context) ServerBootVolumeOutput } -type RoutingTableRouteNextHopArgs 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.StringPtrInput `pulumi:"value"` +type ServerBootVolumeArgs struct { + // Delete the volume during the termination of the server. Only allowed when `sourceType` is `image`. + DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` + // The ID of the boot volume + Id pulumi.StringPtrInput `pulumi:"id"` + // The performance class of the server. + PerformanceClass pulumi.StringPtrInput `pulumi:"performanceClass"` + // The size of the boot volume in GB. Must be provided when `sourceType` is `image`. + Size pulumi.IntPtrInput `pulumi:"size"` + // The ID of the source, either image ID or volume ID + SourceId pulumi.StringInput `pulumi:"sourceId"` + // The type of the source. Possible values are: `volume`, `image`. + SourceType pulumi.StringInput `pulumi:"sourceType"` } -func (RoutingTableRouteNextHopArgs) ElementType() reflect.Type { - return reflect.TypeOf((*RoutingTableRouteNextHop)(nil)).Elem() +func (ServerBootVolumeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServerBootVolume)(nil)).Elem() } -func (i RoutingTableRouteNextHopArgs) ToRoutingTableRouteNextHopOutput() RoutingTableRouteNextHopOutput { - return i.ToRoutingTableRouteNextHopOutputWithContext(context.Background()) +func (i ServerBootVolumeArgs) ToServerBootVolumeOutput() ServerBootVolumeOutput { + return i.ToServerBootVolumeOutputWithContext(context.Background()) } -func (i RoutingTableRouteNextHopArgs) ToRoutingTableRouteNextHopOutputWithContext(ctx context.Context) RoutingTableRouteNextHopOutput { - return pulumi.ToOutputWithContext(ctx, i).(RoutingTableRouteNextHopOutput) +func (i ServerBootVolumeArgs) ToServerBootVolumeOutputWithContext(ctx context.Context) ServerBootVolumeOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerBootVolumeOutput) } -func (i RoutingTableRouteNextHopArgs) ToRoutingTableRouteNextHopPtrOutput() RoutingTableRouteNextHopPtrOutput { - return i.ToRoutingTableRouteNextHopPtrOutputWithContext(context.Background()) +func (i ServerBootVolumeArgs) ToServerBootVolumePtrOutput() ServerBootVolumePtrOutput { + return i.ToServerBootVolumePtrOutputWithContext(context.Background()) } -func (i RoutingTableRouteNextHopArgs) ToRoutingTableRouteNextHopPtrOutputWithContext(ctx context.Context) RoutingTableRouteNextHopPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RoutingTableRouteNextHopOutput).ToRoutingTableRouteNextHopPtrOutputWithContext(ctx) +func (i ServerBootVolumeArgs) ToServerBootVolumePtrOutputWithContext(ctx context.Context) ServerBootVolumePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerBootVolumeOutput).ToServerBootVolumePtrOutputWithContext(ctx) } -// RoutingTableRouteNextHopPtrInput is an input type that accepts RoutingTableRouteNextHopArgs, RoutingTableRouteNextHopPtr and RoutingTableRouteNextHopPtrOutput values. -// You can construct a concrete instance of `RoutingTableRouteNextHopPtrInput` via: +// ServerBootVolumePtrInput is an input type that accepts ServerBootVolumeArgs, ServerBootVolumePtr and ServerBootVolumePtrOutput values. +// You can construct a concrete instance of `ServerBootVolumePtrInput` via: // -// RoutingTableRouteNextHopArgs{...} +// ServerBootVolumeArgs{...} // // or: // // nil -type RoutingTableRouteNextHopPtrInput interface { +type ServerBootVolumePtrInput interface { pulumi.Input - ToRoutingTableRouteNextHopPtrOutput() RoutingTableRouteNextHopPtrOutput - ToRoutingTableRouteNextHopPtrOutputWithContext(context.Context) RoutingTableRouteNextHopPtrOutput + ToServerBootVolumePtrOutput() ServerBootVolumePtrOutput + ToServerBootVolumePtrOutputWithContext(context.Context) ServerBootVolumePtrOutput } -type routingTableRouteNextHopPtrType RoutingTableRouteNextHopArgs +type serverBootVolumePtrType ServerBootVolumeArgs -func RoutingTableRouteNextHopPtr(v *RoutingTableRouteNextHopArgs) RoutingTableRouteNextHopPtrInput { - return (*routingTableRouteNextHopPtrType)(v) +func ServerBootVolumePtr(v *ServerBootVolumeArgs) ServerBootVolumePtrInput { + return (*serverBootVolumePtrType)(v) } -func (*routingTableRouteNextHopPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**RoutingTableRouteNextHop)(nil)).Elem() +func (*serverBootVolumePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**ServerBootVolume)(nil)).Elem() } -func (i *routingTableRouteNextHopPtrType) ToRoutingTableRouteNextHopPtrOutput() RoutingTableRouteNextHopPtrOutput { - return i.ToRoutingTableRouteNextHopPtrOutputWithContext(context.Background()) +func (i *serverBootVolumePtrType) ToServerBootVolumePtrOutput() ServerBootVolumePtrOutput { + return i.ToServerBootVolumePtrOutputWithContext(context.Background()) } -func (i *routingTableRouteNextHopPtrType) ToRoutingTableRouteNextHopPtrOutputWithContext(ctx context.Context) RoutingTableRouteNextHopPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(RoutingTableRouteNextHopPtrOutput) +func (i *serverBootVolumePtrType) ToServerBootVolumePtrOutputWithContext(ctx context.Context) ServerBootVolumePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServerBootVolumePtrOutput) } -type RoutingTableRouteNextHopOutput struct{ *pulumi.OutputState } +type ServerBootVolumeOutput struct{ *pulumi.OutputState } -func (RoutingTableRouteNextHopOutput) ElementType() reflect.Type { - return reflect.TypeOf((*RoutingTableRouteNextHop)(nil)).Elem() +func (ServerBootVolumeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServerBootVolume)(nil)).Elem() } -func (o RoutingTableRouteNextHopOutput) ToRoutingTableRouteNextHopOutput() RoutingTableRouteNextHopOutput { +func (o ServerBootVolumeOutput) ToServerBootVolumeOutput() ServerBootVolumeOutput { return o } -func (o RoutingTableRouteNextHopOutput) ToRoutingTableRouteNextHopOutputWithContext(ctx context.Context) RoutingTableRouteNextHopOutput { +func (o ServerBootVolumeOutput) ToServerBootVolumeOutputWithContext(ctx context.Context) ServerBootVolumeOutput { return o } -func (o RoutingTableRouteNextHopOutput) ToRoutingTableRouteNextHopPtrOutput() RoutingTableRouteNextHopPtrOutput { - return o.ToRoutingTableRouteNextHopPtrOutputWithContext(context.Background()) +func (o ServerBootVolumeOutput) ToServerBootVolumePtrOutput() ServerBootVolumePtrOutput { + return o.ToServerBootVolumePtrOutputWithContext(context.Background()) } -func (o RoutingTableRouteNextHopOutput) ToRoutingTableRouteNextHopPtrOutputWithContext(ctx context.Context) RoutingTableRouteNextHopPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v RoutingTableRouteNextHop) *RoutingTableRouteNextHop { +func (o ServerBootVolumeOutput) ToServerBootVolumePtrOutputWithContext(ctx context.Context) ServerBootVolumePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerBootVolume) *ServerBootVolume { return &v - }).(RoutingTableRouteNextHopPtrOutput) + }).(ServerBootVolumePtrOutput) } -// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. -func (o RoutingTableRouteNextHopOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v RoutingTableRouteNextHop) string { return v.Type }).(pulumi.StringOutput) +// Delete the volume during the termination of the server. Only allowed when `sourceType` is `image`. +func (o ServerBootVolumeOutput) DeleteOnTermination() pulumi.BoolPtrOutput { + return o.ApplyT(func(v ServerBootVolume) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) } -// Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. -func (o RoutingTableRouteNextHopOutput) Value() pulumi.StringPtrOutput { - return o.ApplyT(func(v RoutingTableRouteNextHop) *string { return v.Value }).(pulumi.StringPtrOutput) +// The ID of the boot volume +func (o ServerBootVolumeOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServerBootVolume) *string { return v.Id }).(pulumi.StringPtrOutput) } -type RoutingTableRouteNextHopPtrOutput struct{ *pulumi.OutputState } +// The performance class of the server. +func (o ServerBootVolumeOutput) PerformanceClass() pulumi.StringPtrOutput { + return o.ApplyT(func(v ServerBootVolume) *string { return v.PerformanceClass }).(pulumi.StringPtrOutput) +} -func (RoutingTableRouteNextHopPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**RoutingTableRouteNextHop)(nil)).Elem() +// The size of the boot volume in GB. Must be provided when `sourceType` is `image`. +func (o ServerBootVolumeOutput) Size() pulumi.IntPtrOutput { + return o.ApplyT(func(v ServerBootVolume) *int { return v.Size }).(pulumi.IntPtrOutput) } -func (o RoutingTableRouteNextHopPtrOutput) ToRoutingTableRouteNextHopPtrOutput() RoutingTableRouteNextHopPtrOutput { +// The ID of the source, either image ID or volume ID +func (o ServerBootVolumeOutput) SourceId() pulumi.StringOutput { + return o.ApplyT(func(v ServerBootVolume) string { return v.SourceId }).(pulumi.StringOutput) +} + +// The type of the source. Possible values are: `volume`, `image`. +func (o ServerBootVolumeOutput) SourceType() pulumi.StringOutput { + return o.ApplyT(func(v ServerBootVolume) string { return v.SourceType }).(pulumi.StringOutput) +} + +type ServerBootVolumePtrOutput struct{ *pulumi.OutputState } + +func (ServerBootVolumePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**ServerBootVolume)(nil)).Elem() +} + +func (o ServerBootVolumePtrOutput) ToServerBootVolumePtrOutput() ServerBootVolumePtrOutput { return o } -func (o RoutingTableRouteNextHopPtrOutput) ToRoutingTableRouteNextHopPtrOutputWithContext(ctx context.Context) RoutingTableRouteNextHopPtrOutput { +func (o ServerBootVolumePtrOutput) ToServerBootVolumePtrOutputWithContext(ctx context.Context) ServerBootVolumePtrOutput { return o } -func (o RoutingTableRouteNextHopPtrOutput) Elem() RoutingTableRouteNextHopOutput { - return o.ApplyT(func(v *RoutingTableRouteNextHop) RoutingTableRouteNextHop { +func (o ServerBootVolumePtrOutput) Elem() ServerBootVolumeOutput { + return o.ApplyT(func(v *ServerBootVolume) ServerBootVolume { if v != nil { return *v } - var ret RoutingTableRouteNextHop + var ret ServerBootVolume return ret - }).(RoutingTableRouteNextHopOutput) + }).(ServerBootVolumeOutput) } -// Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. -func (o RoutingTableRouteNextHopPtrOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RoutingTableRouteNextHop) *string { +// Delete the volume during the termination of the server. Only allowed when `sourceType` is `image`. +func (o ServerBootVolumePtrOutput) DeleteOnTermination() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *ServerBootVolume) *bool { if v == nil { return nil } - return &v.Type - }).(pulumi.StringPtrOutput) + return v.DeleteOnTermination + }).(pulumi.BoolPtrOutput) } -// Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. -func (o RoutingTableRouteNextHopPtrOutput) Value() pulumi.StringPtrOutput { - return o.ApplyT(func(v *RoutingTableRouteNextHop) *string { +// The ID of the boot volume +func (o ServerBootVolumePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServerBootVolume) *string { if v == nil { return nil } - return v.Value + return v.Id }).(pulumi.StringPtrOutput) } -type SecretsmanagerInstanceKmsKey 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"` -} - -// SecretsmanagerInstanceKmsKeyInput is an input type that accepts SecretsmanagerInstanceKmsKeyArgs and SecretsmanagerInstanceKmsKeyOutput values. -// You can construct a concrete instance of `SecretsmanagerInstanceKmsKeyInput` via: -// -// SecretsmanagerInstanceKmsKeyArgs{...} -type SecretsmanagerInstanceKmsKeyInput interface { - pulumi.Input - - ToSecretsmanagerInstanceKmsKeyOutput() SecretsmanagerInstanceKmsKeyOutput - ToSecretsmanagerInstanceKmsKeyOutputWithContext(context.Context) SecretsmanagerInstanceKmsKeyOutput -} - -type SecretsmanagerInstanceKmsKeyArgs 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"` -} - -func (SecretsmanagerInstanceKmsKeyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SecretsmanagerInstanceKmsKey)(nil)).Elem() +// The performance class of the server. +func (o ServerBootVolumePtrOutput) PerformanceClass() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServerBootVolume) *string { + if v == nil { + return nil + } + return v.PerformanceClass + }).(pulumi.StringPtrOutput) } -func (i SecretsmanagerInstanceKmsKeyArgs) ToSecretsmanagerInstanceKmsKeyOutput() SecretsmanagerInstanceKmsKeyOutput { - return i.ToSecretsmanagerInstanceKmsKeyOutputWithContext(context.Background()) +// The size of the boot volume in GB. Must be provided when `sourceType` is `image`. +func (o ServerBootVolumePtrOutput) Size() pulumi.IntPtrOutput { + return o.ApplyT(func(v *ServerBootVolume) *int { + if v == nil { + return nil + } + return v.Size + }).(pulumi.IntPtrOutput) } -func (i SecretsmanagerInstanceKmsKeyArgs) ToSecretsmanagerInstanceKmsKeyOutputWithContext(ctx context.Context) SecretsmanagerInstanceKmsKeyOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecretsmanagerInstanceKmsKeyOutput) +// The ID of the source, either image ID or volume ID +func (o ServerBootVolumePtrOutput) SourceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServerBootVolume) *string { + if v == nil { + return nil + } + return &v.SourceId + }).(pulumi.StringPtrOutput) } -func (i SecretsmanagerInstanceKmsKeyArgs) ToSecretsmanagerInstanceKmsKeyPtrOutput() SecretsmanagerInstanceKmsKeyPtrOutput { - return i.ToSecretsmanagerInstanceKmsKeyPtrOutputWithContext(context.Background()) +// The type of the source. Possible values are: `volume`, `image`. +func (o ServerBootVolumePtrOutput) SourceType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *ServerBootVolume) *string { + if v == nil { + return nil + } + return &v.SourceType + }).(pulumi.StringPtrOutput) } -func (i SecretsmanagerInstanceKmsKeyArgs) ToSecretsmanagerInstanceKmsKeyPtrOutputWithContext(ctx context.Context) SecretsmanagerInstanceKmsKeyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecretsmanagerInstanceKmsKeyOutput).ToSecretsmanagerInstanceKmsKeyPtrOutputWithContext(ctx) +type ServiceAccountFederatedIdentityProviderAssertion 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"` } -// SecretsmanagerInstanceKmsKeyPtrInput is an input type that accepts SecretsmanagerInstanceKmsKeyArgs, SecretsmanagerInstanceKmsKeyPtr and SecretsmanagerInstanceKmsKeyPtrOutput values. -// You can construct a concrete instance of `SecretsmanagerInstanceKmsKeyPtrInput` via: -// -// SecretsmanagerInstanceKmsKeyArgs{...} -// -// or: +// ServiceAccountFederatedIdentityProviderAssertionInput is an input type that accepts ServiceAccountFederatedIdentityProviderAssertionArgs and ServiceAccountFederatedIdentityProviderAssertionOutput values. +// You can construct a concrete instance of `ServiceAccountFederatedIdentityProviderAssertionInput` via: // -// nil -type SecretsmanagerInstanceKmsKeyPtrInput interface { +// ServiceAccountFederatedIdentityProviderAssertionArgs{...} +type ServiceAccountFederatedIdentityProviderAssertionInput interface { pulumi.Input - ToSecretsmanagerInstanceKmsKeyPtrOutput() SecretsmanagerInstanceKmsKeyPtrOutput - ToSecretsmanagerInstanceKmsKeyPtrOutputWithContext(context.Context) SecretsmanagerInstanceKmsKeyPtrOutput + ToServiceAccountFederatedIdentityProviderAssertionOutput() ServiceAccountFederatedIdentityProviderAssertionOutput + ToServiceAccountFederatedIdentityProviderAssertionOutputWithContext(context.Context) ServiceAccountFederatedIdentityProviderAssertionOutput } -type secretsmanagerInstanceKmsKeyPtrType SecretsmanagerInstanceKmsKeyArgs - -func SecretsmanagerInstanceKmsKeyPtr(v *SecretsmanagerInstanceKmsKeyArgs) SecretsmanagerInstanceKmsKeyPtrInput { - return (*secretsmanagerInstanceKmsKeyPtrType)(v) +type ServiceAccountFederatedIdentityProviderAssertionArgs 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"` } -func (*secretsmanagerInstanceKmsKeyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SecretsmanagerInstanceKmsKey)(nil)).Elem() +func (ServiceAccountFederatedIdentityProviderAssertionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() } -func (i *secretsmanagerInstanceKmsKeyPtrType) ToSecretsmanagerInstanceKmsKeyPtrOutput() SecretsmanagerInstanceKmsKeyPtrOutput { - return i.ToSecretsmanagerInstanceKmsKeyPtrOutputWithContext(context.Background()) +func (i ServiceAccountFederatedIdentityProviderAssertionArgs) ToServiceAccountFederatedIdentityProviderAssertionOutput() ServiceAccountFederatedIdentityProviderAssertionOutput { + return i.ToServiceAccountFederatedIdentityProviderAssertionOutputWithContext(context.Background()) } -func (i *secretsmanagerInstanceKmsKeyPtrType) ToSecretsmanagerInstanceKmsKeyPtrOutputWithContext(ctx context.Context) SecretsmanagerInstanceKmsKeyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecretsmanagerInstanceKmsKeyPtrOutput) +func (i ServiceAccountFederatedIdentityProviderAssertionArgs) ToServiceAccountFederatedIdentityProviderAssertionOutputWithContext(ctx context.Context) ServiceAccountFederatedIdentityProviderAssertionOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceAccountFederatedIdentityProviderAssertionOutput) } -type SecretsmanagerInstanceKmsKeyOutput struct{ *pulumi.OutputState } +// ServiceAccountFederatedIdentityProviderAssertionArrayInput is an input type that accepts ServiceAccountFederatedIdentityProviderAssertionArray and ServiceAccountFederatedIdentityProviderAssertionArrayOutput values. +// You can construct a concrete instance of `ServiceAccountFederatedIdentityProviderAssertionArrayInput` via: +// +// ServiceAccountFederatedIdentityProviderAssertionArray{ ServiceAccountFederatedIdentityProviderAssertionArgs{...} } +type ServiceAccountFederatedIdentityProviderAssertionArrayInput interface { + pulumi.Input -func (SecretsmanagerInstanceKmsKeyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecretsmanagerInstanceKmsKey)(nil)).Elem() + ToServiceAccountFederatedIdentityProviderAssertionArrayOutput() ServiceAccountFederatedIdentityProviderAssertionArrayOutput + ToServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(context.Context) ServiceAccountFederatedIdentityProviderAssertionArrayOutput } -func (o SecretsmanagerInstanceKmsKeyOutput) ToSecretsmanagerInstanceKmsKeyOutput() SecretsmanagerInstanceKmsKeyOutput { - return o -} +type ServiceAccountFederatedIdentityProviderAssertionArray []ServiceAccountFederatedIdentityProviderAssertionInput -func (o SecretsmanagerInstanceKmsKeyOutput) ToSecretsmanagerInstanceKmsKeyOutputWithContext(ctx context.Context) SecretsmanagerInstanceKmsKeyOutput { - return o +func (ServiceAccountFederatedIdentityProviderAssertionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() } -func (o SecretsmanagerInstanceKmsKeyOutput) ToSecretsmanagerInstanceKmsKeyPtrOutput() SecretsmanagerInstanceKmsKeyPtrOutput { - return o.ToSecretsmanagerInstanceKmsKeyPtrOutputWithContext(context.Background()) +func (i ServiceAccountFederatedIdentityProviderAssertionArray) ToServiceAccountFederatedIdentityProviderAssertionArrayOutput() ServiceAccountFederatedIdentityProviderAssertionArrayOutput { + return i.ToServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(context.Background()) } -func (o SecretsmanagerInstanceKmsKeyOutput) ToSecretsmanagerInstanceKmsKeyPtrOutputWithContext(ctx context.Context) SecretsmanagerInstanceKmsKeyPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SecretsmanagerInstanceKmsKey) *SecretsmanagerInstanceKmsKey { - return &v - }).(SecretsmanagerInstanceKmsKeyPtrOutput) +func (i ServiceAccountFederatedIdentityProviderAssertionArray) ToServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(ctx context.Context) ServiceAccountFederatedIdentityProviderAssertionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(ServiceAccountFederatedIdentityProviderAssertionArrayOutput) } -// UUID of the key within the STACKIT-KMS to use for the encryption. -func (o SecretsmanagerInstanceKmsKeyOutput) KeyId() pulumi.StringOutput { - return o.ApplyT(func(v SecretsmanagerInstanceKmsKey) string { return v.KeyId }).(pulumi.StringOutput) -} +type ServiceAccountFederatedIdentityProviderAssertionOutput struct{ *pulumi.OutputState } -// UUID of the keyring where the key is located within the STACKTI-KMS. -func (o SecretsmanagerInstanceKmsKeyOutput) KeyRingId() pulumi.StringOutput { - return o.ApplyT(func(v SecretsmanagerInstanceKmsKey) string { return v.KeyRingId }).(pulumi.StringOutput) +func (ServiceAccountFederatedIdentityProviderAssertionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*ServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() } -// Version of the key within the STACKIT-KMS to use for the encryption. -func (o SecretsmanagerInstanceKmsKeyOutput) KeyVersion() pulumi.IntOutput { - return o.ApplyT(func(v SecretsmanagerInstanceKmsKey) int { return v.KeyVersion }).(pulumi.IntOutput) +func (o ServiceAccountFederatedIdentityProviderAssertionOutput) ToServiceAccountFederatedIdentityProviderAssertionOutput() ServiceAccountFederatedIdentityProviderAssertionOutput { + return o } -// Service-Account linked to the Key within the STACKIT-KMS. -func (o SecretsmanagerInstanceKmsKeyOutput) ServiceAccountEmail() pulumi.StringOutput { - return o.ApplyT(func(v SecretsmanagerInstanceKmsKey) string { return v.ServiceAccountEmail }).(pulumi.StringOutput) +func (o ServiceAccountFederatedIdentityProviderAssertionOutput) ToServiceAccountFederatedIdentityProviderAssertionOutputWithContext(ctx context.Context) ServiceAccountFederatedIdentityProviderAssertionOutput { + return o } -type SecretsmanagerInstanceKmsKeyPtrOutput struct{ *pulumi.OutputState } - -func (SecretsmanagerInstanceKmsKeyPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SecretsmanagerInstanceKmsKey)(nil)).Elem() +// The assertion claim. At least one assertion with the claim "aud" is required for security reasons. +func (o ServiceAccountFederatedIdentityProviderAssertionOutput) Item() pulumi.StringOutput { + return o.ApplyT(func(v ServiceAccountFederatedIdentityProviderAssertion) string { return v.Item }).(pulumi.StringOutput) } -func (o SecretsmanagerInstanceKmsKeyPtrOutput) ToSecretsmanagerInstanceKmsKeyPtrOutput() SecretsmanagerInstanceKmsKeyPtrOutput { - return o +// The assertion operator. Currently, the only supported operator is "equals". +func (o ServiceAccountFederatedIdentityProviderAssertionOutput) Operator() pulumi.StringOutput { + return o.ApplyT(func(v ServiceAccountFederatedIdentityProviderAssertion) string { return v.Operator }).(pulumi.StringOutput) } -func (o SecretsmanagerInstanceKmsKeyPtrOutput) ToSecretsmanagerInstanceKmsKeyPtrOutputWithContext(ctx context.Context) SecretsmanagerInstanceKmsKeyPtrOutput { - return o +// The assertion value. +func (o ServiceAccountFederatedIdentityProviderAssertionOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v ServiceAccountFederatedIdentityProviderAssertion) string { return v.Value }).(pulumi.StringOutput) } -func (o SecretsmanagerInstanceKmsKeyPtrOutput) Elem() SecretsmanagerInstanceKmsKeyOutput { - return o.ApplyT(func(v *SecretsmanagerInstanceKmsKey) SecretsmanagerInstanceKmsKey { - if v != nil { - return *v - } - var ret SecretsmanagerInstanceKmsKey - return ret - }).(SecretsmanagerInstanceKmsKeyOutput) -} +type ServiceAccountFederatedIdentityProviderAssertionArrayOutput struct{ *pulumi.OutputState } -// UUID of the key within the STACKIT-KMS to use for the encryption. -func (o SecretsmanagerInstanceKmsKeyPtrOutput) KeyId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SecretsmanagerInstanceKmsKey) *string { - if v == nil { - return nil - } - return &v.KeyId - }).(pulumi.StringPtrOutput) +func (ServiceAccountFederatedIdentityProviderAssertionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]ServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() } -// UUID of the keyring where the key is located within the STACKTI-KMS. -func (o SecretsmanagerInstanceKmsKeyPtrOutput) KeyRingId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SecretsmanagerInstanceKmsKey) *string { - if v == nil { - return nil - } - return &v.KeyRingId - }).(pulumi.StringPtrOutput) +func (o ServiceAccountFederatedIdentityProviderAssertionArrayOutput) ToServiceAccountFederatedIdentityProviderAssertionArrayOutput() ServiceAccountFederatedIdentityProviderAssertionArrayOutput { + return o } -// Version of the key within the STACKIT-KMS to use for the encryption. -func (o SecretsmanagerInstanceKmsKeyPtrOutput) KeyVersion() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SecretsmanagerInstanceKmsKey) *int { - if v == nil { - return nil - } - return &v.KeyVersion - }).(pulumi.IntPtrOutput) +func (o ServiceAccountFederatedIdentityProviderAssertionArrayOutput) ToServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(ctx context.Context) ServiceAccountFederatedIdentityProviderAssertionArrayOutput { + return o } -// Service-Account linked to the Key within the STACKIT-KMS. -func (o SecretsmanagerInstanceKmsKeyPtrOutput) ServiceAccountEmail() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SecretsmanagerInstanceKmsKey) *string { - if v == nil { - return nil - } - return &v.ServiceAccountEmail - }).(pulumi.StringPtrOutput) +func (o ServiceAccountFederatedIdentityProviderAssertionArrayOutput) Index(i pulumi.IntInput) ServiceAccountFederatedIdentityProviderAssertionOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceAccountFederatedIdentityProviderAssertion { + return vs[0].([]ServiceAccountFederatedIdentityProviderAssertion)[vs[1].(int)] + }).(ServiceAccountFederatedIdentityProviderAssertionOutput) } -type SecurityGroupRuleIcmpParameters 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"` +type SfsExportPolicyRule struct { + // Description of the Rule + Description *string `pulumi:"description"` + // IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + IpAcls []string `pulumi:"ipAcls"` + // Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + Order int `pulumi:"order"` + // Flag to indicate if client IPs matching this rule can only mount the share in read only mode + ReadOnly *bool `pulumi:"readOnly"` + // Flag to honor set UUID + SetUuid *bool `pulumi:"setUuid"` + // Flag to indicate if client IPs matching this rule have root access on the Share + SuperUser *bool `pulumi:"superUser"` } -// SecurityGroupRuleIcmpParametersInput is an input type that accepts SecurityGroupRuleIcmpParametersArgs and SecurityGroupRuleIcmpParametersOutput values. -// You can construct a concrete instance of `SecurityGroupRuleIcmpParametersInput` via: +// SfsExportPolicyRuleInput is an input type that accepts SfsExportPolicyRuleArgs and SfsExportPolicyRuleOutput values. +// You can construct a concrete instance of `SfsExportPolicyRuleInput` via: // -// SecurityGroupRuleIcmpParametersArgs{...} -type SecurityGroupRuleIcmpParametersInput interface { +// SfsExportPolicyRuleArgs{...} +type SfsExportPolicyRuleInput interface { pulumi.Input - ToSecurityGroupRuleIcmpParametersOutput() SecurityGroupRuleIcmpParametersOutput - ToSecurityGroupRuleIcmpParametersOutputWithContext(context.Context) SecurityGroupRuleIcmpParametersOutput -} - -type SecurityGroupRuleIcmpParametersArgs 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 (SecurityGroupRuleIcmpParametersArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityGroupRuleIcmpParameters)(nil)).Elem() + ToSfsExportPolicyRuleOutput() SfsExportPolicyRuleOutput + ToSfsExportPolicyRuleOutputWithContext(context.Context) SfsExportPolicyRuleOutput } -func (i SecurityGroupRuleIcmpParametersArgs) ToSecurityGroupRuleIcmpParametersOutput() SecurityGroupRuleIcmpParametersOutput { - return i.ToSecurityGroupRuleIcmpParametersOutputWithContext(context.Background()) +type SfsExportPolicyRuleArgs struct { + // Description of the Rule + Description pulumi.StringPtrInput `pulumi:"description"` + // IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + IpAcls pulumi.StringArrayInput `pulumi:"ipAcls"` + // Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + Order pulumi.IntInput `pulumi:"order"` + // Flag to indicate if client IPs matching this rule can only mount the share in read only mode + ReadOnly pulumi.BoolPtrInput `pulumi:"readOnly"` + // Flag to honor set UUID + SetUuid pulumi.BoolPtrInput `pulumi:"setUuid"` + // Flag to indicate if client IPs matching this rule have root access on the Share + SuperUser pulumi.BoolPtrInput `pulumi:"superUser"` } -func (i SecurityGroupRuleIcmpParametersArgs) ToSecurityGroupRuleIcmpParametersOutputWithContext(ctx context.Context) SecurityGroupRuleIcmpParametersOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupRuleIcmpParametersOutput) +func (SfsExportPolicyRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SfsExportPolicyRule)(nil)).Elem() } -func (i SecurityGroupRuleIcmpParametersArgs) ToSecurityGroupRuleIcmpParametersPtrOutput() SecurityGroupRuleIcmpParametersPtrOutput { - return i.ToSecurityGroupRuleIcmpParametersPtrOutputWithContext(context.Background()) +func (i SfsExportPolicyRuleArgs) ToSfsExportPolicyRuleOutput() SfsExportPolicyRuleOutput { + return i.ToSfsExportPolicyRuleOutputWithContext(context.Background()) } -func (i SecurityGroupRuleIcmpParametersArgs) ToSecurityGroupRuleIcmpParametersPtrOutputWithContext(ctx context.Context) SecurityGroupRuleIcmpParametersPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupRuleIcmpParametersOutput).ToSecurityGroupRuleIcmpParametersPtrOutputWithContext(ctx) +func (i SfsExportPolicyRuleArgs) ToSfsExportPolicyRuleOutputWithContext(ctx context.Context) SfsExportPolicyRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(SfsExportPolicyRuleOutput) } -// SecurityGroupRuleIcmpParametersPtrInput is an input type that accepts SecurityGroupRuleIcmpParametersArgs, SecurityGroupRuleIcmpParametersPtr and SecurityGroupRuleIcmpParametersPtrOutput values. -// You can construct a concrete instance of `SecurityGroupRuleIcmpParametersPtrInput` via: -// -// SecurityGroupRuleIcmpParametersArgs{...} -// -// or: +// SfsExportPolicyRuleArrayInput is an input type that accepts SfsExportPolicyRuleArray and SfsExportPolicyRuleArrayOutput values. +// You can construct a concrete instance of `SfsExportPolicyRuleArrayInput` via: // -// nil -type SecurityGroupRuleIcmpParametersPtrInput interface { +// SfsExportPolicyRuleArray{ SfsExportPolicyRuleArgs{...} } +type SfsExportPolicyRuleArrayInput interface { pulumi.Input - ToSecurityGroupRuleIcmpParametersPtrOutput() SecurityGroupRuleIcmpParametersPtrOutput - ToSecurityGroupRuleIcmpParametersPtrOutputWithContext(context.Context) SecurityGroupRuleIcmpParametersPtrOutput + ToSfsExportPolicyRuleArrayOutput() SfsExportPolicyRuleArrayOutput + ToSfsExportPolicyRuleArrayOutputWithContext(context.Context) SfsExportPolicyRuleArrayOutput } -type securityGroupRuleIcmpParametersPtrType SecurityGroupRuleIcmpParametersArgs - -func SecurityGroupRuleIcmpParametersPtr(v *SecurityGroupRuleIcmpParametersArgs) SecurityGroupRuleIcmpParametersPtrInput { - return (*securityGroupRuleIcmpParametersPtrType)(v) -} +type SfsExportPolicyRuleArray []SfsExportPolicyRuleInput -func (*securityGroupRuleIcmpParametersPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SecurityGroupRuleIcmpParameters)(nil)).Elem() +func (SfsExportPolicyRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SfsExportPolicyRule)(nil)).Elem() } -func (i *securityGroupRuleIcmpParametersPtrType) ToSecurityGroupRuleIcmpParametersPtrOutput() SecurityGroupRuleIcmpParametersPtrOutput { - return i.ToSecurityGroupRuleIcmpParametersPtrOutputWithContext(context.Background()) +func (i SfsExportPolicyRuleArray) ToSfsExportPolicyRuleArrayOutput() SfsExportPolicyRuleArrayOutput { + return i.ToSfsExportPolicyRuleArrayOutputWithContext(context.Background()) } -func (i *securityGroupRuleIcmpParametersPtrType) ToSecurityGroupRuleIcmpParametersPtrOutputWithContext(ctx context.Context) SecurityGroupRuleIcmpParametersPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupRuleIcmpParametersPtrOutput) +func (i SfsExportPolicyRuleArray) ToSfsExportPolicyRuleArrayOutputWithContext(ctx context.Context) SfsExportPolicyRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SfsExportPolicyRuleArrayOutput) } -type SecurityGroupRuleIcmpParametersOutput struct{ *pulumi.OutputState } +type SfsExportPolicyRuleOutput struct{ *pulumi.OutputState } -func (SecurityGroupRuleIcmpParametersOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityGroupRuleIcmpParameters)(nil)).Elem() +func (SfsExportPolicyRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SfsExportPolicyRule)(nil)).Elem() } -func (o SecurityGroupRuleIcmpParametersOutput) ToSecurityGroupRuleIcmpParametersOutput() SecurityGroupRuleIcmpParametersOutput { +func (o SfsExportPolicyRuleOutput) ToSfsExportPolicyRuleOutput() SfsExportPolicyRuleOutput { return o } -func (o SecurityGroupRuleIcmpParametersOutput) ToSecurityGroupRuleIcmpParametersOutputWithContext(ctx context.Context) SecurityGroupRuleIcmpParametersOutput { +func (o SfsExportPolicyRuleOutput) ToSfsExportPolicyRuleOutputWithContext(ctx context.Context) SfsExportPolicyRuleOutput { return o } -func (o SecurityGroupRuleIcmpParametersOutput) ToSecurityGroupRuleIcmpParametersPtrOutput() SecurityGroupRuleIcmpParametersPtrOutput { - return o.ToSecurityGroupRuleIcmpParametersPtrOutputWithContext(context.Background()) +// Description of the Rule +func (o SfsExportPolicyRuleOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v SfsExportPolicyRule) *string { return v.Description }).(pulumi.StringPtrOutput) } -func (o SecurityGroupRuleIcmpParametersOutput) ToSecurityGroupRuleIcmpParametersPtrOutputWithContext(ctx context.Context) SecurityGroupRuleIcmpParametersPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SecurityGroupRuleIcmpParameters) *SecurityGroupRuleIcmpParameters { - return &v - }).(SecurityGroupRuleIcmpParametersPtrOutput) +// IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). +func (o SfsExportPolicyRuleOutput) IpAcls() pulumi.StringArrayOutput { + return o.ApplyT(func(v SfsExportPolicyRule) []string { return v.IpAcls }).(pulumi.StringArrayOutput) } -// ICMP code. Can be set if the protocol is ICMP. -func (o SecurityGroupRuleIcmpParametersOutput) Code() pulumi.IntOutput { - return o.ApplyT(func(v SecurityGroupRuleIcmpParameters) int { return v.Code }).(pulumi.IntOutput) +// Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied +func (o SfsExportPolicyRuleOutput) Order() pulumi.IntOutput { + return o.ApplyT(func(v SfsExportPolicyRule) int { return v.Order }).(pulumi.IntOutput) } -// ICMP type. Can be set if the protocol is ICMP. -func (o SecurityGroupRuleIcmpParametersOutput) Type() pulumi.IntOutput { - return o.ApplyT(func(v SecurityGroupRuleIcmpParameters) int { return v.Type }).(pulumi.IntOutput) +// Flag to indicate if client IPs matching this rule can only mount the share in read only mode +func (o SfsExportPolicyRuleOutput) ReadOnly() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SfsExportPolicyRule) *bool { return v.ReadOnly }).(pulumi.BoolPtrOutput) } -type SecurityGroupRuleIcmpParametersPtrOutput struct{ *pulumi.OutputState } - -func (SecurityGroupRuleIcmpParametersPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SecurityGroupRuleIcmpParameters)(nil)).Elem() +// Flag to honor set UUID +func (o SfsExportPolicyRuleOutput) SetUuid() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SfsExportPolicyRule) *bool { return v.SetUuid }).(pulumi.BoolPtrOutput) } -func (o SecurityGroupRuleIcmpParametersPtrOutput) ToSecurityGroupRuleIcmpParametersPtrOutput() SecurityGroupRuleIcmpParametersPtrOutput { - return o +// Flag to indicate if client IPs matching this rule have root access on the Share +func (o SfsExportPolicyRuleOutput) SuperUser() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SfsExportPolicyRule) *bool { return v.SuperUser }).(pulumi.BoolPtrOutput) } -func (o SecurityGroupRuleIcmpParametersPtrOutput) ToSecurityGroupRuleIcmpParametersPtrOutputWithContext(ctx context.Context) SecurityGroupRuleIcmpParametersPtrOutput { - return o +type SfsExportPolicyRuleArrayOutput struct{ *pulumi.OutputState } + +func (SfsExportPolicyRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SfsExportPolicyRule)(nil)).Elem() } -func (o SecurityGroupRuleIcmpParametersPtrOutput) Elem() SecurityGroupRuleIcmpParametersOutput { - return o.ApplyT(func(v *SecurityGroupRuleIcmpParameters) SecurityGroupRuleIcmpParameters { - if v != nil { - return *v - } - var ret SecurityGroupRuleIcmpParameters - return ret - }).(SecurityGroupRuleIcmpParametersOutput) +func (o SfsExportPolicyRuleArrayOutput) ToSfsExportPolicyRuleArrayOutput() SfsExportPolicyRuleArrayOutput { + return o } -// ICMP code. Can be set if the protocol is ICMP. -func (o SecurityGroupRuleIcmpParametersPtrOutput) Code() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SecurityGroupRuleIcmpParameters) *int { - if v == nil { - return nil - } - return &v.Code - }).(pulumi.IntPtrOutput) +func (o SfsExportPolicyRuleArrayOutput) ToSfsExportPolicyRuleArrayOutputWithContext(ctx context.Context) SfsExportPolicyRuleArrayOutput { + return o } -// ICMP type. Can be set if the protocol is ICMP. -func (o SecurityGroupRuleIcmpParametersPtrOutput) Type() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SecurityGroupRuleIcmpParameters) *int { - if v == nil { - return nil - } - return &v.Type - }).(pulumi.IntPtrOutput) +func (o SfsExportPolicyRuleArrayOutput) Index(i pulumi.IntInput) SfsExportPolicyRuleOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SfsExportPolicyRule { + return vs[0].([]SfsExportPolicyRule)[vs[1].(int)] + }).(SfsExportPolicyRuleOutput) } -type SecurityGroupRulePortRange 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 maximum. - Min int `pulumi:"min"` +type SfsResourcePoolSnapshotPolicy struct { + // ID of the snapshot policy. + Id string `pulumi:"id"` + // Name of the snapshot policy. + Name *string `pulumi:"name"` } -// SecurityGroupRulePortRangeInput is an input type that accepts SecurityGroupRulePortRangeArgs and SecurityGroupRulePortRangeOutput values. -// You can construct a concrete instance of `SecurityGroupRulePortRangeInput` via: +// SfsResourcePoolSnapshotPolicyInput is an input type that accepts SfsResourcePoolSnapshotPolicyArgs and SfsResourcePoolSnapshotPolicyOutput values. +// You can construct a concrete instance of `SfsResourcePoolSnapshotPolicyInput` via: // -// SecurityGroupRulePortRangeArgs{...} -type SecurityGroupRulePortRangeInput interface { +// SfsResourcePoolSnapshotPolicyArgs{...} +type SfsResourcePoolSnapshotPolicyInput interface { pulumi.Input - ToSecurityGroupRulePortRangeOutput() SecurityGroupRulePortRangeOutput - ToSecurityGroupRulePortRangeOutputWithContext(context.Context) SecurityGroupRulePortRangeOutput + ToSfsResourcePoolSnapshotPolicyOutput() SfsResourcePoolSnapshotPolicyOutput + ToSfsResourcePoolSnapshotPolicyOutputWithContext(context.Context) SfsResourcePoolSnapshotPolicyOutput } -type SecurityGroupRulePortRangeArgs 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 maximum. - Min pulumi.IntInput `pulumi:"min"` +type SfsResourcePoolSnapshotPolicyArgs struct { + // ID of the snapshot policy. + Id pulumi.StringInput `pulumi:"id"` + // Name of the snapshot policy. + Name pulumi.StringPtrInput `pulumi:"name"` } -func (SecurityGroupRulePortRangeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityGroupRulePortRange)(nil)).Elem() +func (SfsResourcePoolSnapshotPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SfsResourcePoolSnapshotPolicy)(nil)).Elem() } -func (i SecurityGroupRulePortRangeArgs) ToSecurityGroupRulePortRangeOutput() SecurityGroupRulePortRangeOutput { - return i.ToSecurityGroupRulePortRangeOutputWithContext(context.Background()) +func (i SfsResourcePoolSnapshotPolicyArgs) ToSfsResourcePoolSnapshotPolicyOutput() SfsResourcePoolSnapshotPolicyOutput { + return i.ToSfsResourcePoolSnapshotPolicyOutputWithContext(context.Background()) } -func (i SecurityGroupRulePortRangeArgs) ToSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) SecurityGroupRulePortRangeOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupRulePortRangeOutput) +func (i SfsResourcePoolSnapshotPolicyArgs) ToSfsResourcePoolSnapshotPolicyOutputWithContext(ctx context.Context) SfsResourcePoolSnapshotPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(SfsResourcePoolSnapshotPolicyOutput) } -func (i SecurityGroupRulePortRangeArgs) ToSecurityGroupRulePortRangePtrOutput() SecurityGroupRulePortRangePtrOutput { - return i.ToSecurityGroupRulePortRangePtrOutputWithContext(context.Background()) +func (i SfsResourcePoolSnapshotPolicyArgs) ToSfsResourcePoolSnapshotPolicyPtrOutput() SfsResourcePoolSnapshotPolicyPtrOutput { + return i.ToSfsResourcePoolSnapshotPolicyPtrOutputWithContext(context.Background()) } -func (i SecurityGroupRulePortRangeArgs) ToSecurityGroupRulePortRangePtrOutputWithContext(ctx context.Context) SecurityGroupRulePortRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupRulePortRangeOutput).ToSecurityGroupRulePortRangePtrOutputWithContext(ctx) +func (i SfsResourcePoolSnapshotPolicyArgs) ToSfsResourcePoolSnapshotPolicyPtrOutputWithContext(ctx context.Context) SfsResourcePoolSnapshotPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SfsResourcePoolSnapshotPolicyOutput).ToSfsResourcePoolSnapshotPolicyPtrOutputWithContext(ctx) } -// SecurityGroupRulePortRangePtrInput is an input type that accepts SecurityGroupRulePortRangeArgs, SecurityGroupRulePortRangePtr and SecurityGroupRulePortRangePtrOutput values. -// You can construct a concrete instance of `SecurityGroupRulePortRangePtrInput` via: +// SfsResourcePoolSnapshotPolicyPtrInput is an input type that accepts SfsResourcePoolSnapshotPolicyArgs, SfsResourcePoolSnapshotPolicyPtr and SfsResourcePoolSnapshotPolicyPtrOutput values. +// You can construct a concrete instance of `SfsResourcePoolSnapshotPolicyPtrInput` via: // -// SecurityGroupRulePortRangeArgs{...} +// SfsResourcePoolSnapshotPolicyArgs{...} // // or: // // nil -type SecurityGroupRulePortRangePtrInput interface { +type SfsResourcePoolSnapshotPolicyPtrInput interface { pulumi.Input - ToSecurityGroupRulePortRangePtrOutput() SecurityGroupRulePortRangePtrOutput - ToSecurityGroupRulePortRangePtrOutputWithContext(context.Context) SecurityGroupRulePortRangePtrOutput + ToSfsResourcePoolSnapshotPolicyPtrOutput() SfsResourcePoolSnapshotPolicyPtrOutput + ToSfsResourcePoolSnapshotPolicyPtrOutputWithContext(context.Context) SfsResourcePoolSnapshotPolicyPtrOutput } -type securityGroupRulePortRangePtrType SecurityGroupRulePortRangeArgs +type sfsResourcePoolSnapshotPolicyPtrType SfsResourcePoolSnapshotPolicyArgs -func SecurityGroupRulePortRangePtr(v *SecurityGroupRulePortRangeArgs) SecurityGroupRulePortRangePtrInput { - return (*securityGroupRulePortRangePtrType)(v) +func SfsResourcePoolSnapshotPolicyPtr(v *SfsResourcePoolSnapshotPolicyArgs) SfsResourcePoolSnapshotPolicyPtrInput { + return (*sfsResourcePoolSnapshotPolicyPtrType)(v) } -func (*securityGroupRulePortRangePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SecurityGroupRulePortRange)(nil)).Elem() +func (*sfsResourcePoolSnapshotPolicyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SfsResourcePoolSnapshotPolicy)(nil)).Elem() } -func (i *securityGroupRulePortRangePtrType) ToSecurityGroupRulePortRangePtrOutput() SecurityGroupRulePortRangePtrOutput { - return i.ToSecurityGroupRulePortRangePtrOutputWithContext(context.Background()) +func (i *sfsResourcePoolSnapshotPolicyPtrType) ToSfsResourcePoolSnapshotPolicyPtrOutput() SfsResourcePoolSnapshotPolicyPtrOutput { + return i.ToSfsResourcePoolSnapshotPolicyPtrOutputWithContext(context.Background()) } -func (i *securityGroupRulePortRangePtrType) ToSecurityGroupRulePortRangePtrOutputWithContext(ctx context.Context) SecurityGroupRulePortRangePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupRulePortRangePtrOutput) +func (i *sfsResourcePoolSnapshotPolicyPtrType) ToSfsResourcePoolSnapshotPolicyPtrOutputWithContext(ctx context.Context) SfsResourcePoolSnapshotPolicyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SfsResourcePoolSnapshotPolicyPtrOutput) } -type SecurityGroupRulePortRangeOutput struct{ *pulumi.OutputState } +type SfsResourcePoolSnapshotPolicyOutput struct{ *pulumi.OutputState } -func (SecurityGroupRulePortRangeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityGroupRulePortRange)(nil)).Elem() +func (SfsResourcePoolSnapshotPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SfsResourcePoolSnapshotPolicy)(nil)).Elem() } -func (o SecurityGroupRulePortRangeOutput) ToSecurityGroupRulePortRangeOutput() SecurityGroupRulePortRangeOutput { +func (o SfsResourcePoolSnapshotPolicyOutput) ToSfsResourcePoolSnapshotPolicyOutput() SfsResourcePoolSnapshotPolicyOutput { return o } -func (o SecurityGroupRulePortRangeOutput) ToSecurityGroupRulePortRangeOutputWithContext(ctx context.Context) SecurityGroupRulePortRangeOutput { +func (o SfsResourcePoolSnapshotPolicyOutput) ToSfsResourcePoolSnapshotPolicyOutputWithContext(ctx context.Context) SfsResourcePoolSnapshotPolicyOutput { return o } -func (o SecurityGroupRulePortRangeOutput) ToSecurityGroupRulePortRangePtrOutput() SecurityGroupRulePortRangePtrOutput { - return o.ToSecurityGroupRulePortRangePtrOutputWithContext(context.Background()) +func (o SfsResourcePoolSnapshotPolicyOutput) ToSfsResourcePoolSnapshotPolicyPtrOutput() SfsResourcePoolSnapshotPolicyPtrOutput { + return o.ToSfsResourcePoolSnapshotPolicyPtrOutputWithContext(context.Background()) } -func (o SecurityGroupRulePortRangeOutput) ToSecurityGroupRulePortRangePtrOutputWithContext(ctx context.Context) SecurityGroupRulePortRangePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SecurityGroupRulePortRange) *SecurityGroupRulePortRange { +func (o SfsResourcePoolSnapshotPolicyOutput) ToSfsResourcePoolSnapshotPolicyPtrOutputWithContext(ctx context.Context) SfsResourcePoolSnapshotPolicyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SfsResourcePoolSnapshotPolicy) *SfsResourcePoolSnapshotPolicy { return &v - }).(SecurityGroupRulePortRangePtrOutput) + }).(SfsResourcePoolSnapshotPolicyPtrOutput) } -// The maximum port number. Should be greater or equal to the minimum. -func (o SecurityGroupRulePortRangeOutput) Max() pulumi.IntOutput { - return o.ApplyT(func(v SecurityGroupRulePortRange) int { return v.Max }).(pulumi.IntOutput) +// ID of the snapshot policy. +func (o SfsResourcePoolSnapshotPolicyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v SfsResourcePoolSnapshotPolicy) string { return v.Id }).(pulumi.StringOutput) } -// The minimum port number. Should be less or equal to the maximum. -func (o SecurityGroupRulePortRangeOutput) Min() pulumi.IntOutput { - return o.ApplyT(func(v SecurityGroupRulePortRange) int { return v.Min }).(pulumi.IntOutput) +// Name of the snapshot policy. +func (o SfsResourcePoolSnapshotPolicyOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v SfsResourcePoolSnapshotPolicy) *string { return v.Name }).(pulumi.StringPtrOutput) } -type SecurityGroupRulePortRangePtrOutput struct{ *pulumi.OutputState } +type SfsResourcePoolSnapshotPolicyPtrOutput struct{ *pulumi.OutputState } -func (SecurityGroupRulePortRangePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SecurityGroupRulePortRange)(nil)).Elem() +func (SfsResourcePoolSnapshotPolicyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SfsResourcePoolSnapshotPolicy)(nil)).Elem() } -func (o SecurityGroupRulePortRangePtrOutput) ToSecurityGroupRulePortRangePtrOutput() SecurityGroupRulePortRangePtrOutput { +func (o SfsResourcePoolSnapshotPolicyPtrOutput) ToSfsResourcePoolSnapshotPolicyPtrOutput() SfsResourcePoolSnapshotPolicyPtrOutput { return o } -func (o SecurityGroupRulePortRangePtrOutput) ToSecurityGroupRulePortRangePtrOutputWithContext(ctx context.Context) SecurityGroupRulePortRangePtrOutput { +func (o SfsResourcePoolSnapshotPolicyPtrOutput) ToSfsResourcePoolSnapshotPolicyPtrOutputWithContext(ctx context.Context) SfsResourcePoolSnapshotPolicyPtrOutput { return o } -func (o SecurityGroupRulePortRangePtrOutput) Elem() SecurityGroupRulePortRangeOutput { - return o.ApplyT(func(v *SecurityGroupRulePortRange) SecurityGroupRulePortRange { +func (o SfsResourcePoolSnapshotPolicyPtrOutput) Elem() SfsResourcePoolSnapshotPolicyOutput { + return o.ApplyT(func(v *SfsResourcePoolSnapshotPolicy) SfsResourcePoolSnapshotPolicy { if v != nil { return *v } - var ret SecurityGroupRulePortRange + var ret SfsResourcePoolSnapshotPolicy return ret - }).(SecurityGroupRulePortRangeOutput) -} - -// The maximum port number. Should be greater or equal to the minimum. -func (o SecurityGroupRulePortRangePtrOutput) Max() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SecurityGroupRulePortRange) *int { + }).(SfsResourcePoolSnapshotPolicyOutput) +} + +// ID of the snapshot policy. +func (o SfsResourcePoolSnapshotPolicyPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SfsResourcePoolSnapshotPolicy) *string { if v == nil { return nil } - return &v.Max - }).(pulumi.IntPtrOutput) + return &v.Id + }).(pulumi.StringPtrOutput) } -// The minimum port number. Should be less or equal to the maximum. -func (o SecurityGroupRulePortRangePtrOutput) Min() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SecurityGroupRulePortRange) *int { +// Name of the snapshot policy. +func (o SfsResourcePoolSnapshotPolicyPtrOutput) Name() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SfsResourcePoolSnapshotPolicy) *string { if v == nil { return nil } - return &v.Min - }).(pulumi.IntPtrOutput) + return v.Name + }).(pulumi.StringPtrOutput) } -type SecurityGroupRuleProtocol struct { - // The protocol name which the rule should match. Either `name` or `number` must be provided. Possible values are: `ah`, `dccp`, `egp`, `esp`, `gre`, `icmp`, `igmp`, `ipip`, `ipv6-encap`, `ipv6-frag`, `ipv6-icmp`, `ipv6-nonxt`, `ipv6-opts`, `ipv6-route`, `ospf`, `pgm`, `rsvp`, `sctp`, `tcp`, `udp`, `udplite`, `vrrp`. - Name *string `pulumi:"name"` - // The protocol number which the rule should match. Either `name` or `number` must be provided. - Number *int `pulumi:"number"` +type SkeClusterExtensions struct { + // Cluster access control configuration. + Acl *SkeClusterExtensionsAcl `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 *SkeClusterExtensionsArgus `pulumi:"argus"` + // DNS extension configuration + Dns *SkeClusterExtensionsDns `pulumi:"dns"` + // A single observability block as defined below. + Observability *SkeClusterExtensionsObservability `pulumi:"observability"` } -// SecurityGroupRuleProtocolInput is an input type that accepts SecurityGroupRuleProtocolArgs and SecurityGroupRuleProtocolOutput values. -// You can construct a concrete instance of `SecurityGroupRuleProtocolInput` via: +// SkeClusterExtensionsInput is an input type that accepts SkeClusterExtensionsArgs and SkeClusterExtensionsOutput values. +// You can construct a concrete instance of `SkeClusterExtensionsInput` via: // -// SecurityGroupRuleProtocolArgs{...} -type SecurityGroupRuleProtocolInput interface { +// SkeClusterExtensionsArgs{...} +type SkeClusterExtensionsInput interface { pulumi.Input - ToSecurityGroupRuleProtocolOutput() SecurityGroupRuleProtocolOutput - ToSecurityGroupRuleProtocolOutputWithContext(context.Context) SecurityGroupRuleProtocolOutput + ToSkeClusterExtensionsOutput() SkeClusterExtensionsOutput + ToSkeClusterExtensionsOutputWithContext(context.Context) SkeClusterExtensionsOutput } -type SecurityGroupRuleProtocolArgs struct { - // The protocol name which the rule should match. Either `name` or `number` must be provided. Possible values are: `ah`, `dccp`, `egp`, `esp`, `gre`, `icmp`, `igmp`, `ipip`, `ipv6-encap`, `ipv6-frag`, `ipv6-icmp`, `ipv6-nonxt`, `ipv6-opts`, `ipv6-route`, `ospf`, `pgm`, `rsvp`, `sctp`, `tcp`, `udp`, `udplite`, `vrrp`. - Name pulumi.StringPtrInput `pulumi:"name"` - // The protocol number which the rule should match. Either `name` or `number` must be provided. - Number pulumi.IntPtrInput `pulumi:"number"` +type SkeClusterExtensionsArgs struct { + // Cluster access control configuration. + Acl SkeClusterExtensionsAclPtrInput `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 SkeClusterExtensionsArgusPtrInput `pulumi:"argus"` + // DNS extension configuration + Dns SkeClusterExtensionsDnsPtrInput `pulumi:"dns"` + // A single observability block as defined below. + Observability SkeClusterExtensionsObservabilityPtrInput `pulumi:"observability"` } -func (SecurityGroupRuleProtocolArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityGroupRuleProtocol)(nil)).Elem() +func (SkeClusterExtensionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterExtensions)(nil)).Elem() } -func (i SecurityGroupRuleProtocolArgs) ToSecurityGroupRuleProtocolOutput() SecurityGroupRuleProtocolOutput { - return i.ToSecurityGroupRuleProtocolOutputWithContext(context.Background()) +func (i SkeClusterExtensionsArgs) ToSkeClusterExtensionsOutput() SkeClusterExtensionsOutput { + return i.ToSkeClusterExtensionsOutputWithContext(context.Background()) } -func (i SecurityGroupRuleProtocolArgs) ToSecurityGroupRuleProtocolOutputWithContext(ctx context.Context) SecurityGroupRuleProtocolOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupRuleProtocolOutput) +func (i SkeClusterExtensionsArgs) ToSkeClusterExtensionsOutputWithContext(ctx context.Context) SkeClusterExtensionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsOutput) } -func (i SecurityGroupRuleProtocolArgs) ToSecurityGroupRuleProtocolPtrOutput() SecurityGroupRuleProtocolPtrOutput { - return i.ToSecurityGroupRuleProtocolPtrOutputWithContext(context.Background()) +func (i SkeClusterExtensionsArgs) ToSkeClusterExtensionsPtrOutput() SkeClusterExtensionsPtrOutput { + return i.ToSkeClusterExtensionsPtrOutputWithContext(context.Background()) } -func (i SecurityGroupRuleProtocolArgs) ToSecurityGroupRuleProtocolPtrOutputWithContext(ctx context.Context) SecurityGroupRuleProtocolPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupRuleProtocolOutput).ToSecurityGroupRuleProtocolPtrOutputWithContext(ctx) +func (i SkeClusterExtensionsArgs) ToSkeClusterExtensionsPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsOutput).ToSkeClusterExtensionsPtrOutputWithContext(ctx) } -// SecurityGroupRuleProtocolPtrInput is an input type that accepts SecurityGroupRuleProtocolArgs, SecurityGroupRuleProtocolPtr and SecurityGroupRuleProtocolPtrOutput values. -// You can construct a concrete instance of `SecurityGroupRuleProtocolPtrInput` via: +// SkeClusterExtensionsPtrInput is an input type that accepts SkeClusterExtensionsArgs, SkeClusterExtensionsPtr and SkeClusterExtensionsPtrOutput values. +// You can construct a concrete instance of `SkeClusterExtensionsPtrInput` via: // -// SecurityGroupRuleProtocolArgs{...} +// SkeClusterExtensionsArgs{...} // // or: // // nil -type SecurityGroupRuleProtocolPtrInput interface { +type SkeClusterExtensionsPtrInput interface { pulumi.Input - ToSecurityGroupRuleProtocolPtrOutput() SecurityGroupRuleProtocolPtrOutput - ToSecurityGroupRuleProtocolPtrOutputWithContext(context.Context) SecurityGroupRuleProtocolPtrOutput + ToSkeClusterExtensionsPtrOutput() SkeClusterExtensionsPtrOutput + ToSkeClusterExtensionsPtrOutputWithContext(context.Context) SkeClusterExtensionsPtrOutput } -type securityGroupRuleProtocolPtrType SecurityGroupRuleProtocolArgs +type skeClusterExtensionsPtrType SkeClusterExtensionsArgs -func SecurityGroupRuleProtocolPtr(v *SecurityGroupRuleProtocolArgs) SecurityGroupRuleProtocolPtrInput { - return (*securityGroupRuleProtocolPtrType)(v) +func SkeClusterExtensionsPtr(v *SkeClusterExtensionsArgs) SkeClusterExtensionsPtrInput { + return (*skeClusterExtensionsPtrType)(v) } -func (*securityGroupRuleProtocolPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SecurityGroupRuleProtocol)(nil)).Elem() +func (*skeClusterExtensionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterExtensions)(nil)).Elem() } -func (i *securityGroupRuleProtocolPtrType) ToSecurityGroupRuleProtocolPtrOutput() SecurityGroupRuleProtocolPtrOutput { - return i.ToSecurityGroupRuleProtocolPtrOutputWithContext(context.Background()) +func (i *skeClusterExtensionsPtrType) ToSkeClusterExtensionsPtrOutput() SkeClusterExtensionsPtrOutput { + return i.ToSkeClusterExtensionsPtrOutputWithContext(context.Background()) } -func (i *securityGroupRuleProtocolPtrType) ToSecurityGroupRuleProtocolPtrOutputWithContext(ctx context.Context) SecurityGroupRuleProtocolPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SecurityGroupRuleProtocolPtrOutput) +func (i *skeClusterExtensionsPtrType) ToSkeClusterExtensionsPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsPtrOutput) } -type SecurityGroupRuleProtocolOutput struct{ *pulumi.OutputState } +type SkeClusterExtensionsOutput struct{ *pulumi.OutputState } -func (SecurityGroupRuleProtocolOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SecurityGroupRuleProtocol)(nil)).Elem() +func (SkeClusterExtensionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterExtensions)(nil)).Elem() } -func (o SecurityGroupRuleProtocolOutput) ToSecurityGroupRuleProtocolOutput() SecurityGroupRuleProtocolOutput { +func (o SkeClusterExtensionsOutput) ToSkeClusterExtensionsOutput() SkeClusterExtensionsOutput { return o } -func (o SecurityGroupRuleProtocolOutput) ToSecurityGroupRuleProtocolOutputWithContext(ctx context.Context) SecurityGroupRuleProtocolOutput { +func (o SkeClusterExtensionsOutput) ToSkeClusterExtensionsOutputWithContext(ctx context.Context) SkeClusterExtensionsOutput { return o } -func (o SecurityGroupRuleProtocolOutput) ToSecurityGroupRuleProtocolPtrOutput() SecurityGroupRuleProtocolPtrOutput { - return o.ToSecurityGroupRuleProtocolPtrOutputWithContext(context.Background()) +func (o SkeClusterExtensionsOutput) ToSkeClusterExtensionsPtrOutput() SkeClusterExtensionsPtrOutput { + return o.ToSkeClusterExtensionsPtrOutputWithContext(context.Background()) } -func (o SecurityGroupRuleProtocolOutput) ToSecurityGroupRuleProtocolPtrOutputWithContext(ctx context.Context) SecurityGroupRuleProtocolPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SecurityGroupRuleProtocol) *SecurityGroupRuleProtocol { +func (o SkeClusterExtensionsOutput) ToSkeClusterExtensionsPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SkeClusterExtensions) *SkeClusterExtensions { return &v - }).(SecurityGroupRuleProtocolPtrOutput) + }).(SkeClusterExtensionsPtrOutput) } -// The protocol name which the rule should match. Either `name` or `number` must be provided. Possible values are: `ah`, `dccp`, `egp`, `esp`, `gre`, `icmp`, `igmp`, `ipip`, `ipv6-encap`, `ipv6-frag`, `ipv6-icmp`, `ipv6-nonxt`, `ipv6-opts`, `ipv6-route`, `ospf`, `pgm`, `rsvp`, `sctp`, `tcp`, `udp`, `udplite`, `vrrp`. -func (o SecurityGroupRuleProtocolOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v SecurityGroupRuleProtocol) *string { return v.Name }).(pulumi.StringPtrOutput) +// Cluster access control configuration. +func (o SkeClusterExtensionsOutput) Acl() SkeClusterExtensionsAclPtrOutput { + return o.ApplyT(func(v SkeClusterExtensions) *SkeClusterExtensionsAcl { return v.Acl }).(SkeClusterExtensionsAclPtrOutput) } -// The protocol number which the rule should match. Either `name` or `number` must be provided. -func (o SecurityGroupRuleProtocolOutput) Number() pulumi.IntPtrOutput { - return o.ApplyT(func(v SecurityGroupRuleProtocol) *int { return v.Number }).(pulumi.IntPtrOutput) +// A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. +// +// Deprecated: Use observability instead. +func (o SkeClusterExtensionsOutput) Argus() SkeClusterExtensionsArgusPtrOutput { + return o.ApplyT(func(v SkeClusterExtensions) *SkeClusterExtensionsArgus { return v.Argus }).(SkeClusterExtensionsArgusPtrOutput) } -type SecurityGroupRuleProtocolPtrOutput struct{ *pulumi.OutputState } +// DNS extension configuration +func (o SkeClusterExtensionsOutput) Dns() SkeClusterExtensionsDnsPtrOutput { + return o.ApplyT(func(v SkeClusterExtensions) *SkeClusterExtensionsDns { return v.Dns }).(SkeClusterExtensionsDnsPtrOutput) +} -func (SecurityGroupRuleProtocolPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SecurityGroupRuleProtocol)(nil)).Elem() +// A single observability block as defined below. +func (o SkeClusterExtensionsOutput) Observability() SkeClusterExtensionsObservabilityPtrOutput { + return o.ApplyT(func(v SkeClusterExtensions) *SkeClusterExtensionsObservability { return v.Observability }).(SkeClusterExtensionsObservabilityPtrOutput) } -func (o SecurityGroupRuleProtocolPtrOutput) ToSecurityGroupRuleProtocolPtrOutput() SecurityGroupRuleProtocolPtrOutput { +type SkeClusterExtensionsPtrOutput struct{ *pulumi.OutputState } + +func (SkeClusterExtensionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterExtensions)(nil)).Elem() +} + +func (o SkeClusterExtensionsPtrOutput) ToSkeClusterExtensionsPtrOutput() SkeClusterExtensionsPtrOutput { return o } -func (o SecurityGroupRuleProtocolPtrOutput) ToSecurityGroupRuleProtocolPtrOutputWithContext(ctx context.Context) SecurityGroupRuleProtocolPtrOutput { +func (o SkeClusterExtensionsPtrOutput) ToSkeClusterExtensionsPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsPtrOutput { return o } -func (o SecurityGroupRuleProtocolPtrOutput) Elem() SecurityGroupRuleProtocolOutput { - return o.ApplyT(func(v *SecurityGroupRuleProtocol) SecurityGroupRuleProtocol { +func (o SkeClusterExtensionsPtrOutput) Elem() SkeClusterExtensionsOutput { + return o.ApplyT(func(v *SkeClusterExtensions) SkeClusterExtensions { if v != nil { return *v } - var ret SecurityGroupRuleProtocol + var ret SkeClusterExtensions return ret - }).(SecurityGroupRuleProtocolOutput) + }).(SkeClusterExtensionsOutput) } -// The protocol name which the rule should match. Either `name` or `number` must be provided. Possible values are: `ah`, `dccp`, `egp`, `esp`, `gre`, `icmp`, `igmp`, `ipip`, `ipv6-encap`, `ipv6-frag`, `ipv6-icmp`, `ipv6-nonxt`, `ipv6-opts`, `ipv6-route`, `ospf`, `pgm`, `rsvp`, `sctp`, `tcp`, `udp`, `udplite`, `vrrp`. -func (o SecurityGroupRuleProtocolPtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SecurityGroupRuleProtocol) *string { +// Cluster access control configuration. +func (o SkeClusterExtensionsPtrOutput) Acl() SkeClusterExtensionsAclPtrOutput { + return o.ApplyT(func(v *SkeClusterExtensions) *SkeClusterExtensionsAcl { if v == nil { return nil } - return v.Name - }).(pulumi.StringPtrOutput) + return v.Acl + }).(SkeClusterExtensionsAclPtrOutput) } -// The protocol number which the rule should match. Either `name` or `number` must be provided. -func (o SecurityGroupRuleProtocolPtrOutput) Number() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SecurityGroupRuleProtocol) *int { +// A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. +// +// Deprecated: Use observability instead. +func (o SkeClusterExtensionsPtrOutput) Argus() SkeClusterExtensionsArgusPtrOutput { + return o.ApplyT(func(v *SkeClusterExtensions) *SkeClusterExtensionsArgus { if v == nil { return nil } - return v.Number - }).(pulumi.IntPtrOutput) + return v.Argus + }).(SkeClusterExtensionsArgusPtrOutput) } -type ServerAgent struct { - // Whether a STACKIT Server Agent is provisioned at the server - Provisioned *bool `pulumi:"provisioned"` - // Agent provisioning policy: `ALWAYS`, `NEVER`, or `INHERIT`. `INHERIT` follows the image default value. - ProvisioningPolicy *string `pulumi:"provisioningPolicy"` +// DNS extension configuration +func (o SkeClusterExtensionsPtrOutput) Dns() SkeClusterExtensionsDnsPtrOutput { + return o.ApplyT(func(v *SkeClusterExtensions) *SkeClusterExtensionsDns { + if v == nil { + return nil + } + return v.Dns + }).(SkeClusterExtensionsDnsPtrOutput) } -// ServerAgentInput is an input type that accepts ServerAgentArgs and ServerAgentOutput values. -// You can construct a concrete instance of `ServerAgentInput` via: +// A single observability block as defined below. +func (o SkeClusterExtensionsPtrOutput) Observability() SkeClusterExtensionsObservabilityPtrOutput { + return o.ApplyT(func(v *SkeClusterExtensions) *SkeClusterExtensionsObservability { + if v == nil { + return nil + } + return v.Observability + }).(SkeClusterExtensionsObservabilityPtrOutput) +} + +type SkeClusterExtensionsAcl struct { + // Specify a list of CIDRs to whitelist. + AllowedCidrs []string `pulumi:"allowedCidrs"` + // Is ACL enabled? + Enabled bool `pulumi:"enabled"` +} + +// SkeClusterExtensionsAclInput is an input type that accepts SkeClusterExtensionsAclArgs and SkeClusterExtensionsAclOutput values. +// You can construct a concrete instance of `SkeClusterExtensionsAclInput` via: // -// ServerAgentArgs{...} -type ServerAgentInput interface { +// SkeClusterExtensionsAclArgs{...} +type SkeClusterExtensionsAclInput interface { pulumi.Input - ToServerAgentOutput() ServerAgentOutput - ToServerAgentOutputWithContext(context.Context) ServerAgentOutput + ToSkeClusterExtensionsAclOutput() SkeClusterExtensionsAclOutput + ToSkeClusterExtensionsAclOutputWithContext(context.Context) SkeClusterExtensionsAclOutput } -type ServerAgentArgs struct { - // Whether a STACKIT Server Agent is provisioned at the server - Provisioned pulumi.BoolPtrInput `pulumi:"provisioned"` - // Agent provisioning policy: `ALWAYS`, `NEVER`, or `INHERIT`. `INHERIT` follows the image default value. - ProvisioningPolicy pulumi.StringPtrInput `pulumi:"provisioningPolicy"` +type SkeClusterExtensionsAclArgs struct { + // Specify a list of CIDRs to whitelist. + AllowedCidrs pulumi.StringArrayInput `pulumi:"allowedCidrs"` + // Is ACL enabled? + Enabled pulumi.BoolInput `pulumi:"enabled"` } -func (ServerAgentArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ServerAgent)(nil)).Elem() +func (SkeClusterExtensionsAclArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterExtensionsAcl)(nil)).Elem() } - -func (i ServerAgentArgs) ToServerAgentOutput() ServerAgentOutput { - return i.ToServerAgentOutputWithContext(context.Background()) + +func (i SkeClusterExtensionsAclArgs) ToSkeClusterExtensionsAclOutput() SkeClusterExtensionsAclOutput { + return i.ToSkeClusterExtensionsAclOutputWithContext(context.Background()) } -func (i ServerAgentArgs) ToServerAgentOutputWithContext(ctx context.Context) ServerAgentOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServerAgentOutput) +func (i SkeClusterExtensionsAclArgs) ToSkeClusterExtensionsAclOutputWithContext(ctx context.Context) SkeClusterExtensionsAclOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsAclOutput) } -func (i ServerAgentArgs) ToServerAgentPtrOutput() ServerAgentPtrOutput { - return i.ToServerAgentPtrOutputWithContext(context.Background()) +func (i SkeClusterExtensionsAclArgs) ToSkeClusterExtensionsAclPtrOutput() SkeClusterExtensionsAclPtrOutput { + return i.ToSkeClusterExtensionsAclPtrOutputWithContext(context.Background()) } -func (i ServerAgentArgs) ToServerAgentPtrOutputWithContext(ctx context.Context) ServerAgentPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServerAgentOutput).ToServerAgentPtrOutputWithContext(ctx) +func (i SkeClusterExtensionsAclArgs) ToSkeClusterExtensionsAclPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsAclPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsAclOutput).ToSkeClusterExtensionsAclPtrOutputWithContext(ctx) } -// ServerAgentPtrInput is an input type that accepts ServerAgentArgs, ServerAgentPtr and ServerAgentPtrOutput values. -// You can construct a concrete instance of `ServerAgentPtrInput` via: +// SkeClusterExtensionsAclPtrInput is an input type that accepts SkeClusterExtensionsAclArgs, SkeClusterExtensionsAclPtr and SkeClusterExtensionsAclPtrOutput values. +// You can construct a concrete instance of `SkeClusterExtensionsAclPtrInput` via: // -// ServerAgentArgs{...} +// SkeClusterExtensionsAclArgs{...} // // or: // // nil -type ServerAgentPtrInput interface { +type SkeClusterExtensionsAclPtrInput interface { pulumi.Input - ToServerAgentPtrOutput() ServerAgentPtrOutput - ToServerAgentPtrOutputWithContext(context.Context) ServerAgentPtrOutput + ToSkeClusterExtensionsAclPtrOutput() SkeClusterExtensionsAclPtrOutput + ToSkeClusterExtensionsAclPtrOutputWithContext(context.Context) SkeClusterExtensionsAclPtrOutput } -type serverAgentPtrType ServerAgentArgs +type skeClusterExtensionsAclPtrType SkeClusterExtensionsAclArgs -func ServerAgentPtr(v *ServerAgentArgs) ServerAgentPtrInput { - return (*serverAgentPtrType)(v) +func SkeClusterExtensionsAclPtr(v *SkeClusterExtensionsAclArgs) SkeClusterExtensionsAclPtrInput { + return (*skeClusterExtensionsAclPtrType)(v) } -func (*serverAgentPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ServerAgent)(nil)).Elem() +func (*skeClusterExtensionsAclPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterExtensionsAcl)(nil)).Elem() } -func (i *serverAgentPtrType) ToServerAgentPtrOutput() ServerAgentPtrOutput { - return i.ToServerAgentPtrOutputWithContext(context.Background()) +func (i *skeClusterExtensionsAclPtrType) ToSkeClusterExtensionsAclPtrOutput() SkeClusterExtensionsAclPtrOutput { + return i.ToSkeClusterExtensionsAclPtrOutputWithContext(context.Background()) } -func (i *serverAgentPtrType) ToServerAgentPtrOutputWithContext(ctx context.Context) ServerAgentPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServerAgentPtrOutput) +func (i *skeClusterExtensionsAclPtrType) ToSkeClusterExtensionsAclPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsAclPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsAclPtrOutput) } -type ServerAgentOutput struct{ *pulumi.OutputState } +type SkeClusterExtensionsAclOutput struct{ *pulumi.OutputState } -func (ServerAgentOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ServerAgent)(nil)).Elem() +func (SkeClusterExtensionsAclOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterExtensionsAcl)(nil)).Elem() } -func (o ServerAgentOutput) ToServerAgentOutput() ServerAgentOutput { +func (o SkeClusterExtensionsAclOutput) ToSkeClusterExtensionsAclOutput() SkeClusterExtensionsAclOutput { return o } -func (o ServerAgentOutput) ToServerAgentOutputWithContext(ctx context.Context) ServerAgentOutput { +func (o SkeClusterExtensionsAclOutput) ToSkeClusterExtensionsAclOutputWithContext(ctx context.Context) SkeClusterExtensionsAclOutput { return o } -func (o ServerAgentOutput) ToServerAgentPtrOutput() ServerAgentPtrOutput { - return o.ToServerAgentPtrOutputWithContext(context.Background()) +func (o SkeClusterExtensionsAclOutput) ToSkeClusterExtensionsAclPtrOutput() SkeClusterExtensionsAclPtrOutput { + return o.ToSkeClusterExtensionsAclPtrOutputWithContext(context.Background()) } -func (o ServerAgentOutput) ToServerAgentPtrOutputWithContext(ctx context.Context) ServerAgentPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerAgent) *ServerAgent { +func (o SkeClusterExtensionsAclOutput) ToSkeClusterExtensionsAclPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsAclPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SkeClusterExtensionsAcl) *SkeClusterExtensionsAcl { return &v - }).(ServerAgentPtrOutput) + }).(SkeClusterExtensionsAclPtrOutput) } -// Whether a STACKIT Server Agent is provisioned at the server -func (o ServerAgentOutput) Provisioned() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ServerAgent) *bool { return v.Provisioned }).(pulumi.BoolPtrOutput) +// Specify a list of CIDRs to whitelist. +func (o SkeClusterExtensionsAclOutput) AllowedCidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v SkeClusterExtensionsAcl) []string { return v.AllowedCidrs }).(pulumi.StringArrayOutput) } -// Agent provisioning policy: `ALWAYS`, `NEVER`, or `INHERIT`. `INHERIT` follows the image default value. -func (o ServerAgentOutput) ProvisioningPolicy() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServerAgent) *string { return v.ProvisioningPolicy }).(pulumi.StringPtrOutput) +// Is ACL enabled? +func (o SkeClusterExtensionsAclOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v SkeClusterExtensionsAcl) bool { return v.Enabled }).(pulumi.BoolOutput) } -type ServerAgentPtrOutput struct{ *pulumi.OutputState } +type SkeClusterExtensionsAclPtrOutput struct{ *pulumi.OutputState } -func (ServerAgentPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ServerAgent)(nil)).Elem() +func (SkeClusterExtensionsAclPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterExtensionsAcl)(nil)).Elem() } -func (o ServerAgentPtrOutput) ToServerAgentPtrOutput() ServerAgentPtrOutput { +func (o SkeClusterExtensionsAclPtrOutput) ToSkeClusterExtensionsAclPtrOutput() SkeClusterExtensionsAclPtrOutput { return o } -func (o ServerAgentPtrOutput) ToServerAgentPtrOutputWithContext(ctx context.Context) ServerAgentPtrOutput { +func (o SkeClusterExtensionsAclPtrOutput) ToSkeClusterExtensionsAclPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsAclPtrOutput { return o } -func (o ServerAgentPtrOutput) Elem() ServerAgentOutput { - return o.ApplyT(func(v *ServerAgent) ServerAgent { +func (o SkeClusterExtensionsAclPtrOutput) Elem() SkeClusterExtensionsAclOutput { + return o.ApplyT(func(v *SkeClusterExtensionsAcl) SkeClusterExtensionsAcl { if v != nil { return *v } - var ret ServerAgent + var ret SkeClusterExtensionsAcl return ret - }).(ServerAgentOutput) + }).(SkeClusterExtensionsAclOutput) } -// Whether a STACKIT Server Agent is provisioned at the server -func (o ServerAgentPtrOutput) Provisioned() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ServerAgent) *bool { +// Specify a list of CIDRs to whitelist. +func (o SkeClusterExtensionsAclPtrOutput) AllowedCidrs() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SkeClusterExtensionsAcl) []string { if v == nil { return nil } - return v.Provisioned - }).(pulumi.BoolPtrOutput) + return v.AllowedCidrs + }).(pulumi.StringArrayOutput) } -// Agent provisioning policy: `ALWAYS`, `NEVER`, or `INHERIT`. `INHERIT` follows the image default value. -func (o ServerAgentPtrOutput) ProvisioningPolicy() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServerAgent) *string { +// Is ACL enabled? +func (o SkeClusterExtensionsAclPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SkeClusterExtensionsAcl) *bool { if v == nil { return nil } - return v.ProvisioningPolicy - }).(pulumi.StringPtrOutput) + return &v.Enabled + }).(pulumi.BoolPtrOutput) } -type ServerBackupScheduleBackupProperties struct { - Name string `pulumi:"name"` - RetentionPeriod int `pulumi:"retentionPeriod"` - VolumeIds []string `pulumi:"volumeIds"` +type SkeClusterExtensionsArgus struct { + // Argus instance ID to choose which Argus instance is used. Required when enabled is set to `true`. + ArgusInstanceId *string `pulumi:"argusInstanceId"` + // Flag to enable/disable Argus extensions. + Enabled bool `pulumi:"enabled"` } -// ServerBackupScheduleBackupPropertiesInput is an input type that accepts ServerBackupScheduleBackupPropertiesArgs and ServerBackupScheduleBackupPropertiesOutput values. -// You can construct a concrete instance of `ServerBackupScheduleBackupPropertiesInput` via: +// SkeClusterExtensionsArgusInput is an input type that accepts SkeClusterExtensionsArgusArgs and SkeClusterExtensionsArgusOutput values. +// You can construct a concrete instance of `SkeClusterExtensionsArgusInput` via: // -// ServerBackupScheduleBackupPropertiesArgs{...} -type ServerBackupScheduleBackupPropertiesInput interface { +// SkeClusterExtensionsArgusArgs{...} +type SkeClusterExtensionsArgusInput interface { pulumi.Input - ToServerBackupScheduleBackupPropertiesOutput() ServerBackupScheduleBackupPropertiesOutput - ToServerBackupScheduleBackupPropertiesOutputWithContext(context.Context) ServerBackupScheduleBackupPropertiesOutput + ToSkeClusterExtensionsArgusOutput() SkeClusterExtensionsArgusOutput + ToSkeClusterExtensionsArgusOutputWithContext(context.Context) SkeClusterExtensionsArgusOutput } -type ServerBackupScheduleBackupPropertiesArgs struct { - Name pulumi.StringInput `pulumi:"name"` - RetentionPeriod pulumi.IntInput `pulumi:"retentionPeriod"` - VolumeIds pulumi.StringArrayInput `pulumi:"volumeIds"` +type SkeClusterExtensionsArgusArgs struct { + // Argus instance ID to choose which Argus instance is used. Required when enabled is set to `true`. + ArgusInstanceId pulumi.StringPtrInput `pulumi:"argusInstanceId"` + // Flag to enable/disable Argus extensions. + Enabled pulumi.BoolInput `pulumi:"enabled"` } -func (ServerBackupScheduleBackupPropertiesArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ServerBackupScheduleBackupProperties)(nil)).Elem() +func (SkeClusterExtensionsArgusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterExtensionsArgus)(nil)).Elem() } -func (i ServerBackupScheduleBackupPropertiesArgs) ToServerBackupScheduleBackupPropertiesOutput() ServerBackupScheduleBackupPropertiesOutput { - return i.ToServerBackupScheduleBackupPropertiesOutputWithContext(context.Background()) +func (i SkeClusterExtensionsArgusArgs) ToSkeClusterExtensionsArgusOutput() SkeClusterExtensionsArgusOutput { + return i.ToSkeClusterExtensionsArgusOutputWithContext(context.Background()) } -func (i ServerBackupScheduleBackupPropertiesArgs) ToServerBackupScheduleBackupPropertiesOutputWithContext(ctx context.Context) ServerBackupScheduleBackupPropertiesOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServerBackupScheduleBackupPropertiesOutput) +func (i SkeClusterExtensionsArgusArgs) ToSkeClusterExtensionsArgusOutputWithContext(ctx context.Context) SkeClusterExtensionsArgusOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsArgusOutput) } -func (i ServerBackupScheduleBackupPropertiesArgs) ToServerBackupScheduleBackupPropertiesPtrOutput() ServerBackupScheduleBackupPropertiesPtrOutput { - return i.ToServerBackupScheduleBackupPropertiesPtrOutputWithContext(context.Background()) +func (i SkeClusterExtensionsArgusArgs) ToSkeClusterExtensionsArgusPtrOutput() SkeClusterExtensionsArgusPtrOutput { + return i.ToSkeClusterExtensionsArgusPtrOutputWithContext(context.Background()) } -func (i ServerBackupScheduleBackupPropertiesArgs) ToServerBackupScheduleBackupPropertiesPtrOutputWithContext(ctx context.Context) ServerBackupScheduleBackupPropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServerBackupScheduleBackupPropertiesOutput).ToServerBackupScheduleBackupPropertiesPtrOutputWithContext(ctx) +func (i SkeClusterExtensionsArgusArgs) ToSkeClusterExtensionsArgusPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsArgusPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsArgusOutput).ToSkeClusterExtensionsArgusPtrOutputWithContext(ctx) } -// ServerBackupScheduleBackupPropertiesPtrInput is an input type that accepts ServerBackupScheduleBackupPropertiesArgs, ServerBackupScheduleBackupPropertiesPtr and ServerBackupScheduleBackupPropertiesPtrOutput values. -// You can construct a concrete instance of `ServerBackupScheduleBackupPropertiesPtrInput` via: +// SkeClusterExtensionsArgusPtrInput is an input type that accepts SkeClusterExtensionsArgusArgs, SkeClusterExtensionsArgusPtr and SkeClusterExtensionsArgusPtrOutput values. +// You can construct a concrete instance of `SkeClusterExtensionsArgusPtrInput` via: // -// ServerBackupScheduleBackupPropertiesArgs{...} +// SkeClusterExtensionsArgusArgs{...} // // or: // // nil -type ServerBackupScheduleBackupPropertiesPtrInput interface { +type SkeClusterExtensionsArgusPtrInput interface { pulumi.Input - ToServerBackupScheduleBackupPropertiesPtrOutput() ServerBackupScheduleBackupPropertiesPtrOutput - ToServerBackupScheduleBackupPropertiesPtrOutputWithContext(context.Context) ServerBackupScheduleBackupPropertiesPtrOutput + ToSkeClusterExtensionsArgusPtrOutput() SkeClusterExtensionsArgusPtrOutput + ToSkeClusterExtensionsArgusPtrOutputWithContext(context.Context) SkeClusterExtensionsArgusPtrOutput } -type serverBackupScheduleBackupPropertiesPtrType ServerBackupScheduleBackupPropertiesArgs +type skeClusterExtensionsArgusPtrType SkeClusterExtensionsArgusArgs -func ServerBackupScheduleBackupPropertiesPtr(v *ServerBackupScheduleBackupPropertiesArgs) ServerBackupScheduleBackupPropertiesPtrInput { - return (*serverBackupScheduleBackupPropertiesPtrType)(v) +func SkeClusterExtensionsArgusPtr(v *SkeClusterExtensionsArgusArgs) SkeClusterExtensionsArgusPtrInput { + return (*skeClusterExtensionsArgusPtrType)(v) } -func (*serverBackupScheduleBackupPropertiesPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ServerBackupScheduleBackupProperties)(nil)).Elem() +func (*skeClusterExtensionsArgusPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterExtensionsArgus)(nil)).Elem() } -func (i *serverBackupScheduleBackupPropertiesPtrType) ToServerBackupScheduleBackupPropertiesPtrOutput() ServerBackupScheduleBackupPropertiesPtrOutput { - return i.ToServerBackupScheduleBackupPropertiesPtrOutputWithContext(context.Background()) +func (i *skeClusterExtensionsArgusPtrType) ToSkeClusterExtensionsArgusPtrOutput() SkeClusterExtensionsArgusPtrOutput { + return i.ToSkeClusterExtensionsArgusPtrOutputWithContext(context.Background()) } -func (i *serverBackupScheduleBackupPropertiesPtrType) ToServerBackupScheduleBackupPropertiesPtrOutputWithContext(ctx context.Context) ServerBackupScheduleBackupPropertiesPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServerBackupScheduleBackupPropertiesPtrOutput) +func (i *skeClusterExtensionsArgusPtrType) ToSkeClusterExtensionsArgusPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsArgusPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsArgusPtrOutput) } -type ServerBackupScheduleBackupPropertiesOutput struct{ *pulumi.OutputState } +type SkeClusterExtensionsArgusOutput struct{ *pulumi.OutputState } -func (ServerBackupScheduleBackupPropertiesOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ServerBackupScheduleBackupProperties)(nil)).Elem() +func (SkeClusterExtensionsArgusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterExtensionsArgus)(nil)).Elem() } -func (o ServerBackupScheduleBackupPropertiesOutput) ToServerBackupScheduleBackupPropertiesOutput() ServerBackupScheduleBackupPropertiesOutput { +func (o SkeClusterExtensionsArgusOutput) ToSkeClusterExtensionsArgusOutput() SkeClusterExtensionsArgusOutput { return o } -func (o ServerBackupScheduleBackupPropertiesOutput) ToServerBackupScheduleBackupPropertiesOutputWithContext(ctx context.Context) ServerBackupScheduleBackupPropertiesOutput { +func (o SkeClusterExtensionsArgusOutput) ToSkeClusterExtensionsArgusOutputWithContext(ctx context.Context) SkeClusterExtensionsArgusOutput { return o } -func (o ServerBackupScheduleBackupPropertiesOutput) ToServerBackupScheduleBackupPropertiesPtrOutput() ServerBackupScheduleBackupPropertiesPtrOutput { - return o.ToServerBackupScheduleBackupPropertiesPtrOutputWithContext(context.Background()) +func (o SkeClusterExtensionsArgusOutput) ToSkeClusterExtensionsArgusPtrOutput() SkeClusterExtensionsArgusPtrOutput { + return o.ToSkeClusterExtensionsArgusPtrOutputWithContext(context.Background()) } -func (o ServerBackupScheduleBackupPropertiesOutput) ToServerBackupScheduleBackupPropertiesPtrOutputWithContext(ctx context.Context) ServerBackupScheduleBackupPropertiesPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerBackupScheduleBackupProperties) *ServerBackupScheduleBackupProperties { +func (o SkeClusterExtensionsArgusOutput) ToSkeClusterExtensionsArgusPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsArgusPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SkeClusterExtensionsArgus) *SkeClusterExtensionsArgus { return &v - }).(ServerBackupScheduleBackupPropertiesPtrOutput) -} - -func (o ServerBackupScheduleBackupPropertiesOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v ServerBackupScheduleBackupProperties) string { return v.Name }).(pulumi.StringOutput) + }).(SkeClusterExtensionsArgusPtrOutput) } -func (o ServerBackupScheduleBackupPropertiesOutput) RetentionPeriod() pulumi.IntOutput { - return o.ApplyT(func(v ServerBackupScheduleBackupProperties) int { return v.RetentionPeriod }).(pulumi.IntOutput) +// Argus instance ID to choose which Argus instance is used. Required when enabled is set to `true`. +func (o SkeClusterExtensionsArgusOutput) ArgusInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SkeClusterExtensionsArgus) *string { return v.ArgusInstanceId }).(pulumi.StringPtrOutput) } -func (o ServerBackupScheduleBackupPropertiesOutput) VolumeIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v ServerBackupScheduleBackupProperties) []string { return v.VolumeIds }).(pulumi.StringArrayOutput) +// Flag to enable/disable Argus extensions. +func (o SkeClusterExtensionsArgusOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v SkeClusterExtensionsArgus) bool { return v.Enabled }).(pulumi.BoolOutput) } -type ServerBackupScheduleBackupPropertiesPtrOutput struct{ *pulumi.OutputState } +type SkeClusterExtensionsArgusPtrOutput struct{ *pulumi.OutputState } -func (ServerBackupScheduleBackupPropertiesPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ServerBackupScheduleBackupProperties)(nil)).Elem() +func (SkeClusterExtensionsArgusPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterExtensionsArgus)(nil)).Elem() } -func (o ServerBackupScheduleBackupPropertiesPtrOutput) ToServerBackupScheduleBackupPropertiesPtrOutput() ServerBackupScheduleBackupPropertiesPtrOutput { +func (o SkeClusterExtensionsArgusPtrOutput) ToSkeClusterExtensionsArgusPtrOutput() SkeClusterExtensionsArgusPtrOutput { return o } -func (o ServerBackupScheduleBackupPropertiesPtrOutput) ToServerBackupScheduleBackupPropertiesPtrOutputWithContext(ctx context.Context) ServerBackupScheduleBackupPropertiesPtrOutput { +func (o SkeClusterExtensionsArgusPtrOutput) ToSkeClusterExtensionsArgusPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsArgusPtrOutput { return o } -func (o ServerBackupScheduleBackupPropertiesPtrOutput) Elem() ServerBackupScheduleBackupPropertiesOutput { - return o.ApplyT(func(v *ServerBackupScheduleBackupProperties) ServerBackupScheduleBackupProperties { +func (o SkeClusterExtensionsArgusPtrOutput) Elem() SkeClusterExtensionsArgusOutput { + return o.ApplyT(func(v *SkeClusterExtensionsArgus) SkeClusterExtensionsArgus { if v != nil { return *v } - var ret ServerBackupScheduleBackupProperties + var ret SkeClusterExtensionsArgus return ret - }).(ServerBackupScheduleBackupPropertiesOutput) -} - -func (o ServerBackupScheduleBackupPropertiesPtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServerBackupScheduleBackupProperties) *string { - if v == nil { - return nil - } - return &v.Name - }).(pulumi.StringPtrOutput) + }).(SkeClusterExtensionsArgusOutput) } -func (o ServerBackupScheduleBackupPropertiesPtrOutput) RetentionPeriod() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ServerBackupScheduleBackupProperties) *int { +// Argus instance ID to choose which Argus instance is used. Required when enabled is set to `true`. +func (o SkeClusterExtensionsArgusPtrOutput) ArgusInstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SkeClusterExtensionsArgus) *string { if v == nil { return nil } - return &v.RetentionPeriod - }).(pulumi.IntPtrOutput) + return v.ArgusInstanceId + }).(pulumi.StringPtrOutput) } -func (o ServerBackupScheduleBackupPropertiesPtrOutput) VolumeIds() pulumi.StringArrayOutput { - return o.ApplyT(func(v *ServerBackupScheduleBackupProperties) []string { +// Flag to enable/disable Argus extensions. +func (o SkeClusterExtensionsArgusPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SkeClusterExtensionsArgus) *bool { if v == nil { return nil } - return v.VolumeIds - }).(pulumi.StringArrayOutput) + return &v.Enabled + }).(pulumi.BoolPtrOutput) } -type ServerBootVolume struct { - // Delete the volume during the termination of the server. Only allowed when `sourceType` is `image`. - DeleteOnTermination *bool `pulumi:"deleteOnTermination"` - // The ID of the boot volume - Id *string `pulumi:"id"` - // The performance class of the server. - PerformanceClass *string `pulumi:"performanceClass"` - // The size of the boot volume in GB. Must be provided when `sourceType` is `image`. - Size *int `pulumi:"size"` - // The ID of the source, either image ID or volume ID - SourceId string `pulumi:"sourceId"` - // The type of the source. Possible values are: `volume`, `image`. - SourceType string `pulumi:"sourceType"` +type SkeClusterExtensionsDns 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"` } -// ServerBootVolumeInput is an input type that accepts ServerBootVolumeArgs and ServerBootVolumeOutput values. -// You can construct a concrete instance of `ServerBootVolumeInput` via: +// SkeClusterExtensionsDnsInput is an input type that accepts SkeClusterExtensionsDnsArgs and SkeClusterExtensionsDnsOutput values. +// You can construct a concrete instance of `SkeClusterExtensionsDnsInput` via: // -// ServerBootVolumeArgs{...} -type ServerBootVolumeInput interface { +// SkeClusterExtensionsDnsArgs{...} +type SkeClusterExtensionsDnsInput interface { pulumi.Input - ToServerBootVolumeOutput() ServerBootVolumeOutput - ToServerBootVolumeOutputWithContext(context.Context) ServerBootVolumeOutput + ToSkeClusterExtensionsDnsOutput() SkeClusterExtensionsDnsOutput + ToSkeClusterExtensionsDnsOutputWithContext(context.Context) SkeClusterExtensionsDnsOutput } -type ServerBootVolumeArgs struct { - // Delete the volume during the termination of the server. Only allowed when `sourceType` is `image`. - DeleteOnTermination pulumi.BoolPtrInput `pulumi:"deleteOnTermination"` - // The ID of the boot volume - Id pulumi.StringPtrInput `pulumi:"id"` - // The performance class of the server. - PerformanceClass pulumi.StringPtrInput `pulumi:"performanceClass"` - // The size of the boot volume in GB. Must be provided when `sourceType` is `image`. - Size pulumi.IntPtrInput `pulumi:"size"` - // The ID of the source, either image ID or volume ID - SourceId pulumi.StringInput `pulumi:"sourceId"` - // The type of the source. Possible values are: `volume`, `image`. - SourceType pulumi.StringInput `pulumi:"sourceType"` +type SkeClusterExtensionsDnsArgs 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 (ServerBootVolumeArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ServerBootVolume)(nil)).Elem() +func (SkeClusterExtensionsDnsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterExtensionsDns)(nil)).Elem() } -func (i ServerBootVolumeArgs) ToServerBootVolumeOutput() ServerBootVolumeOutput { - return i.ToServerBootVolumeOutputWithContext(context.Background()) +func (i SkeClusterExtensionsDnsArgs) ToSkeClusterExtensionsDnsOutput() SkeClusterExtensionsDnsOutput { + return i.ToSkeClusterExtensionsDnsOutputWithContext(context.Background()) } -func (i ServerBootVolumeArgs) ToServerBootVolumeOutputWithContext(ctx context.Context) ServerBootVolumeOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServerBootVolumeOutput) +func (i SkeClusterExtensionsDnsArgs) ToSkeClusterExtensionsDnsOutputWithContext(ctx context.Context) SkeClusterExtensionsDnsOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsDnsOutput) } -func (i ServerBootVolumeArgs) ToServerBootVolumePtrOutput() ServerBootVolumePtrOutput { - return i.ToServerBootVolumePtrOutputWithContext(context.Background()) +func (i SkeClusterExtensionsDnsArgs) ToSkeClusterExtensionsDnsPtrOutput() SkeClusterExtensionsDnsPtrOutput { + return i.ToSkeClusterExtensionsDnsPtrOutputWithContext(context.Background()) } -func (i ServerBootVolumeArgs) ToServerBootVolumePtrOutputWithContext(ctx context.Context) ServerBootVolumePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServerBootVolumeOutput).ToServerBootVolumePtrOutputWithContext(ctx) +func (i SkeClusterExtensionsDnsArgs) ToSkeClusterExtensionsDnsPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsDnsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsDnsOutput).ToSkeClusterExtensionsDnsPtrOutputWithContext(ctx) } -// ServerBootVolumePtrInput is an input type that accepts ServerBootVolumeArgs, ServerBootVolumePtr and ServerBootVolumePtrOutput values. -// You can construct a concrete instance of `ServerBootVolumePtrInput` via: +// SkeClusterExtensionsDnsPtrInput is an input type that accepts SkeClusterExtensionsDnsArgs, SkeClusterExtensionsDnsPtr and SkeClusterExtensionsDnsPtrOutput values. +// You can construct a concrete instance of `SkeClusterExtensionsDnsPtrInput` via: // -// ServerBootVolumeArgs{...} +// SkeClusterExtensionsDnsArgs{...} // // or: // // nil -type ServerBootVolumePtrInput interface { +type SkeClusterExtensionsDnsPtrInput interface { pulumi.Input - ToServerBootVolumePtrOutput() ServerBootVolumePtrOutput - ToServerBootVolumePtrOutputWithContext(context.Context) ServerBootVolumePtrOutput + ToSkeClusterExtensionsDnsPtrOutput() SkeClusterExtensionsDnsPtrOutput + ToSkeClusterExtensionsDnsPtrOutputWithContext(context.Context) SkeClusterExtensionsDnsPtrOutput } -type serverBootVolumePtrType ServerBootVolumeArgs +type skeClusterExtensionsDnsPtrType SkeClusterExtensionsDnsArgs -func ServerBootVolumePtr(v *ServerBootVolumeArgs) ServerBootVolumePtrInput { - return (*serverBootVolumePtrType)(v) +func SkeClusterExtensionsDnsPtr(v *SkeClusterExtensionsDnsArgs) SkeClusterExtensionsDnsPtrInput { + return (*skeClusterExtensionsDnsPtrType)(v) } -func (*serverBootVolumePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**ServerBootVolume)(nil)).Elem() +func (*skeClusterExtensionsDnsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterExtensionsDns)(nil)).Elem() } -func (i *serverBootVolumePtrType) ToServerBootVolumePtrOutput() ServerBootVolumePtrOutput { - return i.ToServerBootVolumePtrOutputWithContext(context.Background()) +func (i *skeClusterExtensionsDnsPtrType) ToSkeClusterExtensionsDnsPtrOutput() SkeClusterExtensionsDnsPtrOutput { + return i.ToSkeClusterExtensionsDnsPtrOutputWithContext(context.Background()) } -func (i *serverBootVolumePtrType) ToServerBootVolumePtrOutputWithContext(ctx context.Context) ServerBootVolumePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServerBootVolumePtrOutput) +func (i *skeClusterExtensionsDnsPtrType) ToSkeClusterExtensionsDnsPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsDnsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsDnsPtrOutput) } -type ServerBootVolumeOutput struct{ *pulumi.OutputState } +type SkeClusterExtensionsDnsOutput struct{ *pulumi.OutputState } -func (ServerBootVolumeOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ServerBootVolume)(nil)).Elem() +func (SkeClusterExtensionsDnsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterExtensionsDns)(nil)).Elem() } -func (o ServerBootVolumeOutput) ToServerBootVolumeOutput() ServerBootVolumeOutput { +func (o SkeClusterExtensionsDnsOutput) ToSkeClusterExtensionsDnsOutput() SkeClusterExtensionsDnsOutput { return o } -func (o ServerBootVolumeOutput) ToServerBootVolumeOutputWithContext(ctx context.Context) ServerBootVolumeOutput { +func (o SkeClusterExtensionsDnsOutput) ToSkeClusterExtensionsDnsOutputWithContext(ctx context.Context) SkeClusterExtensionsDnsOutput { return o } -func (o ServerBootVolumeOutput) ToServerBootVolumePtrOutput() ServerBootVolumePtrOutput { - return o.ToServerBootVolumePtrOutputWithContext(context.Background()) +func (o SkeClusterExtensionsDnsOutput) ToSkeClusterExtensionsDnsPtrOutput() SkeClusterExtensionsDnsPtrOutput { + return o.ToSkeClusterExtensionsDnsPtrOutputWithContext(context.Background()) } -func (o ServerBootVolumeOutput) ToServerBootVolumePtrOutputWithContext(ctx context.Context) ServerBootVolumePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v ServerBootVolume) *ServerBootVolume { +func (o SkeClusterExtensionsDnsOutput) ToSkeClusterExtensionsDnsPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsDnsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SkeClusterExtensionsDns) *SkeClusterExtensionsDns { return &v - }).(ServerBootVolumePtrOutput) -} - -// Delete the volume during the termination of the server. Only allowed when `sourceType` is `image`. -func (o ServerBootVolumeOutput) DeleteOnTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v ServerBootVolume) *bool { return v.DeleteOnTermination }).(pulumi.BoolPtrOutput) -} - -// The ID of the boot volume -func (o ServerBootVolumeOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServerBootVolume) *string { return v.Id }).(pulumi.StringPtrOutput) -} - -// The performance class of the server. -func (o ServerBootVolumeOutput) PerformanceClass() pulumi.StringPtrOutput { - return o.ApplyT(func(v ServerBootVolume) *string { return v.PerformanceClass }).(pulumi.StringPtrOutput) -} - -// The size of the boot volume in GB. Must be provided when `sourceType` is `image`. -func (o ServerBootVolumeOutput) Size() pulumi.IntPtrOutput { - return o.ApplyT(func(v ServerBootVolume) *int { return v.Size }).(pulumi.IntPtrOutput) + }).(SkeClusterExtensionsDnsPtrOutput) } -// The ID of the source, either image ID or volume ID -func (o ServerBootVolumeOutput) SourceId() pulumi.StringOutput { - return o.ApplyT(func(v ServerBootVolume) string { return v.SourceId }).(pulumi.StringOutput) +// Flag to enable/disable DNS extensions +func (o SkeClusterExtensionsDnsOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v SkeClusterExtensionsDns) bool { return v.Enabled }).(pulumi.BoolOutput) } -// The type of the source. Possible values are: `volume`, `image`. -func (o ServerBootVolumeOutput) SourceType() pulumi.StringOutput { - return o.ApplyT(func(v ServerBootVolume) string { return v.SourceType }).(pulumi.StringOutput) +// Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) +func (o SkeClusterExtensionsDnsOutput) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v SkeClusterExtensionsDns) []string { return v.Zones }).(pulumi.StringArrayOutput) } -type ServerBootVolumePtrOutput struct{ *pulumi.OutputState } +type SkeClusterExtensionsDnsPtrOutput struct{ *pulumi.OutputState } -func (ServerBootVolumePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**ServerBootVolume)(nil)).Elem() +func (SkeClusterExtensionsDnsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterExtensionsDns)(nil)).Elem() } -func (o ServerBootVolumePtrOutput) ToServerBootVolumePtrOutput() ServerBootVolumePtrOutput { +func (o SkeClusterExtensionsDnsPtrOutput) ToSkeClusterExtensionsDnsPtrOutput() SkeClusterExtensionsDnsPtrOutput { return o } -func (o ServerBootVolumePtrOutput) ToServerBootVolumePtrOutputWithContext(ctx context.Context) ServerBootVolumePtrOutput { +func (o SkeClusterExtensionsDnsPtrOutput) ToSkeClusterExtensionsDnsPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsDnsPtrOutput { return o } -func (o ServerBootVolumePtrOutput) Elem() ServerBootVolumeOutput { - return o.ApplyT(func(v *ServerBootVolume) ServerBootVolume { +func (o SkeClusterExtensionsDnsPtrOutput) Elem() SkeClusterExtensionsDnsOutput { + return o.ApplyT(func(v *SkeClusterExtensionsDns) SkeClusterExtensionsDns { if v != nil { return *v } - var ret ServerBootVolume + var ret SkeClusterExtensionsDns return ret - }).(ServerBootVolumeOutput) + }).(SkeClusterExtensionsDnsOutput) } -// Delete the volume during the termination of the server. Only allowed when `sourceType` is `image`. -func (o ServerBootVolumePtrOutput) DeleteOnTermination() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *ServerBootVolume) *bool { +// Flag to enable/disable DNS extensions +func (o SkeClusterExtensionsDnsPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SkeClusterExtensionsDns) *bool { if v == nil { return nil } - return v.DeleteOnTermination + return &v.Enabled }).(pulumi.BoolPtrOutput) } -// The ID of the boot volume -func (o ServerBootVolumePtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServerBootVolume) *string { - if v == nil { - return nil - } - return v.Id - }).(pulumi.StringPtrOutput) -} - -// The performance class of the server. -func (o ServerBootVolumePtrOutput) PerformanceClass() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServerBootVolume) *string { - if v == nil { - return nil - } - return v.PerformanceClass - }).(pulumi.StringPtrOutput) -} - -// The size of the boot volume in GB. Must be provided when `sourceType` is `image`. -func (o ServerBootVolumePtrOutput) Size() pulumi.IntPtrOutput { - return o.ApplyT(func(v *ServerBootVolume) *int { - if v == nil { - return nil - } - return v.Size - }).(pulumi.IntPtrOutput) -} - -// The ID of the source, either image ID or volume ID -func (o ServerBootVolumePtrOutput) SourceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServerBootVolume) *string { - if v == nil { - return nil - } - return &v.SourceId - }).(pulumi.StringPtrOutput) -} - -// The type of the source. Possible values are: `volume`, `image`. -func (o ServerBootVolumePtrOutput) SourceType() pulumi.StringPtrOutput { - return o.ApplyT(func(v *ServerBootVolume) *string { +// Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) +func (o SkeClusterExtensionsDnsPtrOutput) Zones() pulumi.StringArrayOutput { + return o.ApplyT(func(v *SkeClusterExtensionsDns) []string { if v == nil { return nil } - return &v.SourceType - }).(pulumi.StringPtrOutput) + return v.Zones + }).(pulumi.StringArrayOutput) } -type ServiceAccountFederatedIdentityProviderAssertion 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 SkeClusterExtensionsObservability 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"` } -// ServiceAccountFederatedIdentityProviderAssertionInput is an input type that accepts ServiceAccountFederatedIdentityProviderAssertionArgs and ServiceAccountFederatedIdentityProviderAssertionOutput values. -// You can construct a concrete instance of `ServiceAccountFederatedIdentityProviderAssertionInput` via: +// SkeClusterExtensionsObservabilityInput is an input type that accepts SkeClusterExtensionsObservabilityArgs and SkeClusterExtensionsObservabilityOutput values. +// You can construct a concrete instance of `SkeClusterExtensionsObservabilityInput` via: // -// ServiceAccountFederatedIdentityProviderAssertionArgs{...} -type ServiceAccountFederatedIdentityProviderAssertionInput interface { +// SkeClusterExtensionsObservabilityArgs{...} +type SkeClusterExtensionsObservabilityInput interface { pulumi.Input - ToServiceAccountFederatedIdentityProviderAssertionOutput() ServiceAccountFederatedIdentityProviderAssertionOutput - ToServiceAccountFederatedIdentityProviderAssertionOutputWithContext(context.Context) ServiceAccountFederatedIdentityProviderAssertionOutput + ToSkeClusterExtensionsObservabilityOutput() SkeClusterExtensionsObservabilityOutput + ToSkeClusterExtensionsObservabilityOutputWithContext(context.Context) SkeClusterExtensionsObservabilityOutput } -type ServiceAccountFederatedIdentityProviderAssertionArgs 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 SkeClusterExtensionsObservabilityArgs 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.StringPtrInput `pulumi:"instanceId"` } -func (ServiceAccountFederatedIdentityProviderAssertionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() +func (SkeClusterExtensionsObservabilityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterExtensionsObservability)(nil)).Elem() } -func (i ServiceAccountFederatedIdentityProviderAssertionArgs) ToServiceAccountFederatedIdentityProviderAssertionOutput() ServiceAccountFederatedIdentityProviderAssertionOutput { - return i.ToServiceAccountFederatedIdentityProviderAssertionOutputWithContext(context.Background()) +func (i SkeClusterExtensionsObservabilityArgs) ToSkeClusterExtensionsObservabilityOutput() SkeClusterExtensionsObservabilityOutput { + return i.ToSkeClusterExtensionsObservabilityOutputWithContext(context.Background()) } -func (i ServiceAccountFederatedIdentityProviderAssertionArgs) ToServiceAccountFederatedIdentityProviderAssertionOutputWithContext(ctx context.Context) ServiceAccountFederatedIdentityProviderAssertionOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceAccountFederatedIdentityProviderAssertionOutput) +func (i SkeClusterExtensionsObservabilityArgs) ToSkeClusterExtensionsObservabilityOutputWithContext(ctx context.Context) SkeClusterExtensionsObservabilityOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsObservabilityOutput) } -// ServiceAccountFederatedIdentityProviderAssertionArrayInput is an input type that accepts ServiceAccountFederatedIdentityProviderAssertionArray and ServiceAccountFederatedIdentityProviderAssertionArrayOutput values. -// You can construct a concrete instance of `ServiceAccountFederatedIdentityProviderAssertionArrayInput` via: +func (i SkeClusterExtensionsObservabilityArgs) ToSkeClusterExtensionsObservabilityPtrOutput() SkeClusterExtensionsObservabilityPtrOutput { + return i.ToSkeClusterExtensionsObservabilityPtrOutputWithContext(context.Background()) +} + +func (i SkeClusterExtensionsObservabilityArgs) ToSkeClusterExtensionsObservabilityPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsObservabilityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsObservabilityOutput).ToSkeClusterExtensionsObservabilityPtrOutputWithContext(ctx) +} + +// SkeClusterExtensionsObservabilityPtrInput is an input type that accepts SkeClusterExtensionsObservabilityArgs, SkeClusterExtensionsObservabilityPtr and SkeClusterExtensionsObservabilityPtrOutput values. +// You can construct a concrete instance of `SkeClusterExtensionsObservabilityPtrInput` via: // -// ServiceAccountFederatedIdentityProviderAssertionArray{ ServiceAccountFederatedIdentityProviderAssertionArgs{...} } -type ServiceAccountFederatedIdentityProviderAssertionArrayInput interface { +// SkeClusterExtensionsObservabilityArgs{...} +// +// or: +// +// nil +type SkeClusterExtensionsObservabilityPtrInput interface { pulumi.Input - ToServiceAccountFederatedIdentityProviderAssertionArrayOutput() ServiceAccountFederatedIdentityProviderAssertionArrayOutput - ToServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(context.Context) ServiceAccountFederatedIdentityProviderAssertionArrayOutput + ToSkeClusterExtensionsObservabilityPtrOutput() SkeClusterExtensionsObservabilityPtrOutput + ToSkeClusterExtensionsObservabilityPtrOutputWithContext(context.Context) SkeClusterExtensionsObservabilityPtrOutput } -type ServiceAccountFederatedIdentityProviderAssertionArray []ServiceAccountFederatedIdentityProviderAssertionInput +type skeClusterExtensionsObservabilityPtrType SkeClusterExtensionsObservabilityArgs -func (ServiceAccountFederatedIdentityProviderAssertionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]ServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() +func SkeClusterExtensionsObservabilityPtr(v *SkeClusterExtensionsObservabilityArgs) SkeClusterExtensionsObservabilityPtrInput { + return (*skeClusterExtensionsObservabilityPtrType)(v) } -func (i ServiceAccountFederatedIdentityProviderAssertionArray) ToServiceAccountFederatedIdentityProviderAssertionArrayOutput() ServiceAccountFederatedIdentityProviderAssertionArrayOutput { - return i.ToServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(context.Background()) +func (*skeClusterExtensionsObservabilityPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterExtensionsObservability)(nil)).Elem() } -func (i ServiceAccountFederatedIdentityProviderAssertionArray) ToServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(ctx context.Context) ServiceAccountFederatedIdentityProviderAssertionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(ServiceAccountFederatedIdentityProviderAssertionArrayOutput) +func (i *skeClusterExtensionsObservabilityPtrType) ToSkeClusterExtensionsObservabilityPtrOutput() SkeClusterExtensionsObservabilityPtrOutput { + return i.ToSkeClusterExtensionsObservabilityPtrOutputWithContext(context.Background()) } -type ServiceAccountFederatedIdentityProviderAssertionOutput struct{ *pulumi.OutputState } +func (i *skeClusterExtensionsObservabilityPtrType) ToSkeClusterExtensionsObservabilityPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsObservabilityPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsObservabilityPtrOutput) +} -func (ServiceAccountFederatedIdentityProviderAssertionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*ServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() +type SkeClusterExtensionsObservabilityOutput struct{ *pulumi.OutputState } + +func (SkeClusterExtensionsObservabilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterExtensionsObservability)(nil)).Elem() } -func (o ServiceAccountFederatedIdentityProviderAssertionOutput) ToServiceAccountFederatedIdentityProviderAssertionOutput() ServiceAccountFederatedIdentityProviderAssertionOutput { +func (o SkeClusterExtensionsObservabilityOutput) ToSkeClusterExtensionsObservabilityOutput() SkeClusterExtensionsObservabilityOutput { return o } -func (o ServiceAccountFederatedIdentityProviderAssertionOutput) ToServiceAccountFederatedIdentityProviderAssertionOutputWithContext(ctx context.Context) ServiceAccountFederatedIdentityProviderAssertionOutput { +func (o SkeClusterExtensionsObservabilityOutput) ToSkeClusterExtensionsObservabilityOutputWithContext(ctx context.Context) SkeClusterExtensionsObservabilityOutput { return o } -// The assertion claim. At least one assertion with the claim "aud" is required for security reasons. -func (o ServiceAccountFederatedIdentityProviderAssertionOutput) Item() pulumi.StringOutput { - return o.ApplyT(func(v ServiceAccountFederatedIdentityProviderAssertion) string { return v.Item }).(pulumi.StringOutput) +func (o SkeClusterExtensionsObservabilityOutput) ToSkeClusterExtensionsObservabilityPtrOutput() SkeClusterExtensionsObservabilityPtrOutput { + return o.ToSkeClusterExtensionsObservabilityPtrOutputWithContext(context.Background()) } -// The assertion operator. Currently, the only supported operator is "equals". -func (o ServiceAccountFederatedIdentityProviderAssertionOutput) Operator() pulumi.StringOutput { - return o.ApplyT(func(v ServiceAccountFederatedIdentityProviderAssertion) string { return v.Operator }).(pulumi.StringOutput) +func (o SkeClusterExtensionsObservabilityOutput) ToSkeClusterExtensionsObservabilityPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsObservabilityPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SkeClusterExtensionsObservability) *SkeClusterExtensionsObservability { + return &v + }).(SkeClusterExtensionsObservabilityPtrOutput) } -// The assertion value. -func (o ServiceAccountFederatedIdentityProviderAssertionOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v ServiceAccountFederatedIdentityProviderAssertion) string { return v.Value }).(pulumi.StringOutput) +// Flag to enable/disable Observability extensions. +func (o SkeClusterExtensionsObservabilityOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v SkeClusterExtensionsObservability) bool { return v.Enabled }).(pulumi.BoolOutput) } -type ServiceAccountFederatedIdentityProviderAssertionArrayOutput struct{ *pulumi.OutputState } +// Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`. +func (o SkeClusterExtensionsObservabilityOutput) InstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v SkeClusterExtensionsObservability) *string { return v.InstanceId }).(pulumi.StringPtrOutput) +} -func (ServiceAccountFederatedIdentityProviderAssertionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]ServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() +type SkeClusterExtensionsObservabilityPtrOutput struct{ *pulumi.OutputState } + +func (SkeClusterExtensionsObservabilityPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterExtensionsObservability)(nil)).Elem() } -func (o ServiceAccountFederatedIdentityProviderAssertionArrayOutput) ToServiceAccountFederatedIdentityProviderAssertionArrayOutput() ServiceAccountFederatedIdentityProviderAssertionArrayOutput { +func (o SkeClusterExtensionsObservabilityPtrOutput) ToSkeClusterExtensionsObservabilityPtrOutput() SkeClusterExtensionsObservabilityPtrOutput { return o } -func (o ServiceAccountFederatedIdentityProviderAssertionArrayOutput) ToServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(ctx context.Context) ServiceAccountFederatedIdentityProviderAssertionArrayOutput { +func (o SkeClusterExtensionsObservabilityPtrOutput) ToSkeClusterExtensionsObservabilityPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsObservabilityPtrOutput { return o } -func (o ServiceAccountFederatedIdentityProviderAssertionArrayOutput) Index(i pulumi.IntInput) ServiceAccountFederatedIdentityProviderAssertionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) ServiceAccountFederatedIdentityProviderAssertion { - return vs[0].([]ServiceAccountFederatedIdentityProviderAssertion)[vs[1].(int)] - }).(ServiceAccountFederatedIdentityProviderAssertionOutput) +func (o SkeClusterExtensionsObservabilityPtrOutput) Elem() SkeClusterExtensionsObservabilityOutput { + return o.ApplyT(func(v *SkeClusterExtensionsObservability) SkeClusterExtensionsObservability { + if v != nil { + return *v + } + var ret SkeClusterExtensionsObservability + return ret + }).(SkeClusterExtensionsObservabilityOutput) } -type SfsExportPolicyRule struct { - // Description of the Rule - Description *string `pulumi:"description"` - // IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). - IpAcls []string `pulumi:"ipAcls"` - // Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied - Order int `pulumi:"order"` - // Flag to indicate if client IPs matching this rule can only mount the share in read only mode - ReadOnly *bool `pulumi:"readOnly"` - // Flag to honor set UUID - SetUuid *bool `pulumi:"setUuid"` - // Flag to indicate if client IPs matching this rule have root access on the Share - SuperUser *bool `pulumi:"superUser"` +// Flag to enable/disable Observability extensions. +func (o SkeClusterExtensionsObservabilityPtrOutput) Enabled() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SkeClusterExtensionsObservability) *bool { + if v == nil { + return nil + } + return &v.Enabled + }).(pulumi.BoolPtrOutput) } -// SfsExportPolicyRuleInput is an input type that accepts SfsExportPolicyRuleArgs and SfsExportPolicyRuleOutput values. -// You can construct a concrete instance of `SfsExportPolicyRuleInput` via: +// Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`. +func (o SkeClusterExtensionsObservabilityPtrOutput) InstanceId() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SkeClusterExtensionsObservability) *string { + if v == nil { + return nil + } + return v.InstanceId + }).(pulumi.StringPtrOutput) +} + +type SkeClusterHibernation struct { + // End time of hibernation in crontab syntax. E.g. `0 8 * * *` for waking up the cluster at 8am. + End string `pulumi:"end"` + // Start time of cluster hibernation in crontab syntax. E.g. `0 18 * * *` for starting everyday at 6pm. + Start string `pulumi:"start"` + // Timezone name corresponding to a file in the IANA Time Zone database. i.e. `Europe/Berlin`. + Timezone *string `pulumi:"timezone"` +} + +// SkeClusterHibernationInput is an input type that accepts SkeClusterHibernationArgs and SkeClusterHibernationOutput values. +// You can construct a concrete instance of `SkeClusterHibernationInput` via: // -// SfsExportPolicyRuleArgs{...} -type SfsExportPolicyRuleInput interface { +// SkeClusterHibernationArgs{...} +type SkeClusterHibernationInput interface { pulumi.Input - ToSfsExportPolicyRuleOutput() SfsExportPolicyRuleOutput - ToSfsExportPolicyRuleOutputWithContext(context.Context) SfsExportPolicyRuleOutput + ToSkeClusterHibernationOutput() SkeClusterHibernationOutput + ToSkeClusterHibernationOutputWithContext(context.Context) SkeClusterHibernationOutput } -type SfsExportPolicyRuleArgs struct { - // Description of the Rule - Description pulumi.StringPtrInput `pulumi:"description"` - // IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). - IpAcls pulumi.StringArrayInput `pulumi:"ipAcls"` - // Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied - Order pulumi.IntInput `pulumi:"order"` - // Flag to indicate if client IPs matching this rule can only mount the share in read only mode - ReadOnly pulumi.BoolPtrInput `pulumi:"readOnly"` - // Flag to honor set UUID - SetUuid pulumi.BoolPtrInput `pulumi:"setUuid"` - // Flag to indicate if client IPs matching this rule have root access on the Share - SuperUser pulumi.BoolPtrInput `pulumi:"superUser"` +type SkeClusterHibernationArgs struct { + // End time of hibernation in crontab syntax. E.g. `0 8 * * *` for waking up the cluster at 8am. + End pulumi.StringInput `pulumi:"end"` + // Start time of cluster hibernation in crontab syntax. E.g. `0 18 * * *` for starting everyday at 6pm. + Start pulumi.StringInput `pulumi:"start"` + // Timezone name corresponding to a file in the IANA Time Zone database. i.e. `Europe/Berlin`. + Timezone pulumi.StringPtrInput `pulumi:"timezone"` } -func (SfsExportPolicyRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SfsExportPolicyRule)(nil)).Elem() +func (SkeClusterHibernationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterHibernation)(nil)).Elem() } -func (i SfsExportPolicyRuleArgs) ToSfsExportPolicyRuleOutput() SfsExportPolicyRuleOutput { - return i.ToSfsExportPolicyRuleOutputWithContext(context.Background()) +func (i SkeClusterHibernationArgs) ToSkeClusterHibernationOutput() SkeClusterHibernationOutput { + return i.ToSkeClusterHibernationOutputWithContext(context.Background()) } -func (i SfsExportPolicyRuleArgs) ToSfsExportPolicyRuleOutputWithContext(ctx context.Context) SfsExportPolicyRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(SfsExportPolicyRuleOutput) +func (i SkeClusterHibernationArgs) ToSkeClusterHibernationOutputWithContext(ctx context.Context) SkeClusterHibernationOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterHibernationOutput) } -// SfsExportPolicyRuleArrayInput is an input type that accepts SfsExportPolicyRuleArray and SfsExportPolicyRuleArrayOutput values. -// You can construct a concrete instance of `SfsExportPolicyRuleArrayInput` via: +// SkeClusterHibernationArrayInput is an input type that accepts SkeClusterHibernationArray and SkeClusterHibernationArrayOutput values. +// You can construct a concrete instance of `SkeClusterHibernationArrayInput` via: // -// SfsExportPolicyRuleArray{ SfsExportPolicyRuleArgs{...} } -type SfsExportPolicyRuleArrayInput interface { +// SkeClusterHibernationArray{ SkeClusterHibernationArgs{...} } +type SkeClusterHibernationArrayInput interface { pulumi.Input - ToSfsExportPolicyRuleArrayOutput() SfsExportPolicyRuleArrayOutput - ToSfsExportPolicyRuleArrayOutputWithContext(context.Context) SfsExportPolicyRuleArrayOutput -} - -type SfsExportPolicyRuleArray []SfsExportPolicyRuleInput - -func (SfsExportPolicyRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SfsExportPolicyRule)(nil)).Elem() + ToSkeClusterHibernationArrayOutput() SkeClusterHibernationArrayOutput + ToSkeClusterHibernationArrayOutputWithContext(context.Context) SkeClusterHibernationArrayOutput } -func (i SfsExportPolicyRuleArray) ToSfsExportPolicyRuleArrayOutput() SfsExportPolicyRuleArrayOutput { - return i.ToSfsExportPolicyRuleArrayOutputWithContext(context.Background()) -} +type SkeClusterHibernationArray []SkeClusterHibernationInput -func (i SfsExportPolicyRuleArray) ToSfsExportPolicyRuleArrayOutputWithContext(ctx context.Context) SfsExportPolicyRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SfsExportPolicyRuleArrayOutput) +func (SkeClusterHibernationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SkeClusterHibernation)(nil)).Elem() } -type SfsExportPolicyRuleOutput struct{ *pulumi.OutputState } - -func (SfsExportPolicyRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SfsExportPolicyRule)(nil)).Elem() +func (i SkeClusterHibernationArray) ToSkeClusterHibernationArrayOutput() SkeClusterHibernationArrayOutput { + return i.ToSkeClusterHibernationArrayOutputWithContext(context.Background()) } -func (o SfsExportPolicyRuleOutput) ToSfsExportPolicyRuleOutput() SfsExportPolicyRuleOutput { - return o +func (i SkeClusterHibernationArray) ToSkeClusterHibernationArrayOutputWithContext(ctx context.Context) SkeClusterHibernationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterHibernationArrayOutput) } -func (o SfsExportPolicyRuleOutput) ToSfsExportPolicyRuleOutputWithContext(ctx context.Context) SfsExportPolicyRuleOutput { - return o -} +type SkeClusterHibernationOutput struct{ *pulumi.OutputState } -// Description of the Rule -func (o SfsExportPolicyRuleOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v SfsExportPolicyRule) *string { return v.Description }).(pulumi.StringPtrOutput) +func (SkeClusterHibernationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterHibernation)(nil)).Elem() } -// IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). -func (o SfsExportPolicyRuleOutput) IpAcls() pulumi.StringArrayOutput { - return o.ApplyT(func(v SfsExportPolicyRule) []string { return v.IpAcls }).(pulumi.StringArrayOutput) +func (o SkeClusterHibernationOutput) ToSkeClusterHibernationOutput() SkeClusterHibernationOutput { + return o } -// Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied -func (o SfsExportPolicyRuleOutput) Order() pulumi.IntOutput { - return o.ApplyT(func(v SfsExportPolicyRule) int { return v.Order }).(pulumi.IntOutput) +func (o SkeClusterHibernationOutput) ToSkeClusterHibernationOutputWithContext(ctx context.Context) SkeClusterHibernationOutput { + return o } -// Flag to indicate if client IPs matching this rule can only mount the share in read only mode -func (o SfsExportPolicyRuleOutput) ReadOnly() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SfsExportPolicyRule) *bool { return v.ReadOnly }).(pulumi.BoolPtrOutput) +// End time of hibernation in crontab syntax. E.g. `0 8 * * *` for waking up the cluster at 8am. +func (o SkeClusterHibernationOutput) End() pulumi.StringOutput { + return o.ApplyT(func(v SkeClusterHibernation) string { return v.End }).(pulumi.StringOutput) } -// Flag to honor set UUID -func (o SfsExportPolicyRuleOutput) SetUuid() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SfsExportPolicyRule) *bool { return v.SetUuid }).(pulumi.BoolPtrOutput) +// Start time of cluster hibernation in crontab syntax. E.g. `0 18 * * *` for starting everyday at 6pm. +func (o SkeClusterHibernationOutput) Start() pulumi.StringOutput { + return o.ApplyT(func(v SkeClusterHibernation) string { return v.Start }).(pulumi.StringOutput) } -// Flag to indicate if client IPs matching this rule have root access on the Share -func (o SfsExportPolicyRuleOutput) SuperUser() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SfsExportPolicyRule) *bool { return v.SuperUser }).(pulumi.BoolPtrOutput) +// Timezone name corresponding to a file in the IANA Time Zone database. i.e. `Europe/Berlin`. +func (o SkeClusterHibernationOutput) Timezone() pulumi.StringPtrOutput { + return o.ApplyT(func(v SkeClusterHibernation) *string { return v.Timezone }).(pulumi.StringPtrOutput) } -type SfsExportPolicyRuleArrayOutput struct{ *pulumi.OutputState } +type SkeClusterHibernationArrayOutput struct{ *pulumi.OutputState } -func (SfsExportPolicyRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SfsExportPolicyRule)(nil)).Elem() +func (SkeClusterHibernationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SkeClusterHibernation)(nil)).Elem() } -func (o SfsExportPolicyRuleArrayOutput) ToSfsExportPolicyRuleArrayOutput() SfsExportPolicyRuleArrayOutput { +func (o SkeClusterHibernationArrayOutput) ToSkeClusterHibernationArrayOutput() SkeClusterHibernationArrayOutput { return o } -func (o SfsExportPolicyRuleArrayOutput) ToSfsExportPolicyRuleArrayOutputWithContext(ctx context.Context) SfsExportPolicyRuleArrayOutput { +func (o SkeClusterHibernationArrayOutput) ToSkeClusterHibernationArrayOutputWithContext(ctx context.Context) SkeClusterHibernationArrayOutput { return o } -func (o SfsExportPolicyRuleArrayOutput) Index(i pulumi.IntInput) SfsExportPolicyRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SfsExportPolicyRule { - return vs[0].([]SfsExportPolicyRule)[vs[1].(int)] - }).(SfsExportPolicyRuleOutput) +func (o SkeClusterHibernationArrayOutput) Index(i pulumi.IntInput) SkeClusterHibernationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SkeClusterHibernation { + return vs[0].([]SkeClusterHibernation)[vs[1].(int)] + }).(SkeClusterHibernationOutput) } -type SfsResourcePoolSnapshotPolicy struct { - // ID of the snapshot policy. - Id string `pulumi:"id"` - // Name of the snapshot policy. - Name *string `pulumi:"name"` +type SkeClusterMaintenance struct { + // Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + EnableKubernetesVersionUpdates *bool `pulumi:"enableKubernetesVersionUpdates"` + // Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + EnableMachineImageVersionUpdates *bool `pulumi:"enableMachineImageVersionUpdates"` + // Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`. + End *string `pulumi:"end"` + // Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`. + Start *string `pulumi:"start"` } -// SfsResourcePoolSnapshotPolicyInput is an input type that accepts SfsResourcePoolSnapshotPolicyArgs and SfsResourcePoolSnapshotPolicyOutput values. -// You can construct a concrete instance of `SfsResourcePoolSnapshotPolicyInput` via: +// SkeClusterMaintenanceInput is an input type that accepts SkeClusterMaintenanceArgs and SkeClusterMaintenanceOutput values. +// You can construct a concrete instance of `SkeClusterMaintenanceInput` via: // -// SfsResourcePoolSnapshotPolicyArgs{...} -type SfsResourcePoolSnapshotPolicyInput interface { +// SkeClusterMaintenanceArgs{...} +type SkeClusterMaintenanceInput interface { pulumi.Input - ToSfsResourcePoolSnapshotPolicyOutput() SfsResourcePoolSnapshotPolicyOutput - ToSfsResourcePoolSnapshotPolicyOutputWithContext(context.Context) SfsResourcePoolSnapshotPolicyOutput + ToSkeClusterMaintenanceOutput() SkeClusterMaintenanceOutput + ToSkeClusterMaintenanceOutputWithContext(context.Context) SkeClusterMaintenanceOutput } -type SfsResourcePoolSnapshotPolicyArgs struct { - // ID of the snapshot policy. - Id pulumi.StringInput `pulumi:"id"` - // Name of the snapshot policy. - Name pulumi.StringPtrInput `pulumi:"name"` +type SkeClusterMaintenanceArgs struct { + // Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + EnableKubernetesVersionUpdates pulumi.BoolPtrInput `pulumi:"enableKubernetesVersionUpdates"` + // Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + EnableMachineImageVersionUpdates pulumi.BoolPtrInput `pulumi:"enableMachineImageVersionUpdates"` + // Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`. + End pulumi.StringPtrInput `pulumi:"end"` + // Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`. + Start pulumi.StringPtrInput `pulumi:"start"` } -func (SfsResourcePoolSnapshotPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SfsResourcePoolSnapshotPolicy)(nil)).Elem() +func (SkeClusterMaintenanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterMaintenance)(nil)).Elem() } -func (i SfsResourcePoolSnapshotPolicyArgs) ToSfsResourcePoolSnapshotPolicyOutput() SfsResourcePoolSnapshotPolicyOutput { - return i.ToSfsResourcePoolSnapshotPolicyOutputWithContext(context.Background()) +func (i SkeClusterMaintenanceArgs) ToSkeClusterMaintenanceOutput() SkeClusterMaintenanceOutput { + return i.ToSkeClusterMaintenanceOutputWithContext(context.Background()) } -func (i SfsResourcePoolSnapshotPolicyArgs) ToSfsResourcePoolSnapshotPolicyOutputWithContext(ctx context.Context) SfsResourcePoolSnapshotPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(SfsResourcePoolSnapshotPolicyOutput) +func (i SkeClusterMaintenanceArgs) ToSkeClusterMaintenanceOutputWithContext(ctx context.Context) SkeClusterMaintenanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterMaintenanceOutput) } -func (i SfsResourcePoolSnapshotPolicyArgs) ToSfsResourcePoolSnapshotPolicyPtrOutput() SfsResourcePoolSnapshotPolicyPtrOutput { - return i.ToSfsResourcePoolSnapshotPolicyPtrOutputWithContext(context.Background()) +func (i SkeClusterMaintenanceArgs) ToSkeClusterMaintenancePtrOutput() SkeClusterMaintenancePtrOutput { + return i.ToSkeClusterMaintenancePtrOutputWithContext(context.Background()) } -func (i SfsResourcePoolSnapshotPolicyArgs) ToSfsResourcePoolSnapshotPolicyPtrOutputWithContext(ctx context.Context) SfsResourcePoolSnapshotPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SfsResourcePoolSnapshotPolicyOutput).ToSfsResourcePoolSnapshotPolicyPtrOutputWithContext(ctx) +func (i SkeClusterMaintenanceArgs) ToSkeClusterMaintenancePtrOutputWithContext(ctx context.Context) SkeClusterMaintenancePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterMaintenanceOutput).ToSkeClusterMaintenancePtrOutputWithContext(ctx) } -// SfsResourcePoolSnapshotPolicyPtrInput is an input type that accepts SfsResourcePoolSnapshotPolicyArgs, SfsResourcePoolSnapshotPolicyPtr and SfsResourcePoolSnapshotPolicyPtrOutput values. -// You can construct a concrete instance of `SfsResourcePoolSnapshotPolicyPtrInput` via: +// SkeClusterMaintenancePtrInput is an input type that accepts SkeClusterMaintenanceArgs, SkeClusterMaintenancePtr and SkeClusterMaintenancePtrOutput values. +// You can construct a concrete instance of `SkeClusterMaintenancePtrInput` via: // -// SfsResourcePoolSnapshotPolicyArgs{...} +// SkeClusterMaintenanceArgs{...} // // or: // // nil -type SfsResourcePoolSnapshotPolicyPtrInput interface { +type SkeClusterMaintenancePtrInput interface { pulumi.Input - ToSfsResourcePoolSnapshotPolicyPtrOutput() SfsResourcePoolSnapshotPolicyPtrOutput - ToSfsResourcePoolSnapshotPolicyPtrOutputWithContext(context.Context) SfsResourcePoolSnapshotPolicyPtrOutput + ToSkeClusterMaintenancePtrOutput() SkeClusterMaintenancePtrOutput + ToSkeClusterMaintenancePtrOutputWithContext(context.Context) SkeClusterMaintenancePtrOutput } -type sfsResourcePoolSnapshotPolicyPtrType SfsResourcePoolSnapshotPolicyArgs +type skeClusterMaintenancePtrType SkeClusterMaintenanceArgs -func SfsResourcePoolSnapshotPolicyPtr(v *SfsResourcePoolSnapshotPolicyArgs) SfsResourcePoolSnapshotPolicyPtrInput { - return (*sfsResourcePoolSnapshotPolicyPtrType)(v) +func SkeClusterMaintenancePtr(v *SkeClusterMaintenanceArgs) SkeClusterMaintenancePtrInput { + return (*skeClusterMaintenancePtrType)(v) } -func (*sfsResourcePoolSnapshotPolicyPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SfsResourcePoolSnapshotPolicy)(nil)).Elem() +func (*skeClusterMaintenancePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterMaintenance)(nil)).Elem() } -func (i *sfsResourcePoolSnapshotPolicyPtrType) ToSfsResourcePoolSnapshotPolicyPtrOutput() SfsResourcePoolSnapshotPolicyPtrOutput { - return i.ToSfsResourcePoolSnapshotPolicyPtrOutputWithContext(context.Background()) +func (i *skeClusterMaintenancePtrType) ToSkeClusterMaintenancePtrOutput() SkeClusterMaintenancePtrOutput { + return i.ToSkeClusterMaintenancePtrOutputWithContext(context.Background()) } -func (i *sfsResourcePoolSnapshotPolicyPtrType) ToSfsResourcePoolSnapshotPolicyPtrOutputWithContext(ctx context.Context) SfsResourcePoolSnapshotPolicyPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SfsResourcePoolSnapshotPolicyPtrOutput) +func (i *skeClusterMaintenancePtrType) ToSkeClusterMaintenancePtrOutputWithContext(ctx context.Context) SkeClusterMaintenancePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterMaintenancePtrOutput) } -type SfsResourcePoolSnapshotPolicyOutput struct{ *pulumi.OutputState } +type SkeClusterMaintenanceOutput struct{ *pulumi.OutputState } -func (SfsResourcePoolSnapshotPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SfsResourcePoolSnapshotPolicy)(nil)).Elem() +func (SkeClusterMaintenanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterMaintenance)(nil)).Elem() } -func (o SfsResourcePoolSnapshotPolicyOutput) ToSfsResourcePoolSnapshotPolicyOutput() SfsResourcePoolSnapshotPolicyOutput { +func (o SkeClusterMaintenanceOutput) ToSkeClusterMaintenanceOutput() SkeClusterMaintenanceOutput { return o } -func (o SfsResourcePoolSnapshotPolicyOutput) ToSfsResourcePoolSnapshotPolicyOutputWithContext(ctx context.Context) SfsResourcePoolSnapshotPolicyOutput { +func (o SkeClusterMaintenanceOutput) ToSkeClusterMaintenanceOutputWithContext(ctx context.Context) SkeClusterMaintenanceOutput { return o } -func (o SfsResourcePoolSnapshotPolicyOutput) ToSfsResourcePoolSnapshotPolicyPtrOutput() SfsResourcePoolSnapshotPolicyPtrOutput { - return o.ToSfsResourcePoolSnapshotPolicyPtrOutputWithContext(context.Background()) +func (o SkeClusterMaintenanceOutput) ToSkeClusterMaintenancePtrOutput() SkeClusterMaintenancePtrOutput { + return o.ToSkeClusterMaintenancePtrOutputWithContext(context.Background()) } -func (o SfsResourcePoolSnapshotPolicyOutput) ToSfsResourcePoolSnapshotPolicyPtrOutputWithContext(ctx context.Context) SfsResourcePoolSnapshotPolicyPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SfsResourcePoolSnapshotPolicy) *SfsResourcePoolSnapshotPolicy { +func (o SkeClusterMaintenanceOutput) ToSkeClusterMaintenancePtrOutputWithContext(ctx context.Context) SkeClusterMaintenancePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SkeClusterMaintenance) *SkeClusterMaintenance { return &v - }).(SfsResourcePoolSnapshotPolicyPtrOutput) + }).(SkeClusterMaintenancePtrOutput) } -// ID of the snapshot policy. -func (o SfsResourcePoolSnapshotPolicyOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v SfsResourcePoolSnapshotPolicy) string { return v.Id }).(pulumi.StringOutput) +// Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). +func (o SkeClusterMaintenanceOutput) EnableKubernetesVersionUpdates() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SkeClusterMaintenance) *bool { return v.EnableKubernetesVersionUpdates }).(pulumi.BoolPtrOutput) } -// Name of the snapshot policy. -func (o SfsResourcePoolSnapshotPolicyOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v SfsResourcePoolSnapshotPolicy) *string { return v.Name }).(pulumi.StringPtrOutput) +// Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). +func (o SkeClusterMaintenanceOutput) EnableMachineImageVersionUpdates() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SkeClusterMaintenance) *bool { return v.EnableMachineImageVersionUpdates }).(pulumi.BoolPtrOutput) } -type SfsResourcePoolSnapshotPolicyPtrOutput struct{ *pulumi.OutputState } +// Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`. +func (o SkeClusterMaintenanceOutput) End() pulumi.StringPtrOutput { + return o.ApplyT(func(v SkeClusterMaintenance) *string { return v.End }).(pulumi.StringPtrOutput) +} -func (SfsResourcePoolSnapshotPolicyPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SfsResourcePoolSnapshotPolicy)(nil)).Elem() +// Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`. +func (o SkeClusterMaintenanceOutput) Start() pulumi.StringPtrOutput { + return o.ApplyT(func(v SkeClusterMaintenance) *string { return v.Start }).(pulumi.StringPtrOutput) } -func (o SfsResourcePoolSnapshotPolicyPtrOutput) ToSfsResourcePoolSnapshotPolicyPtrOutput() SfsResourcePoolSnapshotPolicyPtrOutput { +type SkeClusterMaintenancePtrOutput struct{ *pulumi.OutputState } + +func (SkeClusterMaintenancePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterMaintenance)(nil)).Elem() +} + +func (o SkeClusterMaintenancePtrOutput) ToSkeClusterMaintenancePtrOutput() SkeClusterMaintenancePtrOutput { return o } -func (o SfsResourcePoolSnapshotPolicyPtrOutput) ToSfsResourcePoolSnapshotPolicyPtrOutputWithContext(ctx context.Context) SfsResourcePoolSnapshotPolicyPtrOutput { +func (o SkeClusterMaintenancePtrOutput) ToSkeClusterMaintenancePtrOutputWithContext(ctx context.Context) SkeClusterMaintenancePtrOutput { return o } -func (o SfsResourcePoolSnapshotPolicyPtrOutput) Elem() SfsResourcePoolSnapshotPolicyOutput { - return o.ApplyT(func(v *SfsResourcePoolSnapshotPolicy) SfsResourcePoolSnapshotPolicy { +func (o SkeClusterMaintenancePtrOutput) Elem() SkeClusterMaintenanceOutput { + return o.ApplyT(func(v *SkeClusterMaintenance) SkeClusterMaintenance { if v != nil { return *v } - var ret SfsResourcePoolSnapshotPolicy + var ret SkeClusterMaintenance return ret - }).(SfsResourcePoolSnapshotPolicyOutput) + }).(SkeClusterMaintenanceOutput) } -// ID of the snapshot policy. -func (o SfsResourcePoolSnapshotPolicyPtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SfsResourcePoolSnapshotPolicy) *string { +// Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). +func (o SkeClusterMaintenancePtrOutput) EnableKubernetesVersionUpdates() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SkeClusterMaintenance) *bool { if v == nil { return nil } - return &v.Id + return v.EnableKubernetesVersionUpdates + }).(pulumi.BoolPtrOutput) +} + +// Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). +func (o SkeClusterMaintenancePtrOutput) EnableMachineImageVersionUpdates() pulumi.BoolPtrOutput { + return o.ApplyT(func(v *SkeClusterMaintenance) *bool { + if v == nil { + return nil + } + return v.EnableMachineImageVersionUpdates + }).(pulumi.BoolPtrOutput) +} + +// Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`. +func (o SkeClusterMaintenancePtrOutput) End() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SkeClusterMaintenance) *string { + if v == nil { + return nil + } + return v.End }).(pulumi.StringPtrOutput) } -// Name of the snapshot policy. -func (o SfsResourcePoolSnapshotPolicyPtrOutput) Name() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SfsResourcePoolSnapshotPolicy) *string { +// Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`. +func (o SkeClusterMaintenancePtrOutput) Start() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SkeClusterMaintenance) *string { if v == nil { return nil } - return v.Name + return v.Start }).(pulumi.StringPtrOutput) } -type SkeClusterExtensions struct { - // Cluster access control configuration. - Acl *SkeClusterExtensionsAcl `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 *SkeClusterExtensionsArgus `pulumi:"argus"` - // DNS extension configuration - Dns *SkeClusterExtensionsDns `pulumi:"dns"` - // A single observability block as defined below. - Observability *SkeClusterExtensionsObservability `pulumi:"observability"` +type SkeClusterNetwork struct { + // Control plane for the cluster. + ControlPlane *SkeClusterNetworkControlPlane `pulumi:"controlPlane"` + // ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. + Id *string `pulumi:"id"` } -// SkeClusterExtensionsInput is an input type that accepts SkeClusterExtensionsArgs and SkeClusterExtensionsOutput values. -// You can construct a concrete instance of `SkeClusterExtensionsInput` via: +// SkeClusterNetworkInput is an input type that accepts SkeClusterNetworkArgs and SkeClusterNetworkOutput values. +// You can construct a concrete instance of `SkeClusterNetworkInput` via: // -// SkeClusterExtensionsArgs{...} -type SkeClusterExtensionsInput interface { +// SkeClusterNetworkArgs{...} +type SkeClusterNetworkInput interface { pulumi.Input - ToSkeClusterExtensionsOutput() SkeClusterExtensionsOutput - ToSkeClusterExtensionsOutputWithContext(context.Context) SkeClusterExtensionsOutput + ToSkeClusterNetworkOutput() SkeClusterNetworkOutput + ToSkeClusterNetworkOutputWithContext(context.Context) SkeClusterNetworkOutput } -type SkeClusterExtensionsArgs struct { - // Cluster access control configuration. - Acl SkeClusterExtensionsAclPtrInput `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 SkeClusterExtensionsArgusPtrInput `pulumi:"argus"` - // DNS extension configuration - Dns SkeClusterExtensionsDnsPtrInput `pulumi:"dns"` - // A single observability block as defined below. - Observability SkeClusterExtensionsObservabilityPtrInput `pulumi:"observability"` +type SkeClusterNetworkArgs struct { + // Control plane for the cluster. + ControlPlane SkeClusterNetworkControlPlanePtrInput `pulumi:"controlPlane"` + // ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. + Id pulumi.StringPtrInput `pulumi:"id"` } -func (SkeClusterExtensionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterExtensions)(nil)).Elem() +func (SkeClusterNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterNetwork)(nil)).Elem() } -func (i SkeClusterExtensionsArgs) ToSkeClusterExtensionsOutput() SkeClusterExtensionsOutput { - return i.ToSkeClusterExtensionsOutputWithContext(context.Background()) +func (i SkeClusterNetworkArgs) ToSkeClusterNetworkOutput() SkeClusterNetworkOutput { + return i.ToSkeClusterNetworkOutputWithContext(context.Background()) } -func (i SkeClusterExtensionsArgs) ToSkeClusterExtensionsOutputWithContext(ctx context.Context) SkeClusterExtensionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsOutput) +func (i SkeClusterNetworkArgs) ToSkeClusterNetworkOutputWithContext(ctx context.Context) SkeClusterNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNetworkOutput) } -func (i SkeClusterExtensionsArgs) ToSkeClusterExtensionsPtrOutput() SkeClusterExtensionsPtrOutput { - return i.ToSkeClusterExtensionsPtrOutputWithContext(context.Background()) +func (i SkeClusterNetworkArgs) ToSkeClusterNetworkPtrOutput() SkeClusterNetworkPtrOutput { + return i.ToSkeClusterNetworkPtrOutputWithContext(context.Background()) } -func (i SkeClusterExtensionsArgs) ToSkeClusterExtensionsPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsOutput).ToSkeClusterExtensionsPtrOutputWithContext(ctx) +func (i SkeClusterNetworkArgs) ToSkeClusterNetworkPtrOutputWithContext(ctx context.Context) SkeClusterNetworkPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNetworkOutput).ToSkeClusterNetworkPtrOutputWithContext(ctx) } -// SkeClusterExtensionsPtrInput is an input type that accepts SkeClusterExtensionsArgs, SkeClusterExtensionsPtr and SkeClusterExtensionsPtrOutput values. -// You can construct a concrete instance of `SkeClusterExtensionsPtrInput` via: +// SkeClusterNetworkPtrInput is an input type that accepts SkeClusterNetworkArgs, SkeClusterNetworkPtr and SkeClusterNetworkPtrOutput values. +// You can construct a concrete instance of `SkeClusterNetworkPtrInput` via: // -// SkeClusterExtensionsArgs{...} +// SkeClusterNetworkArgs{...} // // or: // // nil -type SkeClusterExtensionsPtrInput interface { +type SkeClusterNetworkPtrInput interface { pulumi.Input - ToSkeClusterExtensionsPtrOutput() SkeClusterExtensionsPtrOutput - ToSkeClusterExtensionsPtrOutputWithContext(context.Context) SkeClusterExtensionsPtrOutput + ToSkeClusterNetworkPtrOutput() SkeClusterNetworkPtrOutput + ToSkeClusterNetworkPtrOutputWithContext(context.Context) SkeClusterNetworkPtrOutput } -type skeClusterExtensionsPtrType SkeClusterExtensionsArgs +type skeClusterNetworkPtrType SkeClusterNetworkArgs -func SkeClusterExtensionsPtr(v *SkeClusterExtensionsArgs) SkeClusterExtensionsPtrInput { - return (*skeClusterExtensionsPtrType)(v) +func SkeClusterNetworkPtr(v *SkeClusterNetworkArgs) SkeClusterNetworkPtrInput { + return (*skeClusterNetworkPtrType)(v) } -func (*skeClusterExtensionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SkeClusterExtensions)(nil)).Elem() +func (*skeClusterNetworkPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterNetwork)(nil)).Elem() } -func (i *skeClusterExtensionsPtrType) ToSkeClusterExtensionsPtrOutput() SkeClusterExtensionsPtrOutput { - return i.ToSkeClusterExtensionsPtrOutputWithContext(context.Background()) +func (i *skeClusterNetworkPtrType) ToSkeClusterNetworkPtrOutput() SkeClusterNetworkPtrOutput { + return i.ToSkeClusterNetworkPtrOutputWithContext(context.Background()) } -func (i *skeClusterExtensionsPtrType) ToSkeClusterExtensionsPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsPtrOutput) +func (i *skeClusterNetworkPtrType) ToSkeClusterNetworkPtrOutputWithContext(ctx context.Context) SkeClusterNetworkPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNetworkPtrOutput) } -type SkeClusterExtensionsOutput struct{ *pulumi.OutputState } +type SkeClusterNetworkOutput struct{ *pulumi.OutputState } -func (SkeClusterExtensionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterExtensions)(nil)).Elem() +func (SkeClusterNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterNetwork)(nil)).Elem() } -func (o SkeClusterExtensionsOutput) ToSkeClusterExtensionsOutput() SkeClusterExtensionsOutput { +func (o SkeClusterNetworkOutput) ToSkeClusterNetworkOutput() SkeClusterNetworkOutput { return o } -func (o SkeClusterExtensionsOutput) ToSkeClusterExtensionsOutputWithContext(ctx context.Context) SkeClusterExtensionsOutput { +func (o SkeClusterNetworkOutput) ToSkeClusterNetworkOutputWithContext(ctx context.Context) SkeClusterNetworkOutput { return o } -func (o SkeClusterExtensionsOutput) ToSkeClusterExtensionsPtrOutput() SkeClusterExtensionsPtrOutput { - return o.ToSkeClusterExtensionsPtrOutputWithContext(context.Background()) +func (o SkeClusterNetworkOutput) ToSkeClusterNetworkPtrOutput() SkeClusterNetworkPtrOutput { + return o.ToSkeClusterNetworkPtrOutputWithContext(context.Background()) } -func (o SkeClusterExtensionsOutput) ToSkeClusterExtensionsPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SkeClusterExtensions) *SkeClusterExtensions { +func (o SkeClusterNetworkOutput) ToSkeClusterNetworkPtrOutputWithContext(ctx context.Context) SkeClusterNetworkPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SkeClusterNetwork) *SkeClusterNetwork { return &v - }).(SkeClusterExtensionsPtrOutput) -} - -// Cluster access control configuration. -func (o SkeClusterExtensionsOutput) Acl() SkeClusterExtensionsAclPtrOutput { - return o.ApplyT(func(v SkeClusterExtensions) *SkeClusterExtensionsAcl { return v.Acl }).(SkeClusterExtensionsAclPtrOutput) -} - -// A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. -// -// Deprecated: Use observability instead. -func (o SkeClusterExtensionsOutput) Argus() SkeClusterExtensionsArgusPtrOutput { - return o.ApplyT(func(v SkeClusterExtensions) *SkeClusterExtensionsArgus { return v.Argus }).(SkeClusterExtensionsArgusPtrOutput) + }).(SkeClusterNetworkPtrOutput) } -// DNS extension configuration -func (o SkeClusterExtensionsOutput) Dns() SkeClusterExtensionsDnsPtrOutput { - return o.ApplyT(func(v SkeClusterExtensions) *SkeClusterExtensionsDns { return v.Dns }).(SkeClusterExtensionsDnsPtrOutput) +// Control plane for the cluster. +func (o SkeClusterNetworkOutput) ControlPlane() SkeClusterNetworkControlPlanePtrOutput { + return o.ApplyT(func(v SkeClusterNetwork) *SkeClusterNetworkControlPlane { return v.ControlPlane }).(SkeClusterNetworkControlPlanePtrOutput) } -// A single observability block as defined below. -func (o SkeClusterExtensionsOutput) Observability() SkeClusterExtensionsObservabilityPtrOutput { - return o.ApplyT(func(v SkeClusterExtensions) *SkeClusterExtensionsObservability { return v.Observability }).(SkeClusterExtensionsObservabilityPtrOutput) +// ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. +func (o SkeClusterNetworkOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v SkeClusterNetwork) *string { return v.Id }).(pulumi.StringPtrOutput) } -type SkeClusterExtensionsPtrOutput struct{ *pulumi.OutputState } +type SkeClusterNetworkPtrOutput struct{ *pulumi.OutputState } -func (SkeClusterExtensionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SkeClusterExtensions)(nil)).Elem() +func (SkeClusterNetworkPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterNetwork)(nil)).Elem() } -func (o SkeClusterExtensionsPtrOutput) ToSkeClusterExtensionsPtrOutput() SkeClusterExtensionsPtrOutput { +func (o SkeClusterNetworkPtrOutput) ToSkeClusterNetworkPtrOutput() SkeClusterNetworkPtrOutput { return o } -func (o SkeClusterExtensionsPtrOutput) ToSkeClusterExtensionsPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsPtrOutput { +func (o SkeClusterNetworkPtrOutput) ToSkeClusterNetworkPtrOutputWithContext(ctx context.Context) SkeClusterNetworkPtrOutput { return o } -func (o SkeClusterExtensionsPtrOutput) Elem() SkeClusterExtensionsOutput { - return o.ApplyT(func(v *SkeClusterExtensions) SkeClusterExtensions { +func (o SkeClusterNetworkPtrOutput) Elem() SkeClusterNetworkOutput { + return o.ApplyT(func(v *SkeClusterNetwork) SkeClusterNetwork { if v != nil { return *v } - var ret SkeClusterExtensions + var ret SkeClusterNetwork return ret - }).(SkeClusterExtensionsOutput) -} - -// Cluster access control configuration. -func (o SkeClusterExtensionsPtrOutput) Acl() SkeClusterExtensionsAclPtrOutput { - return o.ApplyT(func(v *SkeClusterExtensions) *SkeClusterExtensionsAcl { - if v == nil { - return nil - } - return v.Acl - }).(SkeClusterExtensionsAclPtrOutput) -} - -// A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. -// -// Deprecated: Use observability instead. -func (o SkeClusterExtensionsPtrOutput) Argus() SkeClusterExtensionsArgusPtrOutput { - return o.ApplyT(func(v *SkeClusterExtensions) *SkeClusterExtensionsArgus { - if v == nil { - return nil - } - return v.Argus - }).(SkeClusterExtensionsArgusPtrOutput) + }).(SkeClusterNetworkOutput) } -// DNS extension configuration -func (o SkeClusterExtensionsPtrOutput) Dns() SkeClusterExtensionsDnsPtrOutput { - return o.ApplyT(func(v *SkeClusterExtensions) *SkeClusterExtensionsDns { +// Control plane for the cluster. +func (o SkeClusterNetworkPtrOutput) ControlPlane() SkeClusterNetworkControlPlanePtrOutput { + return o.ApplyT(func(v *SkeClusterNetwork) *SkeClusterNetworkControlPlane { if v == nil { return nil } - return v.Dns - }).(SkeClusterExtensionsDnsPtrOutput) + return v.ControlPlane + }).(SkeClusterNetworkControlPlanePtrOutput) } -// A single observability block as defined below. -func (o SkeClusterExtensionsPtrOutput) Observability() SkeClusterExtensionsObservabilityPtrOutput { - return o.ApplyT(func(v *SkeClusterExtensions) *SkeClusterExtensionsObservability { +// ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. +func (o SkeClusterNetworkPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SkeClusterNetwork) *string { if v == nil { return nil } - return v.Observability - }).(SkeClusterExtensionsObservabilityPtrOutput) + return v.Id + }).(pulumi.StringPtrOutput) } -type SkeClusterExtensionsAcl struct { - // Specify a list of CIDRs to whitelist. - AllowedCidrs []string `pulumi:"allowedCidrs"` - // Is ACL enabled? - Enabled bool `pulumi:"enabled"` +type SkeClusterNetworkControlPlane 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"` } -// SkeClusterExtensionsAclInput is an input type that accepts SkeClusterExtensionsAclArgs and SkeClusterExtensionsAclOutput values. -// You can construct a concrete instance of `SkeClusterExtensionsAclInput` via: +// SkeClusterNetworkControlPlaneInput is an input type that accepts SkeClusterNetworkControlPlaneArgs and SkeClusterNetworkControlPlaneOutput values. +// You can construct a concrete instance of `SkeClusterNetworkControlPlaneInput` via: // -// SkeClusterExtensionsAclArgs{...} -type SkeClusterExtensionsAclInput interface { +// SkeClusterNetworkControlPlaneArgs{...} +type SkeClusterNetworkControlPlaneInput interface { pulumi.Input - ToSkeClusterExtensionsAclOutput() SkeClusterExtensionsAclOutput - ToSkeClusterExtensionsAclOutputWithContext(context.Context) SkeClusterExtensionsAclOutput + ToSkeClusterNetworkControlPlaneOutput() SkeClusterNetworkControlPlaneOutput + ToSkeClusterNetworkControlPlaneOutputWithContext(context.Context) SkeClusterNetworkControlPlaneOutput } -type SkeClusterExtensionsAclArgs struct { - // Specify a list of CIDRs to whitelist. - AllowedCidrs pulumi.StringArrayInput `pulumi:"allowedCidrs"` - // Is ACL enabled? - Enabled pulumi.BoolInput `pulumi:"enabled"` +type SkeClusterNetworkControlPlaneArgs 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.StringPtrInput `pulumi:"accessScope"` } -func (SkeClusterExtensionsAclArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterExtensionsAcl)(nil)).Elem() +func (SkeClusterNetworkControlPlaneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterNetworkControlPlane)(nil)).Elem() } -func (i SkeClusterExtensionsAclArgs) ToSkeClusterExtensionsAclOutput() SkeClusterExtensionsAclOutput { - return i.ToSkeClusterExtensionsAclOutputWithContext(context.Background()) +func (i SkeClusterNetworkControlPlaneArgs) ToSkeClusterNetworkControlPlaneOutput() SkeClusterNetworkControlPlaneOutput { + return i.ToSkeClusterNetworkControlPlaneOutputWithContext(context.Background()) } -func (i SkeClusterExtensionsAclArgs) ToSkeClusterExtensionsAclOutputWithContext(ctx context.Context) SkeClusterExtensionsAclOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsAclOutput) +func (i SkeClusterNetworkControlPlaneArgs) ToSkeClusterNetworkControlPlaneOutputWithContext(ctx context.Context) SkeClusterNetworkControlPlaneOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNetworkControlPlaneOutput) } -func (i SkeClusterExtensionsAclArgs) ToSkeClusterExtensionsAclPtrOutput() SkeClusterExtensionsAclPtrOutput { - return i.ToSkeClusterExtensionsAclPtrOutputWithContext(context.Background()) +func (i SkeClusterNetworkControlPlaneArgs) ToSkeClusterNetworkControlPlanePtrOutput() SkeClusterNetworkControlPlanePtrOutput { + return i.ToSkeClusterNetworkControlPlanePtrOutputWithContext(context.Background()) } -func (i SkeClusterExtensionsAclArgs) ToSkeClusterExtensionsAclPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsAclPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsAclOutput).ToSkeClusterExtensionsAclPtrOutputWithContext(ctx) +func (i SkeClusterNetworkControlPlaneArgs) ToSkeClusterNetworkControlPlanePtrOutputWithContext(ctx context.Context) SkeClusterNetworkControlPlanePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNetworkControlPlaneOutput).ToSkeClusterNetworkControlPlanePtrOutputWithContext(ctx) } -// SkeClusterExtensionsAclPtrInput is an input type that accepts SkeClusterExtensionsAclArgs, SkeClusterExtensionsAclPtr and SkeClusterExtensionsAclPtrOutput values. -// You can construct a concrete instance of `SkeClusterExtensionsAclPtrInput` via: +// SkeClusterNetworkControlPlanePtrInput is an input type that accepts SkeClusterNetworkControlPlaneArgs, SkeClusterNetworkControlPlanePtr and SkeClusterNetworkControlPlanePtrOutput values. +// You can construct a concrete instance of `SkeClusterNetworkControlPlanePtrInput` via: // -// SkeClusterExtensionsAclArgs{...} +// SkeClusterNetworkControlPlaneArgs{...} // // or: // // nil -type SkeClusterExtensionsAclPtrInput interface { +type SkeClusterNetworkControlPlanePtrInput interface { pulumi.Input - ToSkeClusterExtensionsAclPtrOutput() SkeClusterExtensionsAclPtrOutput - ToSkeClusterExtensionsAclPtrOutputWithContext(context.Context) SkeClusterExtensionsAclPtrOutput + ToSkeClusterNetworkControlPlanePtrOutput() SkeClusterNetworkControlPlanePtrOutput + ToSkeClusterNetworkControlPlanePtrOutputWithContext(context.Context) SkeClusterNetworkControlPlanePtrOutput } -type skeClusterExtensionsAclPtrType SkeClusterExtensionsAclArgs +type skeClusterNetworkControlPlanePtrType SkeClusterNetworkControlPlaneArgs -func SkeClusterExtensionsAclPtr(v *SkeClusterExtensionsAclArgs) SkeClusterExtensionsAclPtrInput { - return (*skeClusterExtensionsAclPtrType)(v) +func SkeClusterNetworkControlPlanePtr(v *SkeClusterNetworkControlPlaneArgs) SkeClusterNetworkControlPlanePtrInput { + return (*skeClusterNetworkControlPlanePtrType)(v) } -func (*skeClusterExtensionsAclPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SkeClusterExtensionsAcl)(nil)).Elem() +func (*skeClusterNetworkControlPlanePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterNetworkControlPlane)(nil)).Elem() } -func (i *skeClusterExtensionsAclPtrType) ToSkeClusterExtensionsAclPtrOutput() SkeClusterExtensionsAclPtrOutput { - return i.ToSkeClusterExtensionsAclPtrOutputWithContext(context.Background()) +func (i *skeClusterNetworkControlPlanePtrType) ToSkeClusterNetworkControlPlanePtrOutput() SkeClusterNetworkControlPlanePtrOutput { + return i.ToSkeClusterNetworkControlPlanePtrOutputWithContext(context.Background()) } -func (i *skeClusterExtensionsAclPtrType) ToSkeClusterExtensionsAclPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsAclPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsAclPtrOutput) +func (i *skeClusterNetworkControlPlanePtrType) ToSkeClusterNetworkControlPlanePtrOutputWithContext(ctx context.Context) SkeClusterNetworkControlPlanePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNetworkControlPlanePtrOutput) } -type SkeClusterExtensionsAclOutput struct{ *pulumi.OutputState } +type SkeClusterNetworkControlPlaneOutput struct{ *pulumi.OutputState } -func (SkeClusterExtensionsAclOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterExtensionsAcl)(nil)).Elem() +func (SkeClusterNetworkControlPlaneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterNetworkControlPlane)(nil)).Elem() } -func (o SkeClusterExtensionsAclOutput) ToSkeClusterExtensionsAclOutput() SkeClusterExtensionsAclOutput { +func (o SkeClusterNetworkControlPlaneOutput) ToSkeClusterNetworkControlPlaneOutput() SkeClusterNetworkControlPlaneOutput { return o } -func (o SkeClusterExtensionsAclOutput) ToSkeClusterExtensionsAclOutputWithContext(ctx context.Context) SkeClusterExtensionsAclOutput { +func (o SkeClusterNetworkControlPlaneOutput) ToSkeClusterNetworkControlPlaneOutputWithContext(ctx context.Context) SkeClusterNetworkControlPlaneOutput { return o } -func (o SkeClusterExtensionsAclOutput) ToSkeClusterExtensionsAclPtrOutput() SkeClusterExtensionsAclPtrOutput { - return o.ToSkeClusterExtensionsAclPtrOutputWithContext(context.Background()) +func (o SkeClusterNetworkControlPlaneOutput) ToSkeClusterNetworkControlPlanePtrOutput() SkeClusterNetworkControlPlanePtrOutput { + return o.ToSkeClusterNetworkControlPlanePtrOutputWithContext(context.Background()) } -func (o SkeClusterExtensionsAclOutput) ToSkeClusterExtensionsAclPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsAclPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SkeClusterExtensionsAcl) *SkeClusterExtensionsAcl { +func (o SkeClusterNetworkControlPlaneOutput) ToSkeClusterNetworkControlPlanePtrOutputWithContext(ctx context.Context) SkeClusterNetworkControlPlanePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SkeClusterNetworkControlPlane) *SkeClusterNetworkControlPlane { return &v - }).(SkeClusterExtensionsAclPtrOutput) -} - -// Specify a list of CIDRs to whitelist. -func (o SkeClusterExtensionsAclOutput) AllowedCidrs() pulumi.StringArrayOutput { - return o.ApplyT(func(v SkeClusterExtensionsAcl) []string { return v.AllowedCidrs }).(pulumi.StringArrayOutput) + }).(SkeClusterNetworkControlPlanePtrOutput) } -// Is ACL enabled? -func (o SkeClusterExtensionsAclOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v SkeClusterExtensionsAcl) 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 SkeClusterNetworkControlPlaneOutput) AccessScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v SkeClusterNetworkControlPlane) *string { return v.AccessScope }).(pulumi.StringPtrOutput) } -type SkeClusterExtensionsAclPtrOutput struct{ *pulumi.OutputState } +type SkeClusterNetworkControlPlanePtrOutput struct{ *pulumi.OutputState } -func (SkeClusterExtensionsAclPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SkeClusterExtensionsAcl)(nil)).Elem() +func (SkeClusterNetworkControlPlanePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SkeClusterNetworkControlPlane)(nil)).Elem() } -func (o SkeClusterExtensionsAclPtrOutput) ToSkeClusterExtensionsAclPtrOutput() SkeClusterExtensionsAclPtrOutput { +func (o SkeClusterNetworkControlPlanePtrOutput) ToSkeClusterNetworkControlPlanePtrOutput() SkeClusterNetworkControlPlanePtrOutput { return o } -func (o SkeClusterExtensionsAclPtrOutput) ToSkeClusterExtensionsAclPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsAclPtrOutput { +func (o SkeClusterNetworkControlPlanePtrOutput) ToSkeClusterNetworkControlPlanePtrOutputWithContext(ctx context.Context) SkeClusterNetworkControlPlanePtrOutput { return o } -func (o SkeClusterExtensionsAclPtrOutput) Elem() SkeClusterExtensionsAclOutput { - return o.ApplyT(func(v *SkeClusterExtensionsAcl) SkeClusterExtensionsAcl { +func (o SkeClusterNetworkControlPlanePtrOutput) Elem() SkeClusterNetworkControlPlaneOutput { + return o.ApplyT(func(v *SkeClusterNetworkControlPlane) SkeClusterNetworkControlPlane { if v != nil { return *v } - var ret SkeClusterExtensionsAcl + var ret SkeClusterNetworkControlPlane return ret - }).(SkeClusterExtensionsAclOutput) + }).(SkeClusterNetworkControlPlaneOutput) } -// Specify a list of CIDRs to whitelist. -func (o SkeClusterExtensionsAclPtrOutput) AllowedCidrs() pulumi.StringArrayOutput { - return o.ApplyT(func(v *SkeClusterExtensionsAcl) []string { +// 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 SkeClusterNetworkControlPlanePtrOutput) AccessScope() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SkeClusterNetworkControlPlane) *string { if v == nil { return nil } - return v.AllowedCidrs - }).(pulumi.StringArrayOutput) + return v.AccessScope + }).(pulumi.StringPtrOutput) } -// Is ACL enabled? -func (o SkeClusterExtensionsAclPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *SkeClusterExtensionsAcl) *bool { - if v == nil { - return nil - } - return &v.Enabled - }).(pulumi.BoolPtrOutput) +type SkeClusterNodePool struct { + // Allow system components to run on this node pool. + AllowSystemComponents *bool `pulumi:"allowSystemComponents"` + // Specify a list of availability zones. E.g. `eu01-m` + AvailabilityZones []string `pulumi:"availabilityZones"` + // Specifies the container runtime. Defaults to `containerd` + Cri *string `pulumi:"cri"` + // Labels to add to each node. + Labels map[string]string `pulumi:"labels"` + // The machine type. + MachineType string `pulumi:"machineType"` + // Maximum number of additional VMs that are created during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `maxSurge` and `maxUnavailable` fields cannot both be unset at the same time. + MaxSurge *int `pulumi:"maxSurge"` + // Maximum number of VMs that that can be unavailable during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `maxSurge` and `maxUnavailable` fields cannot both be unset at the same time. + 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. Defaults to `flatcar`. + OsName *string `pulumi:"osName"` + // This field is deprecated, use `osVersionMin` to configure the version and `osVersionUsed` to get the currently used version instead. + // + // Deprecated: Use `osVersionMin` to configure the version and `osVersionUsed` to get the currently used version instead. Setting a specific OS image version will cause errors during minor OS upgrades due to forced updates. + OsVersion *string `pulumi:"osVersion"` + // The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [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 []SkeClusterNodePoolTaint `pulumi:"taints"` + // The volume size in GB. Defaults to `20` + VolumeSize *int `pulumi:"volumeSize"` + // Specifies the volume type. Defaults to `storagePremiumPerf1`. + VolumeType *string `pulumi:"volumeType"` } -type SkeClusterExtensionsArgus struct { - // Argus instance ID to choose which Argus instance is used. Required when enabled is set to `true`. - ArgusInstanceId *string `pulumi:"argusInstanceId"` - // Flag to enable/disable Argus extensions. - Enabled bool `pulumi:"enabled"` +// SkeClusterNodePoolInput is an input type that accepts SkeClusterNodePoolArgs and SkeClusterNodePoolOutput values. +// You can construct a concrete instance of `SkeClusterNodePoolInput` via: +// +// SkeClusterNodePoolArgs{...} +type SkeClusterNodePoolInput interface { + pulumi.Input + + ToSkeClusterNodePoolOutput() SkeClusterNodePoolOutput + ToSkeClusterNodePoolOutputWithContext(context.Context) SkeClusterNodePoolOutput } -// SkeClusterExtensionsArgusInput is an input type that accepts SkeClusterExtensionsArgusArgs and SkeClusterExtensionsArgusOutput values. -// You can construct a concrete instance of `SkeClusterExtensionsArgusInput` via: +type SkeClusterNodePoolArgs struct { + // Allow system components to run on this node pool. + AllowSystemComponents pulumi.BoolPtrInput `pulumi:"allowSystemComponents"` + // Specify a list of availability zones. E.g. `eu01-m` + AvailabilityZones pulumi.StringArrayInput `pulumi:"availabilityZones"` + // Specifies the container runtime. Defaults to `containerd` + Cri pulumi.StringPtrInput `pulumi:"cri"` + // Labels to add to each node. + Labels pulumi.StringMapInput `pulumi:"labels"` + // The machine type. + MachineType pulumi.StringInput `pulumi:"machineType"` + // Maximum number of additional VMs that are created during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `maxSurge` and `maxUnavailable` fields cannot both be unset at the same time. + MaxSurge pulumi.IntPtrInput `pulumi:"maxSurge"` + // Maximum number of VMs that that can be unavailable during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `maxSurge` and `maxUnavailable` fields cannot both be unset at the same time. + MaxUnavailable pulumi.IntPtrInput `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. Defaults to `flatcar`. + OsName pulumi.StringPtrInput `pulumi:"osName"` + // This field is deprecated, use `osVersionMin` to configure the version and `osVersionUsed` to get the currently used version instead. + // + // Deprecated: Use `osVersionMin` to configure the version and `osVersionUsed` to get the currently used version instead. Setting a specific OS image version will cause errors during minor OS upgrades due to forced updates. + OsVersion pulumi.StringPtrInput `pulumi:"osVersion"` + // The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. + OsVersionMin pulumi.StringPtrInput `pulumi:"osVersionMin"` + // Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + OsVersionUsed pulumi.StringPtrInput `pulumi:"osVersionUsed"` + // Specifies a taint list as defined below. + Taints SkeClusterNodePoolTaintArrayInput `pulumi:"taints"` + // The volume size in GB. Defaults to `20` + VolumeSize pulumi.IntPtrInput `pulumi:"volumeSize"` + // Specifies the volume type. Defaults to `storagePremiumPerf1`. + VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` +} + +func (SkeClusterNodePoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterNodePool)(nil)).Elem() +} + +func (i SkeClusterNodePoolArgs) ToSkeClusterNodePoolOutput() SkeClusterNodePoolOutput { + return i.ToSkeClusterNodePoolOutputWithContext(context.Background()) +} + +func (i SkeClusterNodePoolArgs) ToSkeClusterNodePoolOutputWithContext(ctx context.Context) SkeClusterNodePoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNodePoolOutput) +} + +// SkeClusterNodePoolArrayInput is an input type that accepts SkeClusterNodePoolArray and SkeClusterNodePoolArrayOutput values. +// You can construct a concrete instance of `SkeClusterNodePoolArrayInput` via: // -// SkeClusterExtensionsArgusArgs{...} -type SkeClusterExtensionsArgusInput interface { +// SkeClusterNodePoolArray{ SkeClusterNodePoolArgs{...} } +type SkeClusterNodePoolArrayInput interface { pulumi.Input - ToSkeClusterExtensionsArgusOutput() SkeClusterExtensionsArgusOutput - ToSkeClusterExtensionsArgusOutputWithContext(context.Context) SkeClusterExtensionsArgusOutput + ToSkeClusterNodePoolArrayOutput() SkeClusterNodePoolArrayOutput + ToSkeClusterNodePoolArrayOutputWithContext(context.Context) SkeClusterNodePoolArrayOutput } -type SkeClusterExtensionsArgusArgs struct { - // Argus instance ID to choose which Argus instance is used. Required when enabled is set to `true`. - ArgusInstanceId pulumi.StringPtrInput `pulumi:"argusInstanceId"` - // Flag to enable/disable Argus extensions. - Enabled pulumi.BoolInput `pulumi:"enabled"` +type SkeClusterNodePoolArray []SkeClusterNodePoolInput + +func (SkeClusterNodePoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SkeClusterNodePool)(nil)).Elem() } -func (SkeClusterExtensionsArgusArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterExtensionsArgus)(nil)).Elem() +func (i SkeClusterNodePoolArray) ToSkeClusterNodePoolArrayOutput() SkeClusterNodePoolArrayOutput { + return i.ToSkeClusterNodePoolArrayOutputWithContext(context.Background()) } -func (i SkeClusterExtensionsArgusArgs) ToSkeClusterExtensionsArgusOutput() SkeClusterExtensionsArgusOutput { - return i.ToSkeClusterExtensionsArgusOutputWithContext(context.Background()) +func (i SkeClusterNodePoolArray) ToSkeClusterNodePoolArrayOutputWithContext(ctx context.Context) SkeClusterNodePoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNodePoolArrayOutput) } -func (i SkeClusterExtensionsArgusArgs) ToSkeClusterExtensionsArgusOutputWithContext(ctx context.Context) SkeClusterExtensionsArgusOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsArgusOutput) +type SkeClusterNodePoolOutput struct{ *pulumi.OutputState } + +func (SkeClusterNodePoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterNodePool)(nil)).Elem() } -func (i SkeClusterExtensionsArgusArgs) ToSkeClusterExtensionsArgusPtrOutput() SkeClusterExtensionsArgusPtrOutput { - return i.ToSkeClusterExtensionsArgusPtrOutputWithContext(context.Background()) +func (o SkeClusterNodePoolOutput) ToSkeClusterNodePoolOutput() SkeClusterNodePoolOutput { + return o } -func (i SkeClusterExtensionsArgusArgs) ToSkeClusterExtensionsArgusPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsArgusPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsArgusOutput).ToSkeClusterExtensionsArgusPtrOutputWithContext(ctx) +func (o SkeClusterNodePoolOutput) ToSkeClusterNodePoolOutputWithContext(ctx context.Context) SkeClusterNodePoolOutput { + return o } -// SkeClusterExtensionsArgusPtrInput is an input type that accepts SkeClusterExtensionsArgusArgs, SkeClusterExtensionsArgusPtr and SkeClusterExtensionsArgusPtrOutput values. -// You can construct a concrete instance of `SkeClusterExtensionsArgusPtrInput` via: -// -// SkeClusterExtensionsArgusArgs{...} -// -// or: -// -// nil -type SkeClusterExtensionsArgusPtrInput interface { - pulumi.Input +// Allow system components to run on this node pool. +func (o SkeClusterNodePoolOutput) AllowSystemComponents() pulumi.BoolPtrOutput { + return o.ApplyT(func(v SkeClusterNodePool) *bool { return v.AllowSystemComponents }).(pulumi.BoolPtrOutput) +} - ToSkeClusterExtensionsArgusPtrOutput() SkeClusterExtensionsArgusPtrOutput - ToSkeClusterExtensionsArgusPtrOutputWithContext(context.Context) SkeClusterExtensionsArgusPtrOutput +// Specify a list of availability zones. E.g. `eu01-m` +func (o SkeClusterNodePoolOutput) AvailabilityZones() pulumi.StringArrayOutput { + return o.ApplyT(func(v SkeClusterNodePool) []string { return v.AvailabilityZones }).(pulumi.StringArrayOutput) } -type skeClusterExtensionsArgusPtrType SkeClusterExtensionsArgusArgs +// Specifies the container runtime. Defaults to `containerd` +func (o SkeClusterNodePoolOutput) Cri() pulumi.StringPtrOutput { + return o.ApplyT(func(v SkeClusterNodePool) *string { return v.Cri }).(pulumi.StringPtrOutput) +} -func SkeClusterExtensionsArgusPtr(v *SkeClusterExtensionsArgusArgs) SkeClusterExtensionsArgusPtrInput { - return (*skeClusterExtensionsArgusPtrType)(v) +// Labels to add to each node. +func (o SkeClusterNodePoolOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v SkeClusterNodePool) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +} + +// The machine type. +func (o SkeClusterNodePoolOutput) MachineType() pulumi.StringOutput { + return o.ApplyT(func(v SkeClusterNodePool) string { return v.MachineType }).(pulumi.StringOutput) +} + +// Maximum number of additional VMs that are created during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `maxSurge` and `maxUnavailable` fields cannot both be unset at the same time. +func (o SkeClusterNodePoolOutput) MaxSurge() pulumi.IntPtrOutput { + return o.ApplyT(func(v SkeClusterNodePool) *int { return v.MaxSurge }).(pulumi.IntPtrOutput) +} + +// Maximum number of VMs that that can be unavailable during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `maxSurge` and `maxUnavailable` fields cannot both be unset at the same time. +func (o SkeClusterNodePoolOutput) MaxUnavailable() pulumi.IntPtrOutput { + return o.ApplyT(func(v SkeClusterNodePool) *int { return v.MaxUnavailable }).(pulumi.IntPtrOutput) } -func (*skeClusterExtensionsArgusPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SkeClusterExtensionsArgus)(nil)).Elem() +// Maximum number of nodes in the pool. +func (o SkeClusterNodePoolOutput) Maximum() pulumi.IntOutput { + return o.ApplyT(func(v SkeClusterNodePool) int { return v.Maximum }).(pulumi.IntOutput) } -func (i *skeClusterExtensionsArgusPtrType) ToSkeClusterExtensionsArgusPtrOutput() SkeClusterExtensionsArgusPtrOutput { - return i.ToSkeClusterExtensionsArgusPtrOutputWithContext(context.Background()) +// Minimum number of nodes in the pool. +func (o SkeClusterNodePoolOutput) Minimum() pulumi.IntOutput { + return o.ApplyT(func(v SkeClusterNodePool) int { return v.Minimum }).(pulumi.IntOutput) } -func (i *skeClusterExtensionsArgusPtrType) ToSkeClusterExtensionsArgusPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsArgusPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsArgusPtrOutput) +// Specifies the name of the node pool. +func (o SkeClusterNodePoolOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v SkeClusterNodePool) string { return v.Name }).(pulumi.StringOutput) } -type SkeClusterExtensionsArgusOutput struct{ *pulumi.OutputState } - -func (SkeClusterExtensionsArgusOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterExtensionsArgus)(nil)).Elem() +// The name of the OS image. Defaults to `flatcar`. +func (o SkeClusterNodePoolOutput) OsName() pulumi.StringPtrOutput { + return o.ApplyT(func(v SkeClusterNodePool) *string { return v.OsName }).(pulumi.StringPtrOutput) } -func (o SkeClusterExtensionsArgusOutput) ToSkeClusterExtensionsArgusOutput() SkeClusterExtensionsArgusOutput { - return o +// This field is deprecated, use `osVersionMin` to configure the version and `osVersionUsed` to get the currently used version instead. +// +// Deprecated: Use `osVersionMin` to configure the version and `osVersionUsed` to get the currently used version instead. Setting a specific OS image version will cause errors during minor OS upgrades due to forced updates. +func (o SkeClusterNodePoolOutput) OsVersion() pulumi.StringPtrOutput { + return o.ApplyT(func(v SkeClusterNodePool) *string { return v.OsVersion }).(pulumi.StringPtrOutput) } -func (o SkeClusterExtensionsArgusOutput) ToSkeClusterExtensionsArgusOutputWithContext(ctx context.Context) SkeClusterExtensionsArgusOutput { - return o +// The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. +func (o SkeClusterNodePoolOutput) OsVersionMin() pulumi.StringPtrOutput { + return o.ApplyT(func(v SkeClusterNodePool) *string { return v.OsVersionMin }).(pulumi.StringPtrOutput) } -func (o SkeClusterExtensionsArgusOutput) ToSkeClusterExtensionsArgusPtrOutput() SkeClusterExtensionsArgusPtrOutput { - return o.ToSkeClusterExtensionsArgusPtrOutputWithContext(context.Background()) +// Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). +func (o SkeClusterNodePoolOutput) OsVersionUsed() pulumi.StringPtrOutput { + return o.ApplyT(func(v SkeClusterNodePool) *string { return v.OsVersionUsed }).(pulumi.StringPtrOutput) } -func (o SkeClusterExtensionsArgusOutput) ToSkeClusterExtensionsArgusPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsArgusPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SkeClusterExtensionsArgus) *SkeClusterExtensionsArgus { - return &v - }).(SkeClusterExtensionsArgusPtrOutput) +// Specifies a taint list as defined below. +func (o SkeClusterNodePoolOutput) Taints() SkeClusterNodePoolTaintArrayOutput { + return o.ApplyT(func(v SkeClusterNodePool) []SkeClusterNodePoolTaint { return v.Taints }).(SkeClusterNodePoolTaintArrayOutput) } -// Argus instance ID to choose which Argus instance is used. Required when enabled is set to `true`. -func (o SkeClusterExtensionsArgusOutput) ArgusInstanceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v SkeClusterExtensionsArgus) *string { return v.ArgusInstanceId }).(pulumi.StringPtrOutput) +// The volume size in GB. Defaults to `20` +func (o SkeClusterNodePoolOutput) VolumeSize() pulumi.IntPtrOutput { + return o.ApplyT(func(v SkeClusterNodePool) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) } -// Flag to enable/disable Argus extensions. -func (o SkeClusterExtensionsArgusOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v SkeClusterExtensionsArgus) bool { return v.Enabled }).(pulumi.BoolOutput) +// Specifies the volume type. Defaults to `storagePremiumPerf1`. +func (o SkeClusterNodePoolOutput) VolumeType() pulumi.StringPtrOutput { + return o.ApplyT(func(v SkeClusterNodePool) *string { return v.VolumeType }).(pulumi.StringPtrOutput) } -type SkeClusterExtensionsArgusPtrOutput struct{ *pulumi.OutputState } +type SkeClusterNodePoolArrayOutput struct{ *pulumi.OutputState } -func (SkeClusterExtensionsArgusPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SkeClusterExtensionsArgus)(nil)).Elem() +func (SkeClusterNodePoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SkeClusterNodePool)(nil)).Elem() } -func (o SkeClusterExtensionsArgusPtrOutput) ToSkeClusterExtensionsArgusPtrOutput() SkeClusterExtensionsArgusPtrOutput { +func (o SkeClusterNodePoolArrayOutput) ToSkeClusterNodePoolArrayOutput() SkeClusterNodePoolArrayOutput { return o } -func (o SkeClusterExtensionsArgusPtrOutput) ToSkeClusterExtensionsArgusPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsArgusPtrOutput { +func (o SkeClusterNodePoolArrayOutput) ToSkeClusterNodePoolArrayOutputWithContext(ctx context.Context) SkeClusterNodePoolArrayOutput { return o } -func (o SkeClusterExtensionsArgusPtrOutput) Elem() SkeClusterExtensionsArgusOutput { - return o.ApplyT(func(v *SkeClusterExtensionsArgus) SkeClusterExtensionsArgus { - if v != nil { - return *v - } - var ret SkeClusterExtensionsArgus - return ret - }).(SkeClusterExtensionsArgusOutput) -} - -// Argus instance ID to choose which Argus instance is used. Required when enabled is set to `true`. -func (o SkeClusterExtensionsArgusPtrOutput) ArgusInstanceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SkeClusterExtensionsArgus) *string { - if v == nil { - return nil - } - return v.ArgusInstanceId - }).(pulumi.StringPtrOutput) -} - -// Flag to enable/disable Argus extensions. -func (o SkeClusterExtensionsArgusPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *SkeClusterExtensionsArgus) *bool { - if v == nil { - return nil - } - return &v.Enabled - }).(pulumi.BoolPtrOutput) +func (o SkeClusterNodePoolArrayOutput) Index(i pulumi.IntInput) SkeClusterNodePoolOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SkeClusterNodePool { + return vs[0].([]SkeClusterNodePool)[vs[1].(int)] + }).(SkeClusterNodePoolOutput) } -type SkeClusterExtensionsDns 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 SkeClusterNodePoolTaint struct { + // The taint effect. E.g `PreferNoSchedule`. + 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"` } -// SkeClusterExtensionsDnsInput is an input type that accepts SkeClusterExtensionsDnsArgs and SkeClusterExtensionsDnsOutput values. -// You can construct a concrete instance of `SkeClusterExtensionsDnsInput` via: +// SkeClusterNodePoolTaintInput is an input type that accepts SkeClusterNodePoolTaintArgs and SkeClusterNodePoolTaintOutput values. +// You can construct a concrete instance of `SkeClusterNodePoolTaintInput` via: // -// SkeClusterExtensionsDnsArgs{...} -type SkeClusterExtensionsDnsInput interface { +// SkeClusterNodePoolTaintArgs{...} +type SkeClusterNodePoolTaintInput interface { pulumi.Input - ToSkeClusterExtensionsDnsOutput() SkeClusterExtensionsDnsOutput - ToSkeClusterExtensionsDnsOutputWithContext(context.Context) SkeClusterExtensionsDnsOutput -} - -type SkeClusterExtensionsDnsArgs 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 (SkeClusterExtensionsDnsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterExtensionsDns)(nil)).Elem() + ToSkeClusterNodePoolTaintOutput() SkeClusterNodePoolTaintOutput + ToSkeClusterNodePoolTaintOutputWithContext(context.Context) SkeClusterNodePoolTaintOutput } -func (i SkeClusterExtensionsDnsArgs) ToSkeClusterExtensionsDnsOutput() SkeClusterExtensionsDnsOutput { - return i.ToSkeClusterExtensionsDnsOutputWithContext(context.Background()) +type SkeClusterNodePoolTaintArgs struct { + // The taint effect. E.g `PreferNoSchedule`. + 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.StringPtrInput `pulumi:"value"` } -func (i SkeClusterExtensionsDnsArgs) ToSkeClusterExtensionsDnsOutputWithContext(ctx context.Context) SkeClusterExtensionsDnsOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsDnsOutput) +func (SkeClusterNodePoolTaintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterNodePoolTaint)(nil)).Elem() } -func (i SkeClusterExtensionsDnsArgs) ToSkeClusterExtensionsDnsPtrOutput() SkeClusterExtensionsDnsPtrOutput { - return i.ToSkeClusterExtensionsDnsPtrOutputWithContext(context.Background()) +func (i SkeClusterNodePoolTaintArgs) ToSkeClusterNodePoolTaintOutput() SkeClusterNodePoolTaintOutput { + return i.ToSkeClusterNodePoolTaintOutputWithContext(context.Background()) } -func (i SkeClusterExtensionsDnsArgs) ToSkeClusterExtensionsDnsPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsDnsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsDnsOutput).ToSkeClusterExtensionsDnsPtrOutputWithContext(ctx) +func (i SkeClusterNodePoolTaintArgs) ToSkeClusterNodePoolTaintOutputWithContext(ctx context.Context) SkeClusterNodePoolTaintOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNodePoolTaintOutput) } -// SkeClusterExtensionsDnsPtrInput is an input type that accepts SkeClusterExtensionsDnsArgs, SkeClusterExtensionsDnsPtr and SkeClusterExtensionsDnsPtrOutput values. -// You can construct a concrete instance of `SkeClusterExtensionsDnsPtrInput` via: -// -// SkeClusterExtensionsDnsArgs{...} -// -// or: +// SkeClusterNodePoolTaintArrayInput is an input type that accepts SkeClusterNodePoolTaintArray and SkeClusterNodePoolTaintArrayOutput values. +// You can construct a concrete instance of `SkeClusterNodePoolTaintArrayInput` via: // -// nil -type SkeClusterExtensionsDnsPtrInput interface { +// SkeClusterNodePoolTaintArray{ SkeClusterNodePoolTaintArgs{...} } +type SkeClusterNodePoolTaintArrayInput interface { pulumi.Input - ToSkeClusterExtensionsDnsPtrOutput() SkeClusterExtensionsDnsPtrOutput - ToSkeClusterExtensionsDnsPtrOutputWithContext(context.Context) SkeClusterExtensionsDnsPtrOutput + ToSkeClusterNodePoolTaintArrayOutput() SkeClusterNodePoolTaintArrayOutput + ToSkeClusterNodePoolTaintArrayOutputWithContext(context.Context) SkeClusterNodePoolTaintArrayOutput } -type skeClusterExtensionsDnsPtrType SkeClusterExtensionsDnsArgs - -func SkeClusterExtensionsDnsPtr(v *SkeClusterExtensionsDnsArgs) SkeClusterExtensionsDnsPtrInput { - return (*skeClusterExtensionsDnsPtrType)(v) -} +type SkeClusterNodePoolTaintArray []SkeClusterNodePoolTaintInput -func (*skeClusterExtensionsDnsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SkeClusterExtensionsDns)(nil)).Elem() +func (SkeClusterNodePoolTaintArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]SkeClusterNodePoolTaint)(nil)).Elem() } -func (i *skeClusterExtensionsDnsPtrType) ToSkeClusterExtensionsDnsPtrOutput() SkeClusterExtensionsDnsPtrOutput { - return i.ToSkeClusterExtensionsDnsPtrOutputWithContext(context.Background()) +func (i SkeClusterNodePoolTaintArray) ToSkeClusterNodePoolTaintArrayOutput() SkeClusterNodePoolTaintArrayOutput { + return i.ToSkeClusterNodePoolTaintArrayOutputWithContext(context.Background()) } -func (i *skeClusterExtensionsDnsPtrType) ToSkeClusterExtensionsDnsPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsDnsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsDnsPtrOutput) +func (i SkeClusterNodePoolTaintArray) ToSkeClusterNodePoolTaintArrayOutputWithContext(ctx context.Context) SkeClusterNodePoolTaintArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNodePoolTaintArrayOutput) } -type SkeClusterExtensionsDnsOutput struct{ *pulumi.OutputState } +type SkeClusterNodePoolTaintOutput struct{ *pulumi.OutputState } -func (SkeClusterExtensionsDnsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterExtensionsDns)(nil)).Elem() +func (SkeClusterNodePoolTaintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SkeClusterNodePoolTaint)(nil)).Elem() } -func (o SkeClusterExtensionsDnsOutput) ToSkeClusterExtensionsDnsOutput() SkeClusterExtensionsDnsOutput { +func (o SkeClusterNodePoolTaintOutput) ToSkeClusterNodePoolTaintOutput() SkeClusterNodePoolTaintOutput { return o } -func (o SkeClusterExtensionsDnsOutput) ToSkeClusterExtensionsDnsOutputWithContext(ctx context.Context) SkeClusterExtensionsDnsOutput { +func (o SkeClusterNodePoolTaintOutput) ToSkeClusterNodePoolTaintOutputWithContext(ctx context.Context) SkeClusterNodePoolTaintOutput { return o } -func (o SkeClusterExtensionsDnsOutput) ToSkeClusterExtensionsDnsPtrOutput() SkeClusterExtensionsDnsPtrOutput { - return o.ToSkeClusterExtensionsDnsPtrOutputWithContext(context.Background()) -} - -func (o SkeClusterExtensionsDnsOutput) ToSkeClusterExtensionsDnsPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsDnsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SkeClusterExtensionsDns) *SkeClusterExtensionsDns { - return &v - }).(SkeClusterExtensionsDnsPtrOutput) +// The taint effect. E.g `PreferNoSchedule`. +func (o SkeClusterNodePoolTaintOutput) Effect() pulumi.StringOutput { + return o.ApplyT(func(v SkeClusterNodePoolTaint) string { return v.Effect }).(pulumi.StringOutput) } -// Flag to enable/disable DNS extensions -func (o SkeClusterExtensionsDnsOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v SkeClusterExtensionsDns) bool { return v.Enabled }).(pulumi.BoolOutput) +// Taint key to be applied to a node. +func (o SkeClusterNodePoolTaintOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v SkeClusterNodePoolTaint) string { return v.Key }).(pulumi.StringOutput) } -// Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) -func (o SkeClusterExtensionsDnsOutput) Zones() pulumi.StringArrayOutput { - return o.ApplyT(func(v SkeClusterExtensionsDns) []string { return v.Zones }).(pulumi.StringArrayOutput) +// Taint value corresponding to the taint key. +func (o SkeClusterNodePoolTaintOutput) Value() pulumi.StringPtrOutput { + return o.ApplyT(func(v SkeClusterNodePoolTaint) *string { return v.Value }).(pulumi.StringPtrOutput) } -type SkeClusterExtensionsDnsPtrOutput struct{ *pulumi.OutputState } - -func (SkeClusterExtensionsDnsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SkeClusterExtensionsDns)(nil)).Elem() -} +type SkeClusterNodePoolTaintArrayOutput struct{ *pulumi.OutputState } -func (o SkeClusterExtensionsDnsPtrOutput) ToSkeClusterExtensionsDnsPtrOutput() SkeClusterExtensionsDnsPtrOutput { - return o +func (SkeClusterNodePoolTaintArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]SkeClusterNodePoolTaint)(nil)).Elem() } -func (o SkeClusterExtensionsDnsPtrOutput) ToSkeClusterExtensionsDnsPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsDnsPtrOutput { +func (o SkeClusterNodePoolTaintArrayOutput) ToSkeClusterNodePoolTaintArrayOutput() SkeClusterNodePoolTaintArrayOutput { return o } - -func (o SkeClusterExtensionsDnsPtrOutput) Elem() SkeClusterExtensionsDnsOutput { - return o.ApplyT(func(v *SkeClusterExtensionsDns) SkeClusterExtensionsDns { - if v != nil { - return *v - } - var ret SkeClusterExtensionsDns - return ret - }).(SkeClusterExtensionsDnsOutput) -} - -// Flag to enable/disable DNS extensions -func (o SkeClusterExtensionsDnsPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *SkeClusterExtensionsDns) *bool { - if v == nil { - return nil - } - return &v.Enabled - }).(pulumi.BoolPtrOutput) + +func (o SkeClusterNodePoolTaintArrayOutput) ToSkeClusterNodePoolTaintArrayOutputWithContext(ctx context.Context) SkeClusterNodePoolTaintArrayOutput { + return o } -// Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) -func (o SkeClusterExtensionsDnsPtrOutput) Zones() pulumi.StringArrayOutput { - return o.ApplyT(func(v *SkeClusterExtensionsDns) []string { - if v == nil { - return nil - } - return v.Zones - }).(pulumi.StringArrayOutput) +func (o SkeClusterNodePoolTaintArrayOutput) Index(i pulumi.IntInput) SkeClusterNodePoolTaintOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) SkeClusterNodePoolTaint { + return vs[0].([]SkeClusterNodePoolTaint)[vs[1].(int)] + }).(SkeClusterNodePoolTaintOutput) } -type SkeClusterExtensionsObservability 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"` +type SqlserverflexInstanceFlavor struct { + Cpu int `pulumi:"cpu"` + Description *string `pulumi:"description"` + Id *string `pulumi:"id"` + Ram int `pulumi:"ram"` } -// SkeClusterExtensionsObservabilityInput is an input type that accepts SkeClusterExtensionsObservabilityArgs and SkeClusterExtensionsObservabilityOutput values. -// You can construct a concrete instance of `SkeClusterExtensionsObservabilityInput` via: +// SqlserverflexInstanceFlavorInput is an input type that accepts SqlserverflexInstanceFlavorArgs and SqlserverflexInstanceFlavorOutput values. +// You can construct a concrete instance of `SqlserverflexInstanceFlavorInput` via: // -// SkeClusterExtensionsObservabilityArgs{...} -type SkeClusterExtensionsObservabilityInput interface { +// SqlserverflexInstanceFlavorArgs{...} +type SqlserverflexInstanceFlavorInput interface { pulumi.Input - ToSkeClusterExtensionsObservabilityOutput() SkeClusterExtensionsObservabilityOutput - ToSkeClusterExtensionsObservabilityOutputWithContext(context.Context) SkeClusterExtensionsObservabilityOutput + ToSqlserverflexInstanceFlavorOutput() SqlserverflexInstanceFlavorOutput + ToSqlserverflexInstanceFlavorOutputWithContext(context.Context) SqlserverflexInstanceFlavorOutput } -type SkeClusterExtensionsObservabilityArgs 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.StringPtrInput `pulumi:"instanceId"` +type SqlserverflexInstanceFlavorArgs struct { + Cpu pulumi.IntInput `pulumi:"cpu"` + Description pulumi.StringPtrInput `pulumi:"description"` + Id pulumi.StringPtrInput `pulumi:"id"` + Ram pulumi.IntInput `pulumi:"ram"` } -func (SkeClusterExtensionsObservabilityArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterExtensionsObservability)(nil)).Elem() +func (SqlserverflexInstanceFlavorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SqlserverflexInstanceFlavor)(nil)).Elem() } -func (i SkeClusterExtensionsObservabilityArgs) ToSkeClusterExtensionsObservabilityOutput() SkeClusterExtensionsObservabilityOutput { - return i.ToSkeClusterExtensionsObservabilityOutputWithContext(context.Background()) +func (i SqlserverflexInstanceFlavorArgs) ToSqlserverflexInstanceFlavorOutput() SqlserverflexInstanceFlavorOutput { + return i.ToSqlserverflexInstanceFlavorOutputWithContext(context.Background()) } -func (i SkeClusterExtensionsObservabilityArgs) ToSkeClusterExtensionsObservabilityOutputWithContext(ctx context.Context) SkeClusterExtensionsObservabilityOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsObservabilityOutput) +func (i SqlserverflexInstanceFlavorArgs) ToSqlserverflexInstanceFlavorOutputWithContext(ctx context.Context) SqlserverflexInstanceFlavorOutput { + return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexInstanceFlavorOutput) } -func (i SkeClusterExtensionsObservabilityArgs) ToSkeClusterExtensionsObservabilityPtrOutput() SkeClusterExtensionsObservabilityPtrOutput { - return i.ToSkeClusterExtensionsObservabilityPtrOutputWithContext(context.Background()) +func (i SqlserverflexInstanceFlavorArgs) ToSqlserverflexInstanceFlavorPtrOutput() SqlserverflexInstanceFlavorPtrOutput { + return i.ToSqlserverflexInstanceFlavorPtrOutputWithContext(context.Background()) } -func (i SkeClusterExtensionsObservabilityArgs) ToSkeClusterExtensionsObservabilityPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsObservabilityPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsObservabilityOutput).ToSkeClusterExtensionsObservabilityPtrOutputWithContext(ctx) +func (i SqlserverflexInstanceFlavorArgs) ToSqlserverflexInstanceFlavorPtrOutputWithContext(ctx context.Context) SqlserverflexInstanceFlavorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexInstanceFlavorOutput).ToSqlserverflexInstanceFlavorPtrOutputWithContext(ctx) } -// SkeClusterExtensionsObservabilityPtrInput is an input type that accepts SkeClusterExtensionsObservabilityArgs, SkeClusterExtensionsObservabilityPtr and SkeClusterExtensionsObservabilityPtrOutput values. -// You can construct a concrete instance of `SkeClusterExtensionsObservabilityPtrInput` via: +// SqlserverflexInstanceFlavorPtrInput is an input type that accepts SqlserverflexInstanceFlavorArgs, SqlserverflexInstanceFlavorPtr and SqlserverflexInstanceFlavorPtrOutput values. +// You can construct a concrete instance of `SqlserverflexInstanceFlavorPtrInput` via: // -// SkeClusterExtensionsObservabilityArgs{...} +// SqlserverflexInstanceFlavorArgs{...} // // or: // // nil -type SkeClusterExtensionsObservabilityPtrInput interface { +type SqlserverflexInstanceFlavorPtrInput interface { pulumi.Input - ToSkeClusterExtensionsObservabilityPtrOutput() SkeClusterExtensionsObservabilityPtrOutput - ToSkeClusterExtensionsObservabilityPtrOutputWithContext(context.Context) SkeClusterExtensionsObservabilityPtrOutput + ToSqlserverflexInstanceFlavorPtrOutput() SqlserverflexInstanceFlavorPtrOutput + ToSqlserverflexInstanceFlavorPtrOutputWithContext(context.Context) SqlserverflexInstanceFlavorPtrOutput } -type skeClusterExtensionsObservabilityPtrType SkeClusterExtensionsObservabilityArgs +type sqlserverflexInstanceFlavorPtrType SqlserverflexInstanceFlavorArgs -func SkeClusterExtensionsObservabilityPtr(v *SkeClusterExtensionsObservabilityArgs) SkeClusterExtensionsObservabilityPtrInput { - return (*skeClusterExtensionsObservabilityPtrType)(v) +func SqlserverflexInstanceFlavorPtr(v *SqlserverflexInstanceFlavorArgs) SqlserverflexInstanceFlavorPtrInput { + return (*sqlserverflexInstanceFlavorPtrType)(v) } -func (*skeClusterExtensionsObservabilityPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SkeClusterExtensionsObservability)(nil)).Elem() +func (*sqlserverflexInstanceFlavorPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SqlserverflexInstanceFlavor)(nil)).Elem() } -func (i *skeClusterExtensionsObservabilityPtrType) ToSkeClusterExtensionsObservabilityPtrOutput() SkeClusterExtensionsObservabilityPtrOutput { - return i.ToSkeClusterExtensionsObservabilityPtrOutputWithContext(context.Background()) +func (i *sqlserverflexInstanceFlavorPtrType) ToSqlserverflexInstanceFlavorPtrOutput() SqlserverflexInstanceFlavorPtrOutput { + return i.ToSqlserverflexInstanceFlavorPtrOutputWithContext(context.Background()) } -func (i *skeClusterExtensionsObservabilityPtrType) ToSkeClusterExtensionsObservabilityPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsObservabilityPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterExtensionsObservabilityPtrOutput) +func (i *sqlserverflexInstanceFlavorPtrType) ToSqlserverflexInstanceFlavorPtrOutputWithContext(ctx context.Context) SqlserverflexInstanceFlavorPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexInstanceFlavorPtrOutput) } -type SkeClusterExtensionsObservabilityOutput struct{ *pulumi.OutputState } +type SqlserverflexInstanceFlavorOutput struct{ *pulumi.OutputState } -func (SkeClusterExtensionsObservabilityOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterExtensionsObservability)(nil)).Elem() +func (SqlserverflexInstanceFlavorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SqlserverflexInstanceFlavor)(nil)).Elem() } -func (o SkeClusterExtensionsObservabilityOutput) ToSkeClusterExtensionsObservabilityOutput() SkeClusterExtensionsObservabilityOutput { +func (o SqlserverflexInstanceFlavorOutput) ToSqlserverflexInstanceFlavorOutput() SqlserverflexInstanceFlavorOutput { return o } -func (o SkeClusterExtensionsObservabilityOutput) ToSkeClusterExtensionsObservabilityOutputWithContext(ctx context.Context) SkeClusterExtensionsObservabilityOutput { +func (o SqlserverflexInstanceFlavorOutput) ToSqlserverflexInstanceFlavorOutputWithContext(ctx context.Context) SqlserverflexInstanceFlavorOutput { return o } -func (o SkeClusterExtensionsObservabilityOutput) ToSkeClusterExtensionsObservabilityPtrOutput() SkeClusterExtensionsObservabilityPtrOutput { - return o.ToSkeClusterExtensionsObservabilityPtrOutputWithContext(context.Background()) +func (o SqlserverflexInstanceFlavorOutput) ToSqlserverflexInstanceFlavorPtrOutput() SqlserverflexInstanceFlavorPtrOutput { + return o.ToSqlserverflexInstanceFlavorPtrOutputWithContext(context.Background()) } -func (o SkeClusterExtensionsObservabilityOutput) ToSkeClusterExtensionsObservabilityPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsObservabilityPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SkeClusterExtensionsObservability) *SkeClusterExtensionsObservability { +func (o SqlserverflexInstanceFlavorOutput) ToSqlserverflexInstanceFlavorPtrOutputWithContext(ctx context.Context) SqlserverflexInstanceFlavorPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SqlserverflexInstanceFlavor) *SqlserverflexInstanceFlavor { return &v - }).(SkeClusterExtensionsObservabilityPtrOutput) + }).(SqlserverflexInstanceFlavorPtrOutput) } -// Flag to enable/disable Observability extensions. -func (o SkeClusterExtensionsObservabilityOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v SkeClusterExtensionsObservability) bool { return v.Enabled }).(pulumi.BoolOutput) +func (o SqlserverflexInstanceFlavorOutput) Cpu() pulumi.IntOutput { + return o.ApplyT(func(v SqlserverflexInstanceFlavor) int { return v.Cpu }).(pulumi.IntOutput) } -// Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`. -func (o SkeClusterExtensionsObservabilityOutput) InstanceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v SkeClusterExtensionsObservability) *string { return v.InstanceId }).(pulumi.StringPtrOutput) +func (o SqlserverflexInstanceFlavorOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v SqlserverflexInstanceFlavor) *string { return v.Description }).(pulumi.StringPtrOutput) } -type SkeClusterExtensionsObservabilityPtrOutput struct{ *pulumi.OutputState } +func (o SqlserverflexInstanceFlavorOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v SqlserverflexInstanceFlavor) *string { return v.Id }).(pulumi.StringPtrOutput) +} -func (SkeClusterExtensionsObservabilityPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SkeClusterExtensionsObservability)(nil)).Elem() +func (o SqlserverflexInstanceFlavorOutput) Ram() pulumi.IntOutput { + return o.ApplyT(func(v SqlserverflexInstanceFlavor) int { return v.Ram }).(pulumi.IntOutput) } -func (o SkeClusterExtensionsObservabilityPtrOutput) ToSkeClusterExtensionsObservabilityPtrOutput() SkeClusterExtensionsObservabilityPtrOutput { +type SqlserverflexInstanceFlavorPtrOutput struct{ *pulumi.OutputState } + +func (SqlserverflexInstanceFlavorPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SqlserverflexInstanceFlavor)(nil)).Elem() +} + +func (o SqlserverflexInstanceFlavorPtrOutput) ToSqlserverflexInstanceFlavorPtrOutput() SqlserverflexInstanceFlavorPtrOutput { return o } -func (o SkeClusterExtensionsObservabilityPtrOutput) ToSkeClusterExtensionsObservabilityPtrOutputWithContext(ctx context.Context) SkeClusterExtensionsObservabilityPtrOutput { +func (o SqlserverflexInstanceFlavorPtrOutput) ToSqlserverflexInstanceFlavorPtrOutputWithContext(ctx context.Context) SqlserverflexInstanceFlavorPtrOutput { return o } -func (o SkeClusterExtensionsObservabilityPtrOutput) Elem() SkeClusterExtensionsObservabilityOutput { - return o.ApplyT(func(v *SkeClusterExtensionsObservability) SkeClusterExtensionsObservability { +func (o SqlserverflexInstanceFlavorPtrOutput) Elem() SqlserverflexInstanceFlavorOutput { + return o.ApplyT(func(v *SqlserverflexInstanceFlavor) SqlserverflexInstanceFlavor { if v != nil { return *v } - var ret SkeClusterExtensionsObservability + var ret SqlserverflexInstanceFlavor return ret - }).(SkeClusterExtensionsObservabilityOutput) + }).(SqlserverflexInstanceFlavorOutput) } -// Flag to enable/disable Observability extensions. -func (o SkeClusterExtensionsObservabilityPtrOutput) Enabled() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *SkeClusterExtensionsObservability) *bool { +func (o SqlserverflexInstanceFlavorPtrOutput) Cpu() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SqlserverflexInstanceFlavor) *int { if v == nil { return nil } - return &v.Enabled - }).(pulumi.BoolPtrOutput) + return &v.Cpu + }).(pulumi.IntPtrOutput) } -// Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`. -func (o SkeClusterExtensionsObservabilityPtrOutput) InstanceId() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SkeClusterExtensionsObservability) *string { +func (o SqlserverflexInstanceFlavorPtrOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SqlserverflexInstanceFlavor) *string { if v == nil { return nil } - return v.InstanceId + return v.Description }).(pulumi.StringPtrOutput) } -type SkeClusterHibernation struct { - // End time of hibernation in crontab syntax. E.g. `0 8 * * *` for waking up the cluster at 8am. - End string `pulumi:"end"` - // Start time of cluster hibernation in crontab syntax. E.g. `0 18 * * *` for starting everyday at 6pm. - Start string `pulumi:"start"` - // Timezone name corresponding to a file in the IANA Time Zone database. i.e. `Europe/Berlin`. - Timezone *string `pulumi:"timezone"` +func (o SqlserverflexInstanceFlavorPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SqlserverflexInstanceFlavor) *string { + if v == nil { + return nil + } + return v.Id + }).(pulumi.StringPtrOutput) } -// SkeClusterHibernationInput is an input type that accepts SkeClusterHibernationArgs and SkeClusterHibernationOutput values. -// You can construct a concrete instance of `SkeClusterHibernationInput` via: +func (o SqlserverflexInstanceFlavorPtrOutput) Ram() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SqlserverflexInstanceFlavor) *int { + if v == nil { + return nil + } + return &v.Ram + }).(pulumi.IntPtrOutput) +} + +type SqlserverflexInstanceOptions struct { + Edition *string `pulumi:"edition"` + RetentionDays *int `pulumi:"retentionDays"` +} + +// SqlserverflexInstanceOptionsInput is an input type that accepts SqlserverflexInstanceOptionsArgs and SqlserverflexInstanceOptionsOutput values. +// You can construct a concrete instance of `SqlserverflexInstanceOptionsInput` via: // -// SkeClusterHibernationArgs{...} -type SkeClusterHibernationInput interface { +// SqlserverflexInstanceOptionsArgs{...} +type SqlserverflexInstanceOptionsInput interface { pulumi.Input - ToSkeClusterHibernationOutput() SkeClusterHibernationOutput - ToSkeClusterHibernationOutputWithContext(context.Context) SkeClusterHibernationOutput + ToSqlserverflexInstanceOptionsOutput() SqlserverflexInstanceOptionsOutput + ToSqlserverflexInstanceOptionsOutputWithContext(context.Context) SqlserverflexInstanceOptionsOutput } -type SkeClusterHibernationArgs struct { - // End time of hibernation in crontab syntax. E.g. `0 8 * * *` for waking up the cluster at 8am. - End pulumi.StringInput `pulumi:"end"` - // Start time of cluster hibernation in crontab syntax. E.g. `0 18 * * *` for starting everyday at 6pm. - Start pulumi.StringInput `pulumi:"start"` - // Timezone name corresponding to a file in the IANA Time Zone database. i.e. `Europe/Berlin`. - Timezone pulumi.StringPtrInput `pulumi:"timezone"` +type SqlserverflexInstanceOptionsArgs struct { + Edition pulumi.StringPtrInput `pulumi:"edition"` + RetentionDays pulumi.IntPtrInput `pulumi:"retentionDays"` } -func (SkeClusterHibernationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterHibernation)(nil)).Elem() +func (SqlserverflexInstanceOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SqlserverflexInstanceOptions)(nil)).Elem() } -func (i SkeClusterHibernationArgs) ToSkeClusterHibernationOutput() SkeClusterHibernationOutput { - return i.ToSkeClusterHibernationOutputWithContext(context.Background()) +func (i SqlserverflexInstanceOptionsArgs) ToSqlserverflexInstanceOptionsOutput() SqlserverflexInstanceOptionsOutput { + return i.ToSqlserverflexInstanceOptionsOutputWithContext(context.Background()) } -func (i SkeClusterHibernationArgs) ToSkeClusterHibernationOutputWithContext(ctx context.Context) SkeClusterHibernationOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterHibernationOutput) +func (i SqlserverflexInstanceOptionsArgs) ToSqlserverflexInstanceOptionsOutputWithContext(ctx context.Context) SqlserverflexInstanceOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexInstanceOptionsOutput) } -// SkeClusterHibernationArrayInput is an input type that accepts SkeClusterHibernationArray and SkeClusterHibernationArrayOutput values. -// You can construct a concrete instance of `SkeClusterHibernationArrayInput` via: +func (i SqlserverflexInstanceOptionsArgs) ToSqlserverflexInstanceOptionsPtrOutput() SqlserverflexInstanceOptionsPtrOutput { + return i.ToSqlserverflexInstanceOptionsPtrOutputWithContext(context.Background()) +} + +func (i SqlserverflexInstanceOptionsArgs) ToSqlserverflexInstanceOptionsPtrOutputWithContext(ctx context.Context) SqlserverflexInstanceOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexInstanceOptionsOutput).ToSqlserverflexInstanceOptionsPtrOutputWithContext(ctx) +} + +// SqlserverflexInstanceOptionsPtrInput is an input type that accepts SqlserverflexInstanceOptionsArgs, SqlserverflexInstanceOptionsPtr and SqlserverflexInstanceOptionsPtrOutput values. +// You can construct a concrete instance of `SqlserverflexInstanceOptionsPtrInput` via: // -// SkeClusterHibernationArray{ SkeClusterHibernationArgs{...} } -type SkeClusterHibernationArrayInput interface { +// SqlserverflexInstanceOptionsArgs{...} +// +// or: +// +// nil +type SqlserverflexInstanceOptionsPtrInput interface { pulumi.Input - ToSkeClusterHibernationArrayOutput() SkeClusterHibernationArrayOutput - ToSkeClusterHibernationArrayOutputWithContext(context.Context) SkeClusterHibernationArrayOutput + ToSqlserverflexInstanceOptionsPtrOutput() SqlserverflexInstanceOptionsPtrOutput + ToSqlserverflexInstanceOptionsPtrOutputWithContext(context.Context) SqlserverflexInstanceOptionsPtrOutput } -type SkeClusterHibernationArray []SkeClusterHibernationInput +type sqlserverflexInstanceOptionsPtrType SqlserverflexInstanceOptionsArgs + +func SqlserverflexInstanceOptionsPtr(v *SqlserverflexInstanceOptionsArgs) SqlserverflexInstanceOptionsPtrInput { + return (*sqlserverflexInstanceOptionsPtrType)(v) +} -func (SkeClusterHibernationArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SkeClusterHibernation)(nil)).Elem() +func (*sqlserverflexInstanceOptionsPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SqlserverflexInstanceOptions)(nil)).Elem() } -func (i SkeClusterHibernationArray) ToSkeClusterHibernationArrayOutput() SkeClusterHibernationArrayOutput { - return i.ToSkeClusterHibernationArrayOutputWithContext(context.Background()) +func (i *sqlserverflexInstanceOptionsPtrType) ToSqlserverflexInstanceOptionsPtrOutput() SqlserverflexInstanceOptionsPtrOutput { + return i.ToSqlserverflexInstanceOptionsPtrOutputWithContext(context.Background()) } -func (i SkeClusterHibernationArray) ToSkeClusterHibernationArrayOutputWithContext(ctx context.Context) SkeClusterHibernationArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterHibernationArrayOutput) +func (i *sqlserverflexInstanceOptionsPtrType) ToSqlserverflexInstanceOptionsPtrOutputWithContext(ctx context.Context) SqlserverflexInstanceOptionsPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexInstanceOptionsPtrOutput) } -type SkeClusterHibernationOutput struct{ *pulumi.OutputState } +type SqlserverflexInstanceOptionsOutput struct{ *pulumi.OutputState } -func (SkeClusterHibernationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterHibernation)(nil)).Elem() +func (SqlserverflexInstanceOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SqlserverflexInstanceOptions)(nil)).Elem() } -func (o SkeClusterHibernationOutput) ToSkeClusterHibernationOutput() SkeClusterHibernationOutput { +func (o SqlserverflexInstanceOptionsOutput) ToSqlserverflexInstanceOptionsOutput() SqlserverflexInstanceOptionsOutput { return o } -func (o SkeClusterHibernationOutput) ToSkeClusterHibernationOutputWithContext(ctx context.Context) SkeClusterHibernationOutput { +func (o SqlserverflexInstanceOptionsOutput) ToSqlserverflexInstanceOptionsOutputWithContext(ctx context.Context) SqlserverflexInstanceOptionsOutput { return o } -// End time of hibernation in crontab syntax. E.g. `0 8 * * *` for waking up the cluster at 8am. -func (o SkeClusterHibernationOutput) End() pulumi.StringOutput { - return o.ApplyT(func(v SkeClusterHibernation) string { return v.End }).(pulumi.StringOutput) +func (o SqlserverflexInstanceOptionsOutput) ToSqlserverflexInstanceOptionsPtrOutput() SqlserverflexInstanceOptionsPtrOutput { + return o.ToSqlserverflexInstanceOptionsPtrOutputWithContext(context.Background()) } -// Start time of cluster hibernation in crontab syntax. E.g. `0 18 * * *` for starting everyday at 6pm. -func (o SkeClusterHibernationOutput) Start() pulumi.StringOutput { - return o.ApplyT(func(v SkeClusterHibernation) string { return v.Start }).(pulumi.StringOutput) +func (o SqlserverflexInstanceOptionsOutput) ToSqlserverflexInstanceOptionsPtrOutputWithContext(ctx context.Context) SqlserverflexInstanceOptionsPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SqlserverflexInstanceOptions) *SqlserverflexInstanceOptions { + return &v + }).(SqlserverflexInstanceOptionsPtrOutput) } -// Timezone name corresponding to a file in the IANA Time Zone database. i.e. `Europe/Berlin`. -func (o SkeClusterHibernationOutput) Timezone() pulumi.StringPtrOutput { - return o.ApplyT(func(v SkeClusterHibernation) *string { return v.Timezone }).(pulumi.StringPtrOutput) +func (o SqlserverflexInstanceOptionsOutput) Edition() pulumi.StringPtrOutput { + return o.ApplyT(func(v SqlserverflexInstanceOptions) *string { return v.Edition }).(pulumi.StringPtrOutput) } -type SkeClusterHibernationArrayOutput struct{ *pulumi.OutputState } +func (o SqlserverflexInstanceOptionsOutput) RetentionDays() pulumi.IntPtrOutput { + return o.ApplyT(func(v SqlserverflexInstanceOptions) *int { return v.RetentionDays }).(pulumi.IntPtrOutput) +} -func (SkeClusterHibernationArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SkeClusterHibernation)(nil)).Elem() +type SqlserverflexInstanceOptionsPtrOutput struct{ *pulumi.OutputState } + +func (SqlserverflexInstanceOptionsPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SqlserverflexInstanceOptions)(nil)).Elem() } -func (o SkeClusterHibernationArrayOutput) ToSkeClusterHibernationArrayOutput() SkeClusterHibernationArrayOutput { +func (o SqlserverflexInstanceOptionsPtrOutput) ToSqlserverflexInstanceOptionsPtrOutput() SqlserverflexInstanceOptionsPtrOutput { return o } -func (o SkeClusterHibernationArrayOutput) ToSkeClusterHibernationArrayOutputWithContext(ctx context.Context) SkeClusterHibernationArrayOutput { +func (o SqlserverflexInstanceOptionsPtrOutput) ToSqlserverflexInstanceOptionsPtrOutputWithContext(ctx context.Context) SqlserverflexInstanceOptionsPtrOutput { return o } -func (o SkeClusterHibernationArrayOutput) Index(i pulumi.IntInput) SkeClusterHibernationOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SkeClusterHibernation { - return vs[0].([]SkeClusterHibernation)[vs[1].(int)] - }).(SkeClusterHibernationOutput) +func (o SqlserverflexInstanceOptionsPtrOutput) Elem() SqlserverflexInstanceOptionsOutput { + return o.ApplyT(func(v *SqlserverflexInstanceOptions) SqlserverflexInstanceOptions { + if v != nil { + return *v + } + var ret SqlserverflexInstanceOptions + return ret + }).(SqlserverflexInstanceOptionsOutput) } -type SkeClusterMaintenance struct { - // Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). - EnableKubernetesVersionUpdates *bool `pulumi:"enableKubernetesVersionUpdates"` - // Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). - EnableMachineImageVersionUpdates *bool `pulumi:"enableMachineImageVersionUpdates"` - // Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`. - End *string `pulumi:"end"` - // Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`. - Start *string `pulumi:"start"` +func (o SqlserverflexInstanceOptionsPtrOutput) Edition() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SqlserverflexInstanceOptions) *string { + if v == nil { + return nil + } + return v.Edition + }).(pulumi.StringPtrOutput) } -// SkeClusterMaintenanceInput is an input type that accepts SkeClusterMaintenanceArgs and SkeClusterMaintenanceOutput values. -// You can construct a concrete instance of `SkeClusterMaintenanceInput` via: +func (o SqlserverflexInstanceOptionsPtrOutput) RetentionDays() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SqlserverflexInstanceOptions) *int { + if v == nil { + return nil + } + return v.RetentionDays + }).(pulumi.IntPtrOutput) +} + +type SqlserverflexInstanceStorage struct { + // The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + // `bash + // stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID + // ` + // - `size` (Number) + Class *string `pulumi:"class"` + Size *int `pulumi:"size"` +} + +// SqlserverflexInstanceStorageInput is an input type that accepts SqlserverflexInstanceStorageArgs and SqlserverflexInstanceStorageOutput values. +// You can construct a concrete instance of `SqlserverflexInstanceStorageInput` via: // -// SkeClusterMaintenanceArgs{...} -type SkeClusterMaintenanceInput interface { +// SqlserverflexInstanceStorageArgs{...} +type SqlserverflexInstanceStorageInput interface { pulumi.Input - ToSkeClusterMaintenanceOutput() SkeClusterMaintenanceOutput - ToSkeClusterMaintenanceOutputWithContext(context.Context) SkeClusterMaintenanceOutput + ToSqlserverflexInstanceStorageOutput() SqlserverflexInstanceStorageOutput + ToSqlserverflexInstanceStorageOutputWithContext(context.Context) SqlserverflexInstanceStorageOutput } -type SkeClusterMaintenanceArgs struct { - // Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). - EnableKubernetesVersionUpdates pulumi.BoolPtrInput `pulumi:"enableKubernetesVersionUpdates"` - // Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). - EnableMachineImageVersionUpdates pulumi.BoolPtrInput `pulumi:"enableMachineImageVersionUpdates"` - // Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`. - End pulumi.StringPtrInput `pulumi:"end"` - // Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`. - Start pulumi.StringPtrInput `pulumi:"start"` +type SqlserverflexInstanceStorageArgs struct { + // The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + // `bash + // stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID + // ` + // - `size` (Number) + Class pulumi.StringPtrInput `pulumi:"class"` + Size pulumi.IntPtrInput `pulumi:"size"` } -func (SkeClusterMaintenanceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterMaintenance)(nil)).Elem() +func (SqlserverflexInstanceStorageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*SqlserverflexInstanceStorage)(nil)).Elem() } -func (i SkeClusterMaintenanceArgs) ToSkeClusterMaintenanceOutput() SkeClusterMaintenanceOutput { - return i.ToSkeClusterMaintenanceOutputWithContext(context.Background()) +func (i SqlserverflexInstanceStorageArgs) ToSqlserverflexInstanceStorageOutput() SqlserverflexInstanceStorageOutput { + return i.ToSqlserverflexInstanceStorageOutputWithContext(context.Background()) } -func (i SkeClusterMaintenanceArgs) ToSkeClusterMaintenanceOutputWithContext(ctx context.Context) SkeClusterMaintenanceOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterMaintenanceOutput) +func (i SqlserverflexInstanceStorageArgs) ToSqlserverflexInstanceStorageOutputWithContext(ctx context.Context) SqlserverflexInstanceStorageOutput { + return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexInstanceStorageOutput) } -func (i SkeClusterMaintenanceArgs) ToSkeClusterMaintenancePtrOutput() SkeClusterMaintenancePtrOutput { - return i.ToSkeClusterMaintenancePtrOutputWithContext(context.Background()) +func (i SqlserverflexInstanceStorageArgs) ToSqlserverflexInstanceStoragePtrOutput() SqlserverflexInstanceStoragePtrOutput { + return i.ToSqlserverflexInstanceStoragePtrOutputWithContext(context.Background()) } -func (i SkeClusterMaintenanceArgs) ToSkeClusterMaintenancePtrOutputWithContext(ctx context.Context) SkeClusterMaintenancePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterMaintenanceOutput).ToSkeClusterMaintenancePtrOutputWithContext(ctx) +func (i SqlserverflexInstanceStorageArgs) ToSqlserverflexInstanceStoragePtrOutputWithContext(ctx context.Context) SqlserverflexInstanceStoragePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexInstanceStorageOutput).ToSqlserverflexInstanceStoragePtrOutputWithContext(ctx) } -// SkeClusterMaintenancePtrInput is an input type that accepts SkeClusterMaintenanceArgs, SkeClusterMaintenancePtr and SkeClusterMaintenancePtrOutput values. -// You can construct a concrete instance of `SkeClusterMaintenancePtrInput` via: +// SqlserverflexInstanceStoragePtrInput is an input type that accepts SqlserverflexInstanceStorageArgs, SqlserverflexInstanceStoragePtr and SqlserverflexInstanceStoragePtrOutput values. +// You can construct a concrete instance of `SqlserverflexInstanceStoragePtrInput` via: // -// SkeClusterMaintenanceArgs{...} +// SqlserverflexInstanceStorageArgs{...} // // or: // // nil -type SkeClusterMaintenancePtrInput interface { +type SqlserverflexInstanceStoragePtrInput interface { pulumi.Input - ToSkeClusterMaintenancePtrOutput() SkeClusterMaintenancePtrOutput - ToSkeClusterMaintenancePtrOutputWithContext(context.Context) SkeClusterMaintenancePtrOutput + ToSqlserverflexInstanceStoragePtrOutput() SqlserverflexInstanceStoragePtrOutput + ToSqlserverflexInstanceStoragePtrOutputWithContext(context.Context) SqlserverflexInstanceStoragePtrOutput } -type skeClusterMaintenancePtrType SkeClusterMaintenanceArgs +type sqlserverflexInstanceStoragePtrType SqlserverflexInstanceStorageArgs -func SkeClusterMaintenancePtr(v *SkeClusterMaintenanceArgs) SkeClusterMaintenancePtrInput { - return (*skeClusterMaintenancePtrType)(v) +func SqlserverflexInstanceStoragePtr(v *SqlserverflexInstanceStorageArgs) SqlserverflexInstanceStoragePtrInput { + return (*sqlserverflexInstanceStoragePtrType)(v) } -func (*skeClusterMaintenancePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SkeClusterMaintenance)(nil)).Elem() +func (*sqlserverflexInstanceStoragePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**SqlserverflexInstanceStorage)(nil)).Elem() } -func (i *skeClusterMaintenancePtrType) ToSkeClusterMaintenancePtrOutput() SkeClusterMaintenancePtrOutput { - return i.ToSkeClusterMaintenancePtrOutputWithContext(context.Background()) +func (i *sqlserverflexInstanceStoragePtrType) ToSqlserverflexInstanceStoragePtrOutput() SqlserverflexInstanceStoragePtrOutput { + return i.ToSqlserverflexInstanceStoragePtrOutputWithContext(context.Background()) } -func (i *skeClusterMaintenancePtrType) ToSkeClusterMaintenancePtrOutputWithContext(ctx context.Context) SkeClusterMaintenancePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterMaintenancePtrOutput) +func (i *sqlserverflexInstanceStoragePtrType) ToSqlserverflexInstanceStoragePtrOutputWithContext(ctx context.Context) SqlserverflexInstanceStoragePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexInstanceStoragePtrOutput) } -type SkeClusterMaintenanceOutput struct{ *pulumi.OutputState } +type SqlserverflexInstanceStorageOutput struct{ *pulumi.OutputState } -func (SkeClusterMaintenanceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterMaintenance)(nil)).Elem() +func (SqlserverflexInstanceStorageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*SqlserverflexInstanceStorage)(nil)).Elem() } -func (o SkeClusterMaintenanceOutput) ToSkeClusterMaintenanceOutput() SkeClusterMaintenanceOutput { +func (o SqlserverflexInstanceStorageOutput) ToSqlserverflexInstanceStorageOutput() SqlserverflexInstanceStorageOutput { return o } -func (o SkeClusterMaintenanceOutput) ToSkeClusterMaintenanceOutputWithContext(ctx context.Context) SkeClusterMaintenanceOutput { +func (o SqlserverflexInstanceStorageOutput) ToSqlserverflexInstanceStorageOutputWithContext(ctx context.Context) SqlserverflexInstanceStorageOutput { return o } -func (o SkeClusterMaintenanceOutput) ToSkeClusterMaintenancePtrOutput() SkeClusterMaintenancePtrOutput { - return o.ToSkeClusterMaintenancePtrOutputWithContext(context.Background()) +func (o SqlserverflexInstanceStorageOutput) ToSqlserverflexInstanceStoragePtrOutput() SqlserverflexInstanceStoragePtrOutput { + return o.ToSqlserverflexInstanceStoragePtrOutputWithContext(context.Background()) } -func (o SkeClusterMaintenanceOutput) ToSkeClusterMaintenancePtrOutputWithContext(ctx context.Context) SkeClusterMaintenancePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SkeClusterMaintenance) *SkeClusterMaintenance { +func (o SqlserverflexInstanceStorageOutput) ToSqlserverflexInstanceStoragePtrOutputWithContext(ctx context.Context) SqlserverflexInstanceStoragePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v SqlserverflexInstanceStorage) *SqlserverflexInstanceStorage { return &v - }).(SkeClusterMaintenancePtrOutput) -} - -// Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). -func (o SkeClusterMaintenanceOutput) EnableKubernetesVersionUpdates() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SkeClusterMaintenance) *bool { return v.EnableKubernetesVersionUpdates }).(pulumi.BoolPtrOutput) -} - -// Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). -func (o SkeClusterMaintenanceOutput) EnableMachineImageVersionUpdates() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SkeClusterMaintenance) *bool { return v.EnableMachineImageVersionUpdates }).(pulumi.BoolPtrOutput) + }).(SqlserverflexInstanceStoragePtrOutput) } -// Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`. -func (o SkeClusterMaintenanceOutput) End() pulumi.StringPtrOutput { - return o.ApplyT(func(v SkeClusterMaintenance) *string { return v.End }).(pulumi.StringPtrOutput) +// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): +// `bash +// stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID +// ` +// - `size` (Number) +func (o SqlserverflexInstanceStorageOutput) Class() pulumi.StringPtrOutput { + return o.ApplyT(func(v SqlserverflexInstanceStorage) *string { return v.Class }).(pulumi.StringPtrOutput) } -// Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`. -func (o SkeClusterMaintenanceOutput) Start() pulumi.StringPtrOutput { - return o.ApplyT(func(v SkeClusterMaintenance) *string { return v.Start }).(pulumi.StringPtrOutput) +func (o SqlserverflexInstanceStorageOutput) Size() pulumi.IntPtrOutput { + return o.ApplyT(func(v SqlserverflexInstanceStorage) *int { return v.Size }).(pulumi.IntPtrOutput) } -type SkeClusterMaintenancePtrOutput struct{ *pulumi.OutputState } +type SqlserverflexInstanceStoragePtrOutput struct{ *pulumi.OutputState } -func (SkeClusterMaintenancePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SkeClusterMaintenance)(nil)).Elem() +func (SqlserverflexInstanceStoragePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**SqlserverflexInstanceStorage)(nil)).Elem() } -func (o SkeClusterMaintenancePtrOutput) ToSkeClusterMaintenancePtrOutput() SkeClusterMaintenancePtrOutput { +func (o SqlserverflexInstanceStoragePtrOutput) ToSqlserverflexInstanceStoragePtrOutput() SqlserverflexInstanceStoragePtrOutput { return o } -func (o SkeClusterMaintenancePtrOutput) ToSkeClusterMaintenancePtrOutputWithContext(ctx context.Context) SkeClusterMaintenancePtrOutput { +func (o SqlserverflexInstanceStoragePtrOutput) ToSqlserverflexInstanceStoragePtrOutputWithContext(ctx context.Context) SqlserverflexInstanceStoragePtrOutput { return o } -func (o SkeClusterMaintenancePtrOutput) Elem() SkeClusterMaintenanceOutput { - return o.ApplyT(func(v *SkeClusterMaintenance) SkeClusterMaintenance { +func (o SqlserverflexInstanceStoragePtrOutput) Elem() SqlserverflexInstanceStorageOutput { + return o.ApplyT(func(v *SqlserverflexInstanceStorage) SqlserverflexInstanceStorage { if v != nil { return *v } - var ret SkeClusterMaintenance + var ret SqlserverflexInstanceStorage return ret - }).(SkeClusterMaintenanceOutput) -} - -// Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). -func (o SkeClusterMaintenancePtrOutput) EnableKubernetesVersionUpdates() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *SkeClusterMaintenance) *bool { - if v == nil { - return nil - } - return v.EnableKubernetesVersionUpdates - }).(pulumi.BoolPtrOutput) -} - -// Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). -func (o SkeClusterMaintenancePtrOutput) EnableMachineImageVersionUpdates() pulumi.BoolPtrOutput { - return o.ApplyT(func(v *SkeClusterMaintenance) *bool { - if v == nil { - return nil - } - return v.EnableMachineImageVersionUpdates - }).(pulumi.BoolPtrOutput) + }).(SqlserverflexInstanceStorageOutput) } -// Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`. -func (o SkeClusterMaintenancePtrOutput) End() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SkeClusterMaintenance) *string { +// The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): +// `bash +// stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID +// ` +// - `size` (Number) +func (o SqlserverflexInstanceStoragePtrOutput) Class() pulumi.StringPtrOutput { + return o.ApplyT(func(v *SqlserverflexInstanceStorage) *string { if v == nil { return nil } - return v.End + return v.Class }).(pulumi.StringPtrOutput) } -// Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`. -func (o SkeClusterMaintenancePtrOutput) Start() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SkeClusterMaintenance) *string { +func (o SqlserverflexInstanceStoragePtrOutput) Size() pulumi.IntPtrOutput { + return o.ApplyT(func(v *SqlserverflexInstanceStorage) *int { if v == nil { return nil } - return v.Start - }).(pulumi.StringPtrOutput) + return v.Size + }).(pulumi.IntPtrOutput) } -type SkeClusterNetwork struct { - // Control plane for the cluster. - ControlPlane *SkeClusterNetworkControlPlane `pulumi:"controlPlane"` - // ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. - Id *string `pulumi:"id"` +type TelemetryrouterDestinationConfig 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 *TelemetryrouterDestinationConfigFilter `pulumi:"filter"` + // OpenTelemetry configuration + Opentelemetry *TelemetryrouterDestinationConfigOpentelemetry `pulumi:"opentelemetry"` + // S3 configuration + S3 *TelemetryrouterDestinationConfigS3 `pulumi:"s3"` } -// SkeClusterNetworkInput is an input type that accepts SkeClusterNetworkArgs and SkeClusterNetworkOutput values. -// You can construct a concrete instance of `SkeClusterNetworkInput` via: +// TelemetryrouterDestinationConfigInput is an input type that accepts TelemetryrouterDestinationConfigArgs and TelemetryrouterDestinationConfigOutput values. +// You can construct a concrete instance of `TelemetryrouterDestinationConfigInput` via: // -// SkeClusterNetworkArgs{...} -type SkeClusterNetworkInput interface { +// TelemetryrouterDestinationConfigArgs{...} +type TelemetryrouterDestinationConfigInput interface { pulumi.Input - ToSkeClusterNetworkOutput() SkeClusterNetworkOutput - ToSkeClusterNetworkOutputWithContext(context.Context) SkeClusterNetworkOutput + ToTelemetryrouterDestinationConfigOutput() TelemetryrouterDestinationConfigOutput + ToTelemetryrouterDestinationConfigOutputWithContext(context.Context) TelemetryrouterDestinationConfigOutput } -type SkeClusterNetworkArgs struct { - // Control plane for the cluster. - ControlPlane SkeClusterNetworkControlPlanePtrInput `pulumi:"controlPlane"` - // ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. - Id pulumi.StringPtrInput `pulumi:"id"` +type TelemetryrouterDestinationConfigArgs 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 TelemetryrouterDestinationConfigFilterPtrInput `pulumi:"filter"` + // OpenTelemetry configuration + Opentelemetry TelemetryrouterDestinationConfigOpentelemetryPtrInput `pulumi:"opentelemetry"` + // S3 configuration + S3 TelemetryrouterDestinationConfigS3PtrInput `pulumi:"s3"` } -func (SkeClusterNetworkArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterNetwork)(nil)).Elem() +func (TelemetryrouterDestinationConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TelemetryrouterDestinationConfig)(nil)).Elem() } -func (i SkeClusterNetworkArgs) ToSkeClusterNetworkOutput() SkeClusterNetworkOutput { - return i.ToSkeClusterNetworkOutputWithContext(context.Background()) +func (i TelemetryrouterDestinationConfigArgs) ToTelemetryrouterDestinationConfigOutput() TelemetryrouterDestinationConfigOutput { + return i.ToTelemetryrouterDestinationConfigOutputWithContext(context.Background()) } -func (i SkeClusterNetworkArgs) ToSkeClusterNetworkOutputWithContext(ctx context.Context) SkeClusterNetworkOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNetworkOutput) +func (i TelemetryrouterDestinationConfigArgs) ToTelemetryrouterDestinationConfigOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationConfigOutput) } -func (i SkeClusterNetworkArgs) ToSkeClusterNetworkPtrOutput() SkeClusterNetworkPtrOutput { - return i.ToSkeClusterNetworkPtrOutputWithContext(context.Background()) +func (i TelemetryrouterDestinationConfigArgs) ToTelemetryrouterDestinationConfigPtrOutput() TelemetryrouterDestinationConfigPtrOutput { + return i.ToTelemetryrouterDestinationConfigPtrOutputWithContext(context.Background()) } -func (i SkeClusterNetworkArgs) ToSkeClusterNetworkPtrOutputWithContext(ctx context.Context) SkeClusterNetworkPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNetworkOutput).ToSkeClusterNetworkPtrOutputWithContext(ctx) +func (i TelemetryrouterDestinationConfigArgs) ToTelemetryrouterDestinationConfigPtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationConfigOutput).ToTelemetryrouterDestinationConfigPtrOutputWithContext(ctx) } -// SkeClusterNetworkPtrInput is an input type that accepts SkeClusterNetworkArgs, SkeClusterNetworkPtr and SkeClusterNetworkPtrOutput values. -// You can construct a concrete instance of `SkeClusterNetworkPtrInput` via: +// TelemetryrouterDestinationConfigPtrInput is an input type that accepts TelemetryrouterDestinationConfigArgs, TelemetryrouterDestinationConfigPtr and TelemetryrouterDestinationConfigPtrOutput values. +// You can construct a concrete instance of `TelemetryrouterDestinationConfigPtrInput` via: // -// SkeClusterNetworkArgs{...} +// TelemetryrouterDestinationConfigArgs{...} // // or: // // nil -type SkeClusterNetworkPtrInput interface { +type TelemetryrouterDestinationConfigPtrInput interface { pulumi.Input - ToSkeClusterNetworkPtrOutput() SkeClusterNetworkPtrOutput - ToSkeClusterNetworkPtrOutputWithContext(context.Context) SkeClusterNetworkPtrOutput + ToTelemetryrouterDestinationConfigPtrOutput() TelemetryrouterDestinationConfigPtrOutput + ToTelemetryrouterDestinationConfigPtrOutputWithContext(context.Context) TelemetryrouterDestinationConfigPtrOutput } -type skeClusterNetworkPtrType SkeClusterNetworkArgs +type telemetryrouterDestinationConfigPtrType TelemetryrouterDestinationConfigArgs -func SkeClusterNetworkPtr(v *SkeClusterNetworkArgs) SkeClusterNetworkPtrInput { - return (*skeClusterNetworkPtrType)(v) +func TelemetryrouterDestinationConfigPtr(v *TelemetryrouterDestinationConfigArgs) TelemetryrouterDestinationConfigPtrInput { + return (*telemetryrouterDestinationConfigPtrType)(v) } -func (*skeClusterNetworkPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SkeClusterNetwork)(nil)).Elem() +func (*telemetryrouterDestinationConfigPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TelemetryrouterDestinationConfig)(nil)).Elem() } -func (i *skeClusterNetworkPtrType) ToSkeClusterNetworkPtrOutput() SkeClusterNetworkPtrOutput { - return i.ToSkeClusterNetworkPtrOutputWithContext(context.Background()) +func (i *telemetryrouterDestinationConfigPtrType) ToTelemetryrouterDestinationConfigPtrOutput() TelemetryrouterDestinationConfigPtrOutput { + return i.ToTelemetryrouterDestinationConfigPtrOutputWithContext(context.Background()) } -func (i *skeClusterNetworkPtrType) ToSkeClusterNetworkPtrOutputWithContext(ctx context.Context) SkeClusterNetworkPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNetworkPtrOutput) +func (i *telemetryrouterDestinationConfigPtrType) ToTelemetryrouterDestinationConfigPtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationConfigPtrOutput) } -type SkeClusterNetworkOutput struct{ *pulumi.OutputState } +type TelemetryrouterDestinationConfigOutput struct{ *pulumi.OutputState } -func (SkeClusterNetworkOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterNetwork)(nil)).Elem() +func (TelemetryrouterDestinationConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TelemetryrouterDestinationConfig)(nil)).Elem() } -func (o SkeClusterNetworkOutput) ToSkeClusterNetworkOutput() SkeClusterNetworkOutput { +func (o TelemetryrouterDestinationConfigOutput) ToTelemetryrouterDestinationConfigOutput() TelemetryrouterDestinationConfigOutput { return o } -func (o SkeClusterNetworkOutput) ToSkeClusterNetworkOutputWithContext(ctx context.Context) SkeClusterNetworkOutput { +func (o TelemetryrouterDestinationConfigOutput) ToTelemetryrouterDestinationConfigOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigOutput { return o } -func (o SkeClusterNetworkOutput) ToSkeClusterNetworkPtrOutput() SkeClusterNetworkPtrOutput { - return o.ToSkeClusterNetworkPtrOutputWithContext(context.Background()) +func (o TelemetryrouterDestinationConfigOutput) ToTelemetryrouterDestinationConfigPtrOutput() TelemetryrouterDestinationConfigPtrOutput { + return o.ToTelemetryrouterDestinationConfigPtrOutputWithContext(context.Background()) } -func (o SkeClusterNetworkOutput) ToSkeClusterNetworkPtrOutputWithContext(ctx context.Context) SkeClusterNetworkPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SkeClusterNetwork) *SkeClusterNetwork { +func (o TelemetryrouterDestinationConfigOutput) ToTelemetryrouterDestinationConfigPtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TelemetryrouterDestinationConfig) *TelemetryrouterDestinationConfig { return &v - }).(SkeClusterNetworkPtrOutput) + }).(TelemetryrouterDestinationConfigPtrOutput) } -// Control plane for the cluster. -func (o SkeClusterNetworkOutput) ControlPlane() SkeClusterNetworkControlPlanePtrOutput { - return o.ApplyT(func(v SkeClusterNetwork) *SkeClusterNetworkControlPlane { return v.ControlPlane }).(SkeClusterNetworkControlPlanePtrOutput) +// The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. +func (o TelemetryrouterDestinationConfigOutput) ConfigType() pulumi.StringOutput { + return o.ApplyT(func(v TelemetryrouterDestinationConfig) string { return v.ConfigType }).(pulumi.StringOutput) } -// ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. -func (o SkeClusterNetworkOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v SkeClusterNetwork) *string { return v.Id }).(pulumi.StringPtrOutput) +// The TelemetryRouter destination's filter settings +func (o TelemetryrouterDestinationConfigOutput) Filter() TelemetryrouterDestinationConfigFilterPtrOutput { + return o.ApplyT(func(v TelemetryrouterDestinationConfig) *TelemetryrouterDestinationConfigFilter { return v.Filter }).(TelemetryrouterDestinationConfigFilterPtrOutput) } -type SkeClusterNetworkPtrOutput struct{ *pulumi.OutputState } +// OpenTelemetry configuration +func (o TelemetryrouterDestinationConfigOutput) Opentelemetry() TelemetryrouterDestinationConfigOpentelemetryPtrOutput { + return o.ApplyT(func(v TelemetryrouterDestinationConfig) *TelemetryrouterDestinationConfigOpentelemetry { + return v.Opentelemetry + }).(TelemetryrouterDestinationConfigOpentelemetryPtrOutput) +} -func (SkeClusterNetworkPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SkeClusterNetwork)(nil)).Elem() +// S3 configuration +func (o TelemetryrouterDestinationConfigOutput) S3() TelemetryrouterDestinationConfigS3PtrOutput { + return o.ApplyT(func(v TelemetryrouterDestinationConfig) *TelemetryrouterDestinationConfigS3 { return v.S3 }).(TelemetryrouterDestinationConfigS3PtrOutput) } -func (o SkeClusterNetworkPtrOutput) ToSkeClusterNetworkPtrOutput() SkeClusterNetworkPtrOutput { +type TelemetryrouterDestinationConfigPtrOutput struct{ *pulumi.OutputState } + +func (TelemetryrouterDestinationConfigPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TelemetryrouterDestinationConfig)(nil)).Elem() +} + +func (o TelemetryrouterDestinationConfigPtrOutput) ToTelemetryrouterDestinationConfigPtrOutput() TelemetryrouterDestinationConfigPtrOutput { return o } -func (o SkeClusterNetworkPtrOutput) ToSkeClusterNetworkPtrOutputWithContext(ctx context.Context) SkeClusterNetworkPtrOutput { +func (o TelemetryrouterDestinationConfigPtrOutput) ToTelemetryrouterDestinationConfigPtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigPtrOutput { return o } -func (o SkeClusterNetworkPtrOutput) Elem() SkeClusterNetworkOutput { - return o.ApplyT(func(v *SkeClusterNetwork) SkeClusterNetwork { +func (o TelemetryrouterDestinationConfigPtrOutput) Elem() TelemetryrouterDestinationConfigOutput { + return o.ApplyT(func(v *TelemetryrouterDestinationConfig) TelemetryrouterDestinationConfig { if v != nil { return *v } - var ret SkeClusterNetwork + var ret TelemetryrouterDestinationConfig return ret - }).(SkeClusterNetworkOutput) + }).(TelemetryrouterDestinationConfigOutput) } -// Control plane for the cluster. -func (o SkeClusterNetworkPtrOutput) ControlPlane() SkeClusterNetworkControlPlanePtrOutput { - return o.ApplyT(func(v *SkeClusterNetwork) *SkeClusterNetworkControlPlane { +// The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. +func (o TelemetryrouterDestinationConfigPtrOutput) ConfigType() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TelemetryrouterDestinationConfig) *string { if v == nil { return nil } - return v.ControlPlane - }).(SkeClusterNetworkControlPlanePtrOutput) + return &v.ConfigType + }).(pulumi.StringPtrOutput) } -// ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. -func (o SkeClusterNetworkPtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SkeClusterNetwork) *string { +// The TelemetryRouter destination's filter settings +func (o TelemetryrouterDestinationConfigPtrOutput) Filter() TelemetryrouterDestinationConfigFilterPtrOutput { + return o.ApplyT(func(v *TelemetryrouterDestinationConfig) *TelemetryrouterDestinationConfigFilter { if v == nil { return nil } - return v.Id - }).(pulumi.StringPtrOutput) + return v.Filter + }).(TelemetryrouterDestinationConfigFilterPtrOutput) } -type SkeClusterNetworkControlPlane 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"` +// OpenTelemetry configuration +func (o TelemetryrouterDestinationConfigPtrOutput) Opentelemetry() TelemetryrouterDestinationConfigOpentelemetryPtrOutput { + return o.ApplyT(func(v *TelemetryrouterDestinationConfig) *TelemetryrouterDestinationConfigOpentelemetry { + if v == nil { + return nil + } + return v.Opentelemetry + }).(TelemetryrouterDestinationConfigOpentelemetryPtrOutput) } -// SkeClusterNetworkControlPlaneInput is an input type that accepts SkeClusterNetworkControlPlaneArgs and SkeClusterNetworkControlPlaneOutput values. -// You can construct a concrete instance of `SkeClusterNetworkControlPlaneInput` via: +// S3 configuration +func (o TelemetryrouterDestinationConfigPtrOutput) S3() TelemetryrouterDestinationConfigS3PtrOutput { + return o.ApplyT(func(v *TelemetryrouterDestinationConfig) *TelemetryrouterDestinationConfigS3 { + if v == nil { + return nil + } + return v.S3 + }).(TelemetryrouterDestinationConfigS3PtrOutput) +} + +type TelemetryrouterDestinationConfigFilter struct { + // The TelemetryRouter destination's filter attributes + Attributes []TelemetryrouterDestinationConfigFilterAttribute `pulumi:"attributes"` +} + +// TelemetryrouterDestinationConfigFilterInput is an input type that accepts TelemetryrouterDestinationConfigFilterArgs and TelemetryrouterDestinationConfigFilterOutput values. +// You can construct a concrete instance of `TelemetryrouterDestinationConfigFilterInput` via: // -// SkeClusterNetworkControlPlaneArgs{...} -type SkeClusterNetworkControlPlaneInput interface { +// TelemetryrouterDestinationConfigFilterArgs{...} +type TelemetryrouterDestinationConfigFilterInput interface { pulumi.Input - ToSkeClusterNetworkControlPlaneOutput() SkeClusterNetworkControlPlaneOutput - ToSkeClusterNetworkControlPlaneOutputWithContext(context.Context) SkeClusterNetworkControlPlaneOutput + ToTelemetryrouterDestinationConfigFilterOutput() TelemetryrouterDestinationConfigFilterOutput + ToTelemetryrouterDestinationConfigFilterOutputWithContext(context.Context) TelemetryrouterDestinationConfigFilterOutput } -type SkeClusterNetworkControlPlaneArgs 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.StringPtrInput `pulumi:"accessScope"` +type TelemetryrouterDestinationConfigFilterArgs struct { + // The TelemetryRouter destination's filter attributes + Attributes TelemetryrouterDestinationConfigFilterAttributeArrayInput `pulumi:"attributes"` } -func (SkeClusterNetworkControlPlaneArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterNetworkControlPlane)(nil)).Elem() +func (TelemetryrouterDestinationConfigFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TelemetryrouterDestinationConfigFilter)(nil)).Elem() } -func (i SkeClusterNetworkControlPlaneArgs) ToSkeClusterNetworkControlPlaneOutput() SkeClusterNetworkControlPlaneOutput { - return i.ToSkeClusterNetworkControlPlaneOutputWithContext(context.Background()) +func (i TelemetryrouterDestinationConfigFilterArgs) ToTelemetryrouterDestinationConfigFilterOutput() TelemetryrouterDestinationConfigFilterOutput { + return i.ToTelemetryrouterDestinationConfigFilterOutputWithContext(context.Background()) } -func (i SkeClusterNetworkControlPlaneArgs) ToSkeClusterNetworkControlPlaneOutputWithContext(ctx context.Context) SkeClusterNetworkControlPlaneOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNetworkControlPlaneOutput) +func (i TelemetryrouterDestinationConfigFilterArgs) ToTelemetryrouterDestinationConfigFilterOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationConfigFilterOutput) } -func (i SkeClusterNetworkControlPlaneArgs) ToSkeClusterNetworkControlPlanePtrOutput() SkeClusterNetworkControlPlanePtrOutput { - return i.ToSkeClusterNetworkControlPlanePtrOutputWithContext(context.Background()) +func (i TelemetryrouterDestinationConfigFilterArgs) ToTelemetryrouterDestinationConfigFilterPtrOutput() TelemetryrouterDestinationConfigFilterPtrOutput { + return i.ToTelemetryrouterDestinationConfigFilterPtrOutputWithContext(context.Background()) } -func (i SkeClusterNetworkControlPlaneArgs) ToSkeClusterNetworkControlPlanePtrOutputWithContext(ctx context.Context) SkeClusterNetworkControlPlanePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNetworkControlPlaneOutput).ToSkeClusterNetworkControlPlanePtrOutputWithContext(ctx) +func (i TelemetryrouterDestinationConfigFilterArgs) ToTelemetryrouterDestinationConfigFilterPtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigFilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationConfigFilterOutput).ToTelemetryrouterDestinationConfigFilterPtrOutputWithContext(ctx) } -// SkeClusterNetworkControlPlanePtrInput is an input type that accepts SkeClusterNetworkControlPlaneArgs, SkeClusterNetworkControlPlanePtr and SkeClusterNetworkControlPlanePtrOutput values. -// You can construct a concrete instance of `SkeClusterNetworkControlPlanePtrInput` via: +// TelemetryrouterDestinationConfigFilterPtrInput is an input type that accepts TelemetryrouterDestinationConfigFilterArgs, TelemetryrouterDestinationConfigFilterPtr and TelemetryrouterDestinationConfigFilterPtrOutput values. +// You can construct a concrete instance of `TelemetryrouterDestinationConfigFilterPtrInput` via: // -// SkeClusterNetworkControlPlaneArgs{...} +// TelemetryrouterDestinationConfigFilterArgs{...} // // or: // // nil -type SkeClusterNetworkControlPlanePtrInput interface { +type TelemetryrouterDestinationConfigFilterPtrInput interface { pulumi.Input - ToSkeClusterNetworkControlPlanePtrOutput() SkeClusterNetworkControlPlanePtrOutput - ToSkeClusterNetworkControlPlanePtrOutputWithContext(context.Context) SkeClusterNetworkControlPlanePtrOutput + ToTelemetryrouterDestinationConfigFilterPtrOutput() TelemetryrouterDestinationConfigFilterPtrOutput + ToTelemetryrouterDestinationConfigFilterPtrOutputWithContext(context.Context) TelemetryrouterDestinationConfigFilterPtrOutput } -type skeClusterNetworkControlPlanePtrType SkeClusterNetworkControlPlaneArgs +type telemetryrouterDestinationConfigFilterPtrType TelemetryrouterDestinationConfigFilterArgs -func SkeClusterNetworkControlPlanePtr(v *SkeClusterNetworkControlPlaneArgs) SkeClusterNetworkControlPlanePtrInput { - return (*skeClusterNetworkControlPlanePtrType)(v) +func TelemetryrouterDestinationConfigFilterPtr(v *TelemetryrouterDestinationConfigFilterArgs) TelemetryrouterDestinationConfigFilterPtrInput { + return (*telemetryrouterDestinationConfigFilterPtrType)(v) } -func (*skeClusterNetworkControlPlanePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SkeClusterNetworkControlPlane)(nil)).Elem() +func (*telemetryrouterDestinationConfigFilterPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TelemetryrouterDestinationConfigFilter)(nil)).Elem() } -func (i *skeClusterNetworkControlPlanePtrType) ToSkeClusterNetworkControlPlanePtrOutput() SkeClusterNetworkControlPlanePtrOutput { - return i.ToSkeClusterNetworkControlPlanePtrOutputWithContext(context.Background()) +func (i *telemetryrouterDestinationConfigFilterPtrType) ToTelemetryrouterDestinationConfigFilterPtrOutput() TelemetryrouterDestinationConfigFilterPtrOutput { + return i.ToTelemetryrouterDestinationConfigFilterPtrOutputWithContext(context.Background()) } -func (i *skeClusterNetworkControlPlanePtrType) ToSkeClusterNetworkControlPlanePtrOutputWithContext(ctx context.Context) SkeClusterNetworkControlPlanePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNetworkControlPlanePtrOutput) +func (i *telemetryrouterDestinationConfigFilterPtrType) ToTelemetryrouterDestinationConfigFilterPtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigFilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationConfigFilterPtrOutput) } -type SkeClusterNetworkControlPlaneOutput struct{ *pulumi.OutputState } +type TelemetryrouterDestinationConfigFilterOutput struct{ *pulumi.OutputState } -func (SkeClusterNetworkControlPlaneOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterNetworkControlPlane)(nil)).Elem() +func (TelemetryrouterDestinationConfigFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TelemetryrouterDestinationConfigFilter)(nil)).Elem() } -func (o SkeClusterNetworkControlPlaneOutput) ToSkeClusterNetworkControlPlaneOutput() SkeClusterNetworkControlPlaneOutput { +func (o TelemetryrouterDestinationConfigFilterOutput) ToTelemetryrouterDestinationConfigFilterOutput() TelemetryrouterDestinationConfigFilterOutput { return o } -func (o SkeClusterNetworkControlPlaneOutput) ToSkeClusterNetworkControlPlaneOutputWithContext(ctx context.Context) SkeClusterNetworkControlPlaneOutput { +func (o TelemetryrouterDestinationConfigFilterOutput) ToTelemetryrouterDestinationConfigFilterOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigFilterOutput { return o } -func (o SkeClusterNetworkControlPlaneOutput) ToSkeClusterNetworkControlPlanePtrOutput() SkeClusterNetworkControlPlanePtrOutput { - return o.ToSkeClusterNetworkControlPlanePtrOutputWithContext(context.Background()) +func (o TelemetryrouterDestinationConfigFilterOutput) ToTelemetryrouterDestinationConfigFilterPtrOutput() TelemetryrouterDestinationConfigFilterPtrOutput { + return o.ToTelemetryrouterDestinationConfigFilterPtrOutputWithContext(context.Background()) } -func (o SkeClusterNetworkControlPlaneOutput) ToSkeClusterNetworkControlPlanePtrOutputWithContext(ctx context.Context) SkeClusterNetworkControlPlanePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SkeClusterNetworkControlPlane) *SkeClusterNetworkControlPlane { +func (o TelemetryrouterDestinationConfigFilterOutput) ToTelemetryrouterDestinationConfigFilterPtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigFilterPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TelemetryrouterDestinationConfigFilter) *TelemetryrouterDestinationConfigFilter { return &v - }).(SkeClusterNetworkControlPlanePtrOutput) + }).(TelemetryrouterDestinationConfigFilterPtrOutput) } -// 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 SkeClusterNetworkControlPlaneOutput) AccessScope() pulumi.StringPtrOutput { - return o.ApplyT(func(v SkeClusterNetworkControlPlane) *string { return v.AccessScope }).(pulumi.StringPtrOutput) +// The TelemetryRouter destination's filter attributes +func (o TelemetryrouterDestinationConfigFilterOutput) Attributes() TelemetryrouterDestinationConfigFilterAttributeArrayOutput { + return o.ApplyT(func(v TelemetryrouterDestinationConfigFilter) []TelemetryrouterDestinationConfigFilterAttribute { + return v.Attributes + }).(TelemetryrouterDestinationConfigFilterAttributeArrayOutput) } -type SkeClusterNetworkControlPlanePtrOutput struct{ *pulumi.OutputState } +type TelemetryrouterDestinationConfigFilterPtrOutput struct{ *pulumi.OutputState } -func (SkeClusterNetworkControlPlanePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SkeClusterNetworkControlPlane)(nil)).Elem() +func (TelemetryrouterDestinationConfigFilterPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TelemetryrouterDestinationConfigFilter)(nil)).Elem() } -func (o SkeClusterNetworkControlPlanePtrOutput) ToSkeClusterNetworkControlPlanePtrOutput() SkeClusterNetworkControlPlanePtrOutput { +func (o TelemetryrouterDestinationConfigFilterPtrOutput) ToTelemetryrouterDestinationConfigFilterPtrOutput() TelemetryrouterDestinationConfigFilterPtrOutput { return o } -func (o SkeClusterNetworkControlPlanePtrOutput) ToSkeClusterNetworkControlPlanePtrOutputWithContext(ctx context.Context) SkeClusterNetworkControlPlanePtrOutput { +func (o TelemetryrouterDestinationConfigFilterPtrOutput) ToTelemetryrouterDestinationConfigFilterPtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigFilterPtrOutput { return o } -func (o SkeClusterNetworkControlPlanePtrOutput) Elem() SkeClusterNetworkControlPlaneOutput { - return o.ApplyT(func(v *SkeClusterNetworkControlPlane) SkeClusterNetworkControlPlane { +func (o TelemetryrouterDestinationConfigFilterPtrOutput) Elem() TelemetryrouterDestinationConfigFilterOutput { + return o.ApplyT(func(v *TelemetryrouterDestinationConfigFilter) TelemetryrouterDestinationConfigFilter { if v != nil { return *v } - var ret SkeClusterNetworkControlPlane + var ret TelemetryrouterDestinationConfigFilter return ret - }).(SkeClusterNetworkControlPlaneOutput) + }).(TelemetryrouterDestinationConfigFilterOutput) } -// 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 SkeClusterNetworkControlPlanePtrOutput) AccessScope() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SkeClusterNetworkControlPlane) *string { +// The TelemetryRouter destination's filter attributes +func (o TelemetryrouterDestinationConfigFilterPtrOutput) Attributes() TelemetryrouterDestinationConfigFilterAttributeArrayOutput { + return o.ApplyT(func(v *TelemetryrouterDestinationConfigFilter) []TelemetryrouterDestinationConfigFilterAttribute { if v == nil { return nil } - return v.AccessScope - }).(pulumi.StringPtrOutput) -} - -type SkeClusterNodePool struct { - // Allow system components to run on this node pool. - AllowSystemComponents *bool `pulumi:"allowSystemComponents"` - // Specify a list of availability zones. E.g. `eu01-m` - AvailabilityZones []string `pulumi:"availabilityZones"` - // Specifies the container runtime. Defaults to `containerd` - Cri *string `pulumi:"cri"` - // Labels to add to each node. - Labels map[string]string `pulumi:"labels"` - // The machine type. - MachineType string `pulumi:"machineType"` - // Maximum number of additional VMs that are created during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `maxSurge` and `maxUnavailable` fields cannot both be unset at the same time. - MaxSurge *int `pulumi:"maxSurge"` - // Maximum number of VMs that that can be unavailable during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `maxSurge` and `maxUnavailable` fields cannot both be unset at the same time. - 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. Defaults to `flatcar`. - OsName *string `pulumi:"osName"` - // This field is deprecated, use `osVersionMin` to configure the version and `osVersionUsed` to get the currently used version instead. - // - // Deprecated: Use `osVersionMin` to configure the version and `osVersionUsed` to get the currently used version instead. Setting a specific OS image version will cause errors during minor OS upgrades due to forced updates. - OsVersion *string `pulumi:"osVersion"` - // The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [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 []SkeClusterNodePoolTaint `pulumi:"taints"` - // The volume size in GB. Defaults to `20` - VolumeSize *int `pulumi:"volumeSize"` - // Specifies the volume type. Defaults to `storagePremiumPerf1`. - VolumeType *string `pulumi:"volumeType"` -} - -// SkeClusterNodePoolInput is an input type that accepts SkeClusterNodePoolArgs and SkeClusterNodePoolOutput values. -// You can construct a concrete instance of `SkeClusterNodePoolInput` via: -// -// SkeClusterNodePoolArgs{...} -type SkeClusterNodePoolInput interface { - pulumi.Input - - ToSkeClusterNodePoolOutput() SkeClusterNodePoolOutput - ToSkeClusterNodePoolOutputWithContext(context.Context) SkeClusterNodePoolOutput + return v.Attributes + }).(TelemetryrouterDestinationConfigFilterAttributeArrayOutput) } -type SkeClusterNodePoolArgs struct { - // Allow system components to run on this node pool. - AllowSystemComponents pulumi.BoolPtrInput `pulumi:"allowSystemComponents"` - // Specify a list of availability zones. E.g. `eu01-m` - AvailabilityZones pulumi.StringArrayInput `pulumi:"availabilityZones"` - // Specifies the container runtime. Defaults to `containerd` - Cri pulumi.StringPtrInput `pulumi:"cri"` - // Labels to add to each node. - Labels pulumi.StringMapInput `pulumi:"labels"` - // The machine type. - MachineType pulumi.StringInput `pulumi:"machineType"` - // Maximum number of additional VMs that are created during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `maxSurge` and `maxUnavailable` fields cannot both be unset at the same time. - MaxSurge pulumi.IntPtrInput `pulumi:"maxSurge"` - // Maximum number of VMs that that can be unavailable during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `maxSurge` and `maxUnavailable` fields cannot both be unset at the same time. - MaxUnavailable pulumi.IntPtrInput `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. Defaults to `flatcar`. - OsName pulumi.StringPtrInput `pulumi:"osName"` - // This field is deprecated, use `osVersionMin` to configure the version and `osVersionUsed` to get the currently used version instead. - // - // Deprecated: Use `osVersionMin` to configure the version and `osVersionUsed` to get the currently used version instead. Setting a specific OS image version will cause errors during minor OS upgrades due to forced updates. - OsVersion pulumi.StringPtrInput `pulumi:"osVersion"` - // The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. - OsVersionMin pulumi.StringPtrInput `pulumi:"osVersionMin"` - // Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). - OsVersionUsed pulumi.StringPtrInput `pulumi:"osVersionUsed"` - // Specifies a taint list as defined below. - Taints SkeClusterNodePoolTaintArrayInput `pulumi:"taints"` - // The volume size in GB. Defaults to `20` - VolumeSize pulumi.IntPtrInput `pulumi:"volumeSize"` - // Specifies the volume type. Defaults to `storagePremiumPerf1`. - VolumeType pulumi.StringPtrInput `pulumi:"volumeType"` +type TelemetryrouterDestinationConfigFilterAttribute 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"` } -func (SkeClusterNodePoolArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterNodePool)(nil)).Elem() +// TelemetryrouterDestinationConfigFilterAttributeInput is an input type that accepts TelemetryrouterDestinationConfigFilterAttributeArgs and TelemetryrouterDestinationConfigFilterAttributeOutput values. +// You can construct a concrete instance of `TelemetryrouterDestinationConfigFilterAttributeInput` via: +// +// TelemetryrouterDestinationConfigFilterAttributeArgs{...} +type TelemetryrouterDestinationConfigFilterAttributeInput interface { + pulumi.Input + + ToTelemetryrouterDestinationConfigFilterAttributeOutput() TelemetryrouterDestinationConfigFilterAttributeOutput + ToTelemetryrouterDestinationConfigFilterAttributeOutputWithContext(context.Context) TelemetryrouterDestinationConfigFilterAttributeOutput } -func (i SkeClusterNodePoolArgs) ToSkeClusterNodePoolOutput() SkeClusterNodePoolOutput { - return i.ToSkeClusterNodePoolOutputWithContext(context.Background()) +type TelemetryrouterDestinationConfigFilterAttributeArgs 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 (i SkeClusterNodePoolArgs) ToSkeClusterNodePoolOutputWithContext(ctx context.Context) SkeClusterNodePoolOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNodePoolOutput) +func (TelemetryrouterDestinationConfigFilterAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TelemetryrouterDestinationConfigFilterAttribute)(nil)).Elem() } -// SkeClusterNodePoolArrayInput is an input type that accepts SkeClusterNodePoolArray and SkeClusterNodePoolArrayOutput values. -// You can construct a concrete instance of `SkeClusterNodePoolArrayInput` via: +func (i TelemetryrouterDestinationConfigFilterAttributeArgs) ToTelemetryrouterDestinationConfigFilterAttributeOutput() TelemetryrouterDestinationConfigFilterAttributeOutput { + return i.ToTelemetryrouterDestinationConfigFilterAttributeOutputWithContext(context.Background()) +} + +func (i TelemetryrouterDestinationConfigFilterAttributeArgs) ToTelemetryrouterDestinationConfigFilterAttributeOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigFilterAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationConfigFilterAttributeOutput) +} + +// TelemetryrouterDestinationConfigFilterAttributeArrayInput is an input type that accepts TelemetryrouterDestinationConfigFilterAttributeArray and TelemetryrouterDestinationConfigFilterAttributeArrayOutput values. +// You can construct a concrete instance of `TelemetryrouterDestinationConfigFilterAttributeArrayInput` via: // -// SkeClusterNodePoolArray{ SkeClusterNodePoolArgs{...} } -type SkeClusterNodePoolArrayInput interface { +// TelemetryrouterDestinationConfigFilterAttributeArray{ TelemetryrouterDestinationConfigFilterAttributeArgs{...} } +type TelemetryrouterDestinationConfigFilterAttributeArrayInput interface { pulumi.Input - ToSkeClusterNodePoolArrayOutput() SkeClusterNodePoolArrayOutput - ToSkeClusterNodePoolArrayOutputWithContext(context.Context) SkeClusterNodePoolArrayOutput + ToTelemetryrouterDestinationConfigFilterAttributeArrayOutput() TelemetryrouterDestinationConfigFilterAttributeArrayOutput + ToTelemetryrouterDestinationConfigFilterAttributeArrayOutputWithContext(context.Context) TelemetryrouterDestinationConfigFilterAttributeArrayOutput } -type SkeClusterNodePoolArray []SkeClusterNodePoolInput +type TelemetryrouterDestinationConfigFilterAttributeArray []TelemetryrouterDestinationConfigFilterAttributeInput -func (SkeClusterNodePoolArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SkeClusterNodePool)(nil)).Elem() +func (TelemetryrouterDestinationConfigFilterAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]TelemetryrouterDestinationConfigFilterAttribute)(nil)).Elem() } -func (i SkeClusterNodePoolArray) ToSkeClusterNodePoolArrayOutput() SkeClusterNodePoolArrayOutput { - return i.ToSkeClusterNodePoolArrayOutputWithContext(context.Background()) +func (i TelemetryrouterDestinationConfigFilterAttributeArray) ToTelemetryrouterDestinationConfigFilterAttributeArrayOutput() TelemetryrouterDestinationConfigFilterAttributeArrayOutput { + return i.ToTelemetryrouterDestinationConfigFilterAttributeArrayOutputWithContext(context.Background()) } -func (i SkeClusterNodePoolArray) ToSkeClusterNodePoolArrayOutputWithContext(ctx context.Context) SkeClusterNodePoolArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNodePoolArrayOutput) +func (i TelemetryrouterDestinationConfigFilterAttributeArray) ToTelemetryrouterDestinationConfigFilterAttributeArrayOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigFilterAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationConfigFilterAttributeArrayOutput) } -type SkeClusterNodePoolOutput struct{ *pulumi.OutputState } +type TelemetryrouterDestinationConfigFilterAttributeOutput struct{ *pulumi.OutputState } -func (SkeClusterNodePoolOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterNodePool)(nil)).Elem() +func (TelemetryrouterDestinationConfigFilterAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TelemetryrouterDestinationConfigFilterAttribute)(nil)).Elem() } -func (o SkeClusterNodePoolOutput) ToSkeClusterNodePoolOutput() SkeClusterNodePoolOutput { +func (o TelemetryrouterDestinationConfigFilterAttributeOutput) ToTelemetryrouterDestinationConfigFilterAttributeOutput() TelemetryrouterDestinationConfigFilterAttributeOutput { return o } -func (o SkeClusterNodePoolOutput) ToSkeClusterNodePoolOutputWithContext(ctx context.Context) SkeClusterNodePoolOutput { +func (o TelemetryrouterDestinationConfigFilterAttributeOutput) ToTelemetryrouterDestinationConfigFilterAttributeOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigFilterAttributeOutput { return o } -// Allow system components to run on this node pool. -func (o SkeClusterNodePoolOutput) AllowSystemComponents() pulumi.BoolPtrOutput { - return o.ApplyT(func(v SkeClusterNodePool) *bool { return v.AllowSystemComponents }).(pulumi.BoolPtrOutput) +// The TelemetryRouter destination's filter attribute key +func (o TelemetryrouterDestinationConfigFilterAttributeOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v TelemetryrouterDestinationConfigFilterAttribute) string { return v.Key }).(pulumi.StringOutput) } -// Specify a list of availability zones. E.g. `eu01-m` -func (o SkeClusterNodePoolOutput) AvailabilityZones() pulumi.StringArrayOutput { - return o.ApplyT(func(v SkeClusterNodePool) []string { return v.AvailabilityZones }).(pulumi.StringArrayOutput) +// The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. +func (o TelemetryrouterDestinationConfigFilterAttributeOutput) Level() pulumi.StringOutput { + return o.ApplyT(func(v TelemetryrouterDestinationConfigFilterAttribute) string { return v.Level }).(pulumi.StringOutput) } -// Specifies the container runtime. Defaults to `containerd` -func (o SkeClusterNodePoolOutput) Cri() pulumi.StringPtrOutput { - return o.ApplyT(func(v SkeClusterNodePool) *string { return v.Cri }).(pulumi.StringPtrOutput) +// The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. +func (o TelemetryrouterDestinationConfigFilterAttributeOutput) Matcher() pulumi.StringOutput { + return o.ApplyT(func(v TelemetryrouterDestinationConfigFilterAttribute) string { return v.Matcher }).(pulumi.StringOutput) } -// Labels to add to each node. -func (o SkeClusterNodePoolOutput) Labels() pulumi.StringMapOutput { - return o.ApplyT(func(v SkeClusterNodePool) map[string]string { return v.Labels }).(pulumi.StringMapOutput) +// The TelemetryRouter destination's filter attribute values +func (o TelemetryrouterDestinationConfigFilterAttributeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v TelemetryrouterDestinationConfigFilterAttribute) []string { return v.Values }).(pulumi.StringArrayOutput) } -// The machine type. -func (o SkeClusterNodePoolOutput) MachineType() pulumi.StringOutput { - return o.ApplyT(func(v SkeClusterNodePool) string { return v.MachineType }).(pulumi.StringOutput) +type TelemetryrouterDestinationConfigFilterAttributeArrayOutput struct{ *pulumi.OutputState } + +func (TelemetryrouterDestinationConfigFilterAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]TelemetryrouterDestinationConfigFilterAttribute)(nil)).Elem() } -// Maximum number of additional VMs that are created during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `maxSurge` and `maxUnavailable` fields cannot both be unset at the same time. -func (o SkeClusterNodePoolOutput) MaxSurge() pulumi.IntPtrOutput { - return o.ApplyT(func(v SkeClusterNodePool) *int { return v.MaxSurge }).(pulumi.IntPtrOutput) +func (o TelemetryrouterDestinationConfigFilterAttributeArrayOutput) ToTelemetryrouterDestinationConfigFilterAttributeArrayOutput() TelemetryrouterDestinationConfigFilterAttributeArrayOutput { + return o } -// Maximum number of VMs that that can be unavailable during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `maxSurge` and `maxUnavailable` fields cannot both be unset at the same time. -func (o SkeClusterNodePoolOutput) MaxUnavailable() pulumi.IntPtrOutput { - return o.ApplyT(func(v SkeClusterNodePool) *int { return v.MaxUnavailable }).(pulumi.IntPtrOutput) +func (o TelemetryrouterDestinationConfigFilterAttributeArrayOutput) ToTelemetryrouterDestinationConfigFilterAttributeArrayOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigFilterAttributeArrayOutput { + return o } -// Maximum number of nodes in the pool. -func (o SkeClusterNodePoolOutput) Maximum() pulumi.IntOutput { - return o.ApplyT(func(v SkeClusterNodePool) int { return v.Maximum }).(pulumi.IntOutput) +func (o TelemetryrouterDestinationConfigFilterAttributeArrayOutput) Index(i pulumi.IntInput) TelemetryrouterDestinationConfigFilterAttributeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) TelemetryrouterDestinationConfigFilterAttribute { + return vs[0].([]TelemetryrouterDestinationConfigFilterAttribute)[vs[1].(int)] + }).(TelemetryrouterDestinationConfigFilterAttributeOutput) } -// Minimum number of nodes in the pool. -func (o SkeClusterNodePoolOutput) Minimum() pulumi.IntOutput { - return o.ApplyT(func(v SkeClusterNodePool) int { return v.Minimum }).(pulumi.IntOutput) +type TelemetryrouterDestinationConfigOpentelemetry struct { + // OpenTelemetry basic auth configuration + BasicAuth *TelemetryrouterDestinationConfigOpentelemetryBasicAuth `pulumi:"basicAuth"` + // OpenTelemetry bearer token + BearerToken *string `pulumi:"bearerToken"` + // OpenTelemetry destination URI + Uri string `pulumi:"uri"` } -// Specifies the name of the node pool. -func (o SkeClusterNodePoolOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v SkeClusterNodePool) string { return v.Name }).(pulumi.StringOutput) +// TelemetryrouterDestinationConfigOpentelemetryInput is an input type that accepts TelemetryrouterDestinationConfigOpentelemetryArgs and TelemetryrouterDestinationConfigOpentelemetryOutput values. +// You can construct a concrete instance of `TelemetryrouterDestinationConfigOpentelemetryInput` via: +// +// TelemetryrouterDestinationConfigOpentelemetryArgs{...} +type TelemetryrouterDestinationConfigOpentelemetryInput interface { + pulumi.Input + + ToTelemetryrouterDestinationConfigOpentelemetryOutput() TelemetryrouterDestinationConfigOpentelemetryOutput + ToTelemetryrouterDestinationConfigOpentelemetryOutputWithContext(context.Context) TelemetryrouterDestinationConfigOpentelemetryOutput } -// The name of the OS image. Defaults to `flatcar`. -func (o SkeClusterNodePoolOutput) OsName() pulumi.StringPtrOutput { - return o.ApplyT(func(v SkeClusterNodePool) *string { return v.OsName }).(pulumi.StringPtrOutput) +type TelemetryrouterDestinationConfigOpentelemetryArgs struct { + // OpenTelemetry basic auth configuration + BasicAuth TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrInput `pulumi:"basicAuth"` + // OpenTelemetry bearer token + BearerToken pulumi.StringPtrInput `pulumi:"bearerToken"` + // OpenTelemetry destination URI + Uri pulumi.StringInput `pulumi:"uri"` } -// This field is deprecated, use `osVersionMin` to configure the version and `osVersionUsed` to get the currently used version instead. +func (TelemetryrouterDestinationConfigOpentelemetryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TelemetryrouterDestinationConfigOpentelemetry)(nil)).Elem() +} + +func (i TelemetryrouterDestinationConfigOpentelemetryArgs) ToTelemetryrouterDestinationConfigOpentelemetryOutput() TelemetryrouterDestinationConfigOpentelemetryOutput { + return i.ToTelemetryrouterDestinationConfigOpentelemetryOutputWithContext(context.Background()) +} + +func (i TelemetryrouterDestinationConfigOpentelemetryArgs) ToTelemetryrouterDestinationConfigOpentelemetryOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigOpentelemetryOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationConfigOpentelemetryOutput) +} + +func (i TelemetryrouterDestinationConfigOpentelemetryArgs) ToTelemetryrouterDestinationConfigOpentelemetryPtrOutput() TelemetryrouterDestinationConfigOpentelemetryPtrOutput { + return i.ToTelemetryrouterDestinationConfigOpentelemetryPtrOutputWithContext(context.Background()) +} + +func (i TelemetryrouterDestinationConfigOpentelemetryArgs) ToTelemetryrouterDestinationConfigOpentelemetryPtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigOpentelemetryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationConfigOpentelemetryOutput).ToTelemetryrouterDestinationConfigOpentelemetryPtrOutputWithContext(ctx) +} + +// TelemetryrouterDestinationConfigOpentelemetryPtrInput is an input type that accepts TelemetryrouterDestinationConfigOpentelemetryArgs, TelemetryrouterDestinationConfigOpentelemetryPtr and TelemetryrouterDestinationConfigOpentelemetryPtrOutput values. +// You can construct a concrete instance of `TelemetryrouterDestinationConfigOpentelemetryPtrInput` via: // -// Deprecated: Use `osVersionMin` to configure the version and `osVersionUsed` to get the currently used version instead. Setting a specific OS image version will cause errors during minor OS upgrades due to forced updates. -func (o SkeClusterNodePoolOutput) OsVersion() pulumi.StringPtrOutput { - return o.ApplyT(func(v SkeClusterNodePool) *string { return v.OsVersion }).(pulumi.StringPtrOutput) +// TelemetryrouterDestinationConfigOpentelemetryArgs{...} +// +// or: +// +// nil +type TelemetryrouterDestinationConfigOpentelemetryPtrInput interface { + pulumi.Input + + ToTelemetryrouterDestinationConfigOpentelemetryPtrOutput() TelemetryrouterDestinationConfigOpentelemetryPtrOutput + ToTelemetryrouterDestinationConfigOpentelemetryPtrOutputWithContext(context.Context) TelemetryrouterDestinationConfigOpentelemetryPtrOutput } -// The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `osVersionUsed` field. -func (o SkeClusterNodePoolOutput) OsVersionMin() pulumi.StringPtrOutput { - return o.ApplyT(func(v SkeClusterNodePool) *string { return v.OsVersionMin }).(pulumi.StringPtrOutput) +type telemetryrouterDestinationConfigOpentelemetryPtrType TelemetryrouterDestinationConfigOpentelemetryArgs + +func TelemetryrouterDestinationConfigOpentelemetryPtr(v *TelemetryrouterDestinationConfigOpentelemetryArgs) TelemetryrouterDestinationConfigOpentelemetryPtrInput { + return (*telemetryrouterDestinationConfigOpentelemetryPtrType)(v) } -// Full OS image version used. For example, if 3815.2 was set in `osVersionMin`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). -func (o SkeClusterNodePoolOutput) OsVersionUsed() pulumi.StringPtrOutput { - return o.ApplyT(func(v SkeClusterNodePool) *string { return v.OsVersionUsed }).(pulumi.StringPtrOutput) +func (*telemetryrouterDestinationConfigOpentelemetryPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TelemetryrouterDestinationConfigOpentelemetry)(nil)).Elem() } -// Specifies a taint list as defined below. -func (o SkeClusterNodePoolOutput) Taints() SkeClusterNodePoolTaintArrayOutput { - return o.ApplyT(func(v SkeClusterNodePool) []SkeClusterNodePoolTaint { return v.Taints }).(SkeClusterNodePoolTaintArrayOutput) +func (i *telemetryrouterDestinationConfigOpentelemetryPtrType) ToTelemetryrouterDestinationConfigOpentelemetryPtrOutput() TelemetryrouterDestinationConfigOpentelemetryPtrOutput { + return i.ToTelemetryrouterDestinationConfigOpentelemetryPtrOutputWithContext(context.Background()) } -// The volume size in GB. Defaults to `20` -func (o SkeClusterNodePoolOutput) VolumeSize() pulumi.IntPtrOutput { - return o.ApplyT(func(v SkeClusterNodePool) *int { return v.VolumeSize }).(pulumi.IntPtrOutput) +func (i *telemetryrouterDestinationConfigOpentelemetryPtrType) ToTelemetryrouterDestinationConfigOpentelemetryPtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigOpentelemetryPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationConfigOpentelemetryPtrOutput) } -// Specifies the volume type. Defaults to `storagePremiumPerf1`. -func (o SkeClusterNodePoolOutput) VolumeType() pulumi.StringPtrOutput { - return o.ApplyT(func(v SkeClusterNodePool) *string { return v.VolumeType }).(pulumi.StringPtrOutput) +type TelemetryrouterDestinationConfigOpentelemetryOutput struct{ *pulumi.OutputState } + +func (TelemetryrouterDestinationConfigOpentelemetryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TelemetryrouterDestinationConfigOpentelemetry)(nil)).Elem() } -type SkeClusterNodePoolArrayOutput struct{ *pulumi.OutputState } +func (o TelemetryrouterDestinationConfigOpentelemetryOutput) ToTelemetryrouterDestinationConfigOpentelemetryOutput() TelemetryrouterDestinationConfigOpentelemetryOutput { + return o +} -func (SkeClusterNodePoolArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SkeClusterNodePool)(nil)).Elem() +func (o TelemetryrouterDestinationConfigOpentelemetryOutput) ToTelemetryrouterDestinationConfigOpentelemetryOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigOpentelemetryOutput { + return o } -func (o SkeClusterNodePoolArrayOutput) ToSkeClusterNodePoolArrayOutput() SkeClusterNodePoolArrayOutput { +func (o TelemetryrouterDestinationConfigOpentelemetryOutput) ToTelemetryrouterDestinationConfigOpentelemetryPtrOutput() TelemetryrouterDestinationConfigOpentelemetryPtrOutput { + return o.ToTelemetryrouterDestinationConfigOpentelemetryPtrOutputWithContext(context.Background()) +} + +func (o TelemetryrouterDestinationConfigOpentelemetryOutput) ToTelemetryrouterDestinationConfigOpentelemetryPtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigOpentelemetryPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TelemetryrouterDestinationConfigOpentelemetry) *TelemetryrouterDestinationConfigOpentelemetry { + return &v + }).(TelemetryrouterDestinationConfigOpentelemetryPtrOutput) +} + +// OpenTelemetry basic auth configuration +func (o TelemetryrouterDestinationConfigOpentelemetryOutput) BasicAuth() TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput { + return o.ApplyT(func(v TelemetryrouterDestinationConfigOpentelemetry) *TelemetryrouterDestinationConfigOpentelemetryBasicAuth { + return v.BasicAuth + }).(TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput) +} + +// OpenTelemetry bearer token +func (o TelemetryrouterDestinationConfigOpentelemetryOutput) BearerToken() pulumi.StringPtrOutput { + return o.ApplyT(func(v TelemetryrouterDestinationConfigOpentelemetry) *string { return v.BearerToken }).(pulumi.StringPtrOutput) +} + +// OpenTelemetry destination URI +func (o TelemetryrouterDestinationConfigOpentelemetryOutput) Uri() pulumi.StringOutput { + return o.ApplyT(func(v TelemetryrouterDestinationConfigOpentelemetry) string { return v.Uri }).(pulumi.StringOutput) +} + +type TelemetryrouterDestinationConfigOpentelemetryPtrOutput struct{ *pulumi.OutputState } + +func (TelemetryrouterDestinationConfigOpentelemetryPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TelemetryrouterDestinationConfigOpentelemetry)(nil)).Elem() +} + +func (o TelemetryrouterDestinationConfigOpentelemetryPtrOutput) ToTelemetryrouterDestinationConfigOpentelemetryPtrOutput() TelemetryrouterDestinationConfigOpentelemetryPtrOutput { return o } -func (o SkeClusterNodePoolArrayOutput) ToSkeClusterNodePoolArrayOutputWithContext(ctx context.Context) SkeClusterNodePoolArrayOutput { +func (o TelemetryrouterDestinationConfigOpentelemetryPtrOutput) ToTelemetryrouterDestinationConfigOpentelemetryPtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigOpentelemetryPtrOutput { return o } -func (o SkeClusterNodePoolArrayOutput) Index(i pulumi.IntInput) SkeClusterNodePoolOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SkeClusterNodePool { - return vs[0].([]SkeClusterNodePool)[vs[1].(int)] - }).(SkeClusterNodePoolOutput) +func (o TelemetryrouterDestinationConfigOpentelemetryPtrOutput) Elem() TelemetryrouterDestinationConfigOpentelemetryOutput { + return o.ApplyT(func(v *TelemetryrouterDestinationConfigOpentelemetry) TelemetryrouterDestinationConfigOpentelemetry { + if v != nil { + return *v + } + var ret TelemetryrouterDestinationConfigOpentelemetry + return ret + }).(TelemetryrouterDestinationConfigOpentelemetryOutput) } -type SkeClusterNodePoolTaint struct { - // The taint effect. E.g `PreferNoSchedule`. - 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"` +// OpenTelemetry basic auth configuration +func (o TelemetryrouterDestinationConfigOpentelemetryPtrOutput) BasicAuth() TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput { + return o.ApplyT(func(v *TelemetryrouterDestinationConfigOpentelemetry) *TelemetryrouterDestinationConfigOpentelemetryBasicAuth { + if v == nil { + return nil + } + return v.BasicAuth + }).(TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput) } -// SkeClusterNodePoolTaintInput is an input type that accepts SkeClusterNodePoolTaintArgs and SkeClusterNodePoolTaintOutput values. -// You can construct a concrete instance of `SkeClusterNodePoolTaintInput` via: +// OpenTelemetry bearer token +func (o TelemetryrouterDestinationConfigOpentelemetryPtrOutput) BearerToken() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TelemetryrouterDestinationConfigOpentelemetry) *string { + if v == nil { + return nil + } + return v.BearerToken + }).(pulumi.StringPtrOutput) +} + +// OpenTelemetry destination URI +func (o TelemetryrouterDestinationConfigOpentelemetryPtrOutput) Uri() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TelemetryrouterDestinationConfigOpentelemetry) *string { + if v == nil { + return nil + } + return &v.Uri + }).(pulumi.StringPtrOutput) +} + +type TelemetryrouterDestinationConfigOpentelemetryBasicAuth struct { + // OpenTelemetry basic auth username + Password string `pulumi:"password"` + // OpenTelemetry basic auth username + Username string `pulumi:"username"` +} + +// TelemetryrouterDestinationConfigOpentelemetryBasicAuthInput is an input type that accepts TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs and TelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput values. +// You can construct a concrete instance of `TelemetryrouterDestinationConfigOpentelemetryBasicAuthInput` via: // -// SkeClusterNodePoolTaintArgs{...} -type SkeClusterNodePoolTaintInput interface { +// TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs{...} +type TelemetryrouterDestinationConfigOpentelemetryBasicAuthInput interface { pulumi.Input - ToSkeClusterNodePoolTaintOutput() SkeClusterNodePoolTaintOutput - ToSkeClusterNodePoolTaintOutputWithContext(context.Context) SkeClusterNodePoolTaintOutput + ToTelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput() TelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput + ToTelemetryrouterDestinationConfigOpentelemetryBasicAuthOutputWithContext(context.Context) TelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput } -type SkeClusterNodePoolTaintArgs struct { - // The taint effect. E.g `PreferNoSchedule`. - 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.StringPtrInput `pulumi:"value"` +type TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs struct { + // OpenTelemetry basic auth username + Password pulumi.StringInput `pulumi:"password"` + // OpenTelemetry basic auth username + Username pulumi.StringInput `pulumi:"username"` } -func (SkeClusterNodePoolTaintArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterNodePoolTaint)(nil)).Elem() +func (TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TelemetryrouterDestinationConfigOpentelemetryBasicAuth)(nil)).Elem() } -func (i SkeClusterNodePoolTaintArgs) ToSkeClusterNodePoolTaintOutput() SkeClusterNodePoolTaintOutput { - return i.ToSkeClusterNodePoolTaintOutputWithContext(context.Background()) +func (i TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs) ToTelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput() TelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput { + return i.ToTelemetryrouterDestinationConfigOpentelemetryBasicAuthOutputWithContext(context.Background()) } -func (i SkeClusterNodePoolTaintArgs) ToSkeClusterNodePoolTaintOutputWithContext(ctx context.Context) SkeClusterNodePoolTaintOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNodePoolTaintOutput) +func (i TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs) ToTelemetryrouterDestinationConfigOpentelemetryBasicAuthOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput) } -// SkeClusterNodePoolTaintArrayInput is an input type that accepts SkeClusterNodePoolTaintArray and SkeClusterNodePoolTaintArrayOutput values. -// You can construct a concrete instance of `SkeClusterNodePoolTaintArrayInput` via: +func (i TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs) ToTelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput() TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput { + return i.ToTelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutputWithContext(context.Background()) +} + +func (i TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs) ToTelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput).ToTelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutputWithContext(ctx) +} + +// TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrInput is an input type that accepts TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs, TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtr and TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput values. +// You can construct a concrete instance of `TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrInput` via: // -// SkeClusterNodePoolTaintArray{ SkeClusterNodePoolTaintArgs{...} } -type SkeClusterNodePoolTaintArrayInput interface { +// TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs{...} +// +// or: +// +// nil +type TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrInput interface { pulumi.Input - ToSkeClusterNodePoolTaintArrayOutput() SkeClusterNodePoolTaintArrayOutput - ToSkeClusterNodePoolTaintArrayOutputWithContext(context.Context) SkeClusterNodePoolTaintArrayOutput + ToTelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput() TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput + ToTelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutputWithContext(context.Context) TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput } -type SkeClusterNodePoolTaintArray []SkeClusterNodePoolTaintInput +type telemetryrouterDestinationConfigOpentelemetryBasicAuthPtrType TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs -func (SkeClusterNodePoolTaintArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]SkeClusterNodePoolTaint)(nil)).Elem() +func TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtr(v *TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs) TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrInput { + return (*telemetryrouterDestinationConfigOpentelemetryBasicAuthPtrType)(v) } -func (i SkeClusterNodePoolTaintArray) ToSkeClusterNodePoolTaintArrayOutput() SkeClusterNodePoolTaintArrayOutput { - return i.ToSkeClusterNodePoolTaintArrayOutputWithContext(context.Background()) +func (*telemetryrouterDestinationConfigOpentelemetryBasicAuthPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TelemetryrouterDestinationConfigOpentelemetryBasicAuth)(nil)).Elem() } -func (i SkeClusterNodePoolTaintArray) ToSkeClusterNodePoolTaintArrayOutputWithContext(ctx context.Context) SkeClusterNodePoolTaintArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(SkeClusterNodePoolTaintArrayOutput) +func (i *telemetryrouterDestinationConfigOpentelemetryBasicAuthPtrType) ToTelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput() TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput { + return i.ToTelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutputWithContext(context.Background()) } -type SkeClusterNodePoolTaintOutput struct{ *pulumi.OutputState } +func (i *telemetryrouterDestinationConfigOpentelemetryBasicAuthPtrType) ToTelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput) +} -func (SkeClusterNodePoolTaintOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SkeClusterNodePoolTaint)(nil)).Elem() +type TelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput struct{ *pulumi.OutputState } + +func (TelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TelemetryrouterDestinationConfigOpentelemetryBasicAuth)(nil)).Elem() } -func (o SkeClusterNodePoolTaintOutput) ToSkeClusterNodePoolTaintOutput() SkeClusterNodePoolTaintOutput { +func (o TelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput) ToTelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput() TelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput { return o } -func (o SkeClusterNodePoolTaintOutput) ToSkeClusterNodePoolTaintOutputWithContext(ctx context.Context) SkeClusterNodePoolTaintOutput { +func (o TelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput) ToTelemetryrouterDestinationConfigOpentelemetryBasicAuthOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput { return o } -// The taint effect. E.g `PreferNoSchedule`. -func (o SkeClusterNodePoolTaintOutput) Effect() pulumi.StringOutput { - return o.ApplyT(func(v SkeClusterNodePoolTaint) string { return v.Effect }).(pulumi.StringOutput) +func (o TelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput) ToTelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput() TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput { + return o.ToTelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutputWithContext(context.Background()) } -// Taint key to be applied to a node. -func (o SkeClusterNodePoolTaintOutput) Key() pulumi.StringOutput { - return o.ApplyT(func(v SkeClusterNodePoolTaint) string { return v.Key }).(pulumi.StringOutput) +func (o TelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput) ToTelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TelemetryrouterDestinationConfigOpentelemetryBasicAuth) *TelemetryrouterDestinationConfigOpentelemetryBasicAuth { + return &v + }).(TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput) } -// Taint value corresponding to the taint key. -func (o SkeClusterNodePoolTaintOutput) Value() pulumi.StringPtrOutput { - return o.ApplyT(func(v SkeClusterNodePoolTaint) *string { return v.Value }).(pulumi.StringPtrOutput) +// OpenTelemetry basic auth username +func (o TelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput) Password() pulumi.StringOutput { + return o.ApplyT(func(v TelemetryrouterDestinationConfigOpentelemetryBasicAuth) string { return v.Password }).(pulumi.StringOutput) } -type SkeClusterNodePoolTaintArrayOutput struct{ *pulumi.OutputState } +// OpenTelemetry basic auth username +func (o TelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput) Username() pulumi.StringOutput { + return o.ApplyT(func(v TelemetryrouterDestinationConfigOpentelemetryBasicAuth) string { return v.Username }).(pulumi.StringOutput) +} -func (SkeClusterNodePoolTaintArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]SkeClusterNodePoolTaint)(nil)).Elem() +type TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput struct{ *pulumi.OutputState } + +func (TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TelemetryrouterDestinationConfigOpentelemetryBasicAuth)(nil)).Elem() } -func (o SkeClusterNodePoolTaintArrayOutput) ToSkeClusterNodePoolTaintArrayOutput() SkeClusterNodePoolTaintArrayOutput { +func (o TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput) ToTelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput() TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput { return o } -func (o SkeClusterNodePoolTaintArrayOutput) ToSkeClusterNodePoolTaintArrayOutputWithContext(ctx context.Context) SkeClusterNodePoolTaintArrayOutput { +func (o TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput) ToTelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput { return o } -func (o SkeClusterNodePoolTaintArrayOutput) Index(i pulumi.IntInput) SkeClusterNodePoolTaintOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) SkeClusterNodePoolTaint { - return vs[0].([]SkeClusterNodePoolTaint)[vs[1].(int)] - }).(SkeClusterNodePoolTaintOutput) +func (o TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput) Elem() TelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput { + return o.ApplyT(func(v *TelemetryrouterDestinationConfigOpentelemetryBasicAuth) TelemetryrouterDestinationConfigOpentelemetryBasicAuth { + if v != nil { + return *v + } + var ret TelemetryrouterDestinationConfigOpentelemetryBasicAuth + return ret + }).(TelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput) } -type SqlserverflexInstanceFlavor struct { - Cpu int `pulumi:"cpu"` - Description *string `pulumi:"description"` - Id *string `pulumi:"id"` - Ram int `pulumi:"ram"` +// OpenTelemetry basic auth username +func (o TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput) Password() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TelemetryrouterDestinationConfigOpentelemetryBasicAuth) *string { + if v == nil { + return nil + } + return &v.Password + }).(pulumi.StringPtrOutput) +} + +// OpenTelemetry basic auth username +func (o TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput) Username() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TelemetryrouterDestinationConfigOpentelemetryBasicAuth) *string { + if v == nil { + return nil + } + return &v.Username + }).(pulumi.StringPtrOutput) } -// SqlserverflexInstanceFlavorInput is an input type that accepts SqlserverflexInstanceFlavorArgs and SqlserverflexInstanceFlavorOutput values. -// You can construct a concrete instance of `SqlserverflexInstanceFlavorInput` via: +type TelemetryrouterDestinationConfigS3 struct { + // S3 access key configuration + AccessKey *TelemetryrouterDestinationConfigS3AccessKey `pulumi:"accessKey"` + // S3 bucket name + Bucket string `pulumi:"bucket"` + // S3 endpoint + Endpoint string `pulumi:"endpoint"` +} + +// TelemetryrouterDestinationConfigS3Input is an input type that accepts TelemetryrouterDestinationConfigS3Args and TelemetryrouterDestinationConfigS3Output values. +// You can construct a concrete instance of `TelemetryrouterDestinationConfigS3Input` via: // -// SqlserverflexInstanceFlavorArgs{...} -type SqlserverflexInstanceFlavorInput interface { +// TelemetryrouterDestinationConfigS3Args{...} +type TelemetryrouterDestinationConfigS3Input interface { pulumi.Input - ToSqlserverflexInstanceFlavorOutput() SqlserverflexInstanceFlavorOutput - ToSqlserverflexInstanceFlavorOutputWithContext(context.Context) SqlserverflexInstanceFlavorOutput + ToTelemetryrouterDestinationConfigS3Output() TelemetryrouterDestinationConfigS3Output + ToTelemetryrouterDestinationConfigS3OutputWithContext(context.Context) TelemetryrouterDestinationConfigS3Output } -type SqlserverflexInstanceFlavorArgs struct { - Cpu pulumi.IntInput `pulumi:"cpu"` - Description pulumi.StringPtrInput `pulumi:"description"` - Id pulumi.StringPtrInput `pulumi:"id"` - Ram pulumi.IntInput `pulumi:"ram"` +type TelemetryrouterDestinationConfigS3Args struct { + // S3 access key configuration + AccessKey TelemetryrouterDestinationConfigS3AccessKeyPtrInput `pulumi:"accessKey"` + // S3 bucket name + Bucket pulumi.StringInput `pulumi:"bucket"` + // S3 endpoint + Endpoint pulumi.StringInput `pulumi:"endpoint"` } -func (SqlserverflexInstanceFlavorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SqlserverflexInstanceFlavor)(nil)).Elem() +func (TelemetryrouterDestinationConfigS3Args) ElementType() reflect.Type { + return reflect.TypeOf((*TelemetryrouterDestinationConfigS3)(nil)).Elem() } -func (i SqlserverflexInstanceFlavorArgs) ToSqlserverflexInstanceFlavorOutput() SqlserverflexInstanceFlavorOutput { - return i.ToSqlserverflexInstanceFlavorOutputWithContext(context.Background()) +func (i TelemetryrouterDestinationConfigS3Args) ToTelemetryrouterDestinationConfigS3Output() TelemetryrouterDestinationConfigS3Output { + return i.ToTelemetryrouterDestinationConfigS3OutputWithContext(context.Background()) } -func (i SqlserverflexInstanceFlavorArgs) ToSqlserverflexInstanceFlavorOutputWithContext(ctx context.Context) SqlserverflexInstanceFlavorOutput { - return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexInstanceFlavorOutput) +func (i TelemetryrouterDestinationConfigS3Args) ToTelemetryrouterDestinationConfigS3OutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigS3Output { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationConfigS3Output) } -func (i SqlserverflexInstanceFlavorArgs) ToSqlserverflexInstanceFlavorPtrOutput() SqlserverflexInstanceFlavorPtrOutput { - return i.ToSqlserverflexInstanceFlavorPtrOutputWithContext(context.Background()) +func (i TelemetryrouterDestinationConfigS3Args) ToTelemetryrouterDestinationConfigS3PtrOutput() TelemetryrouterDestinationConfigS3PtrOutput { + return i.ToTelemetryrouterDestinationConfigS3PtrOutputWithContext(context.Background()) } -func (i SqlserverflexInstanceFlavorArgs) ToSqlserverflexInstanceFlavorPtrOutputWithContext(ctx context.Context) SqlserverflexInstanceFlavorPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexInstanceFlavorOutput).ToSqlserverflexInstanceFlavorPtrOutputWithContext(ctx) +func (i TelemetryrouterDestinationConfigS3Args) ToTelemetryrouterDestinationConfigS3PtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigS3PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationConfigS3Output).ToTelemetryrouterDestinationConfigS3PtrOutputWithContext(ctx) } -// SqlserverflexInstanceFlavorPtrInput is an input type that accepts SqlserverflexInstanceFlavorArgs, SqlserverflexInstanceFlavorPtr and SqlserverflexInstanceFlavorPtrOutput values. -// You can construct a concrete instance of `SqlserverflexInstanceFlavorPtrInput` via: +// TelemetryrouterDestinationConfigS3PtrInput is an input type that accepts TelemetryrouterDestinationConfigS3Args, TelemetryrouterDestinationConfigS3Ptr and TelemetryrouterDestinationConfigS3PtrOutput values. +// You can construct a concrete instance of `TelemetryrouterDestinationConfigS3PtrInput` via: // -// SqlserverflexInstanceFlavorArgs{...} +// TelemetryrouterDestinationConfigS3Args{...} // // or: // // nil -type SqlserverflexInstanceFlavorPtrInput interface { +type TelemetryrouterDestinationConfigS3PtrInput interface { pulumi.Input - ToSqlserverflexInstanceFlavorPtrOutput() SqlserverflexInstanceFlavorPtrOutput - ToSqlserverflexInstanceFlavorPtrOutputWithContext(context.Context) SqlserverflexInstanceFlavorPtrOutput + ToTelemetryrouterDestinationConfigS3PtrOutput() TelemetryrouterDestinationConfigS3PtrOutput + ToTelemetryrouterDestinationConfigS3PtrOutputWithContext(context.Context) TelemetryrouterDestinationConfigS3PtrOutput } -type sqlserverflexInstanceFlavorPtrType SqlserverflexInstanceFlavorArgs +type telemetryrouterDestinationConfigS3PtrType TelemetryrouterDestinationConfigS3Args -func SqlserverflexInstanceFlavorPtr(v *SqlserverflexInstanceFlavorArgs) SqlserverflexInstanceFlavorPtrInput { - return (*sqlserverflexInstanceFlavorPtrType)(v) +func TelemetryrouterDestinationConfigS3Ptr(v *TelemetryrouterDestinationConfigS3Args) TelemetryrouterDestinationConfigS3PtrInput { + return (*telemetryrouterDestinationConfigS3PtrType)(v) } -func (*sqlserverflexInstanceFlavorPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SqlserverflexInstanceFlavor)(nil)).Elem() +func (*telemetryrouterDestinationConfigS3PtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TelemetryrouterDestinationConfigS3)(nil)).Elem() } -func (i *sqlserverflexInstanceFlavorPtrType) ToSqlserverflexInstanceFlavorPtrOutput() SqlserverflexInstanceFlavorPtrOutput { - return i.ToSqlserverflexInstanceFlavorPtrOutputWithContext(context.Background()) +func (i *telemetryrouterDestinationConfigS3PtrType) ToTelemetryrouterDestinationConfigS3PtrOutput() TelemetryrouterDestinationConfigS3PtrOutput { + return i.ToTelemetryrouterDestinationConfigS3PtrOutputWithContext(context.Background()) } -func (i *sqlserverflexInstanceFlavorPtrType) ToSqlserverflexInstanceFlavorPtrOutputWithContext(ctx context.Context) SqlserverflexInstanceFlavorPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexInstanceFlavorPtrOutput) +func (i *telemetryrouterDestinationConfigS3PtrType) ToTelemetryrouterDestinationConfigS3PtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigS3PtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationConfigS3PtrOutput) } -type SqlserverflexInstanceFlavorOutput struct{ *pulumi.OutputState } +type TelemetryrouterDestinationConfigS3Output struct{ *pulumi.OutputState } -func (SqlserverflexInstanceFlavorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SqlserverflexInstanceFlavor)(nil)).Elem() +func (TelemetryrouterDestinationConfigS3Output) ElementType() reflect.Type { + return reflect.TypeOf((*TelemetryrouterDestinationConfigS3)(nil)).Elem() } -func (o SqlserverflexInstanceFlavorOutput) ToSqlserverflexInstanceFlavorOutput() SqlserverflexInstanceFlavorOutput { +func (o TelemetryrouterDestinationConfigS3Output) ToTelemetryrouterDestinationConfigS3Output() TelemetryrouterDestinationConfigS3Output { return o } -func (o SqlserverflexInstanceFlavorOutput) ToSqlserverflexInstanceFlavorOutputWithContext(ctx context.Context) SqlserverflexInstanceFlavorOutput { +func (o TelemetryrouterDestinationConfigS3Output) ToTelemetryrouterDestinationConfigS3OutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigS3Output { return o } -func (o SqlserverflexInstanceFlavorOutput) ToSqlserverflexInstanceFlavorPtrOutput() SqlserverflexInstanceFlavorPtrOutput { - return o.ToSqlserverflexInstanceFlavorPtrOutputWithContext(context.Background()) +func (o TelemetryrouterDestinationConfigS3Output) ToTelemetryrouterDestinationConfigS3PtrOutput() TelemetryrouterDestinationConfigS3PtrOutput { + return o.ToTelemetryrouterDestinationConfigS3PtrOutputWithContext(context.Background()) } -func (o SqlserverflexInstanceFlavorOutput) ToSqlserverflexInstanceFlavorPtrOutputWithContext(ctx context.Context) SqlserverflexInstanceFlavorPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SqlserverflexInstanceFlavor) *SqlserverflexInstanceFlavor { +func (o TelemetryrouterDestinationConfigS3Output) ToTelemetryrouterDestinationConfigS3PtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigS3PtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TelemetryrouterDestinationConfigS3) *TelemetryrouterDestinationConfigS3 { return &v - }).(SqlserverflexInstanceFlavorPtrOutput) + }).(TelemetryrouterDestinationConfigS3PtrOutput) } -func (o SqlserverflexInstanceFlavorOutput) Cpu() pulumi.IntOutput { - return o.ApplyT(func(v SqlserverflexInstanceFlavor) int { return v.Cpu }).(pulumi.IntOutput) -} - -func (o SqlserverflexInstanceFlavorOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v SqlserverflexInstanceFlavor) *string { return v.Description }).(pulumi.StringPtrOutput) +// S3 access key configuration +func (o TelemetryrouterDestinationConfigS3Output) AccessKey() TelemetryrouterDestinationConfigS3AccessKeyPtrOutput { + return o.ApplyT(func(v TelemetryrouterDestinationConfigS3) *TelemetryrouterDestinationConfigS3AccessKey { + return v.AccessKey + }).(TelemetryrouterDestinationConfigS3AccessKeyPtrOutput) } -func (o SqlserverflexInstanceFlavorOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v SqlserverflexInstanceFlavor) *string { return v.Id }).(pulumi.StringPtrOutput) +// S3 bucket name +func (o TelemetryrouterDestinationConfigS3Output) Bucket() pulumi.StringOutput { + return o.ApplyT(func(v TelemetryrouterDestinationConfigS3) string { return v.Bucket }).(pulumi.StringOutput) } -func (o SqlserverflexInstanceFlavorOutput) Ram() pulumi.IntOutput { - return o.ApplyT(func(v SqlserverflexInstanceFlavor) int { return v.Ram }).(pulumi.IntOutput) +// S3 endpoint +func (o TelemetryrouterDestinationConfigS3Output) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v TelemetryrouterDestinationConfigS3) string { return v.Endpoint }).(pulumi.StringOutput) } -type SqlserverflexInstanceFlavorPtrOutput struct{ *pulumi.OutputState } +type TelemetryrouterDestinationConfigS3PtrOutput struct{ *pulumi.OutputState } -func (SqlserverflexInstanceFlavorPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SqlserverflexInstanceFlavor)(nil)).Elem() +func (TelemetryrouterDestinationConfigS3PtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TelemetryrouterDestinationConfigS3)(nil)).Elem() } -func (o SqlserverflexInstanceFlavorPtrOutput) ToSqlserverflexInstanceFlavorPtrOutput() SqlserverflexInstanceFlavorPtrOutput { +func (o TelemetryrouterDestinationConfigS3PtrOutput) ToTelemetryrouterDestinationConfigS3PtrOutput() TelemetryrouterDestinationConfigS3PtrOutput { return o } -func (o SqlserverflexInstanceFlavorPtrOutput) ToSqlserverflexInstanceFlavorPtrOutputWithContext(ctx context.Context) SqlserverflexInstanceFlavorPtrOutput { +func (o TelemetryrouterDestinationConfigS3PtrOutput) ToTelemetryrouterDestinationConfigS3PtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigS3PtrOutput { return o } -func (o SqlserverflexInstanceFlavorPtrOutput) Elem() SqlserverflexInstanceFlavorOutput { - return o.ApplyT(func(v *SqlserverflexInstanceFlavor) SqlserverflexInstanceFlavor { +func (o TelemetryrouterDestinationConfigS3PtrOutput) Elem() TelemetryrouterDestinationConfigS3Output { + return o.ApplyT(func(v *TelemetryrouterDestinationConfigS3) TelemetryrouterDestinationConfigS3 { if v != nil { return *v } - var ret SqlserverflexInstanceFlavor + var ret TelemetryrouterDestinationConfigS3 return ret - }).(SqlserverflexInstanceFlavorOutput) + }).(TelemetryrouterDestinationConfigS3Output) } -func (o SqlserverflexInstanceFlavorPtrOutput) Cpu() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SqlserverflexInstanceFlavor) *int { +// S3 access key configuration +func (o TelemetryrouterDestinationConfigS3PtrOutput) AccessKey() TelemetryrouterDestinationConfigS3AccessKeyPtrOutput { + return o.ApplyT(func(v *TelemetryrouterDestinationConfigS3) *TelemetryrouterDestinationConfigS3AccessKey { if v == nil { return nil } - return &v.Cpu - }).(pulumi.IntPtrOutput) + return v.AccessKey + }).(TelemetryrouterDestinationConfigS3AccessKeyPtrOutput) } -func (o SqlserverflexInstanceFlavorPtrOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SqlserverflexInstanceFlavor) *string { +// S3 bucket name +func (o TelemetryrouterDestinationConfigS3PtrOutput) Bucket() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TelemetryrouterDestinationConfigS3) *string { if v == nil { return nil } - return v.Description + return &v.Bucket }).(pulumi.StringPtrOutput) } -func (o SqlserverflexInstanceFlavorPtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SqlserverflexInstanceFlavor) *string { +// S3 endpoint +func (o TelemetryrouterDestinationConfigS3PtrOutput) Endpoint() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TelemetryrouterDestinationConfigS3) *string { if v == nil { return nil } - return v.Id + return &v.Endpoint }).(pulumi.StringPtrOutput) } -func (o SqlserverflexInstanceFlavorPtrOutput) Ram() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SqlserverflexInstanceFlavor) *int { - if v == nil { - return nil - } - return &v.Ram - }).(pulumi.IntPtrOutput) -} - -type SqlserverflexInstanceOptions struct { - Edition *string `pulumi:"edition"` - RetentionDays *int `pulumi:"retentionDays"` +type TelemetryrouterDestinationConfigS3AccessKey struct { + // S3 access key ID + Id string `pulumi:"id"` + // S3 access key secret + Secret string `pulumi:"secret"` } -// SqlserverflexInstanceOptionsInput is an input type that accepts SqlserverflexInstanceOptionsArgs and SqlserverflexInstanceOptionsOutput values. -// You can construct a concrete instance of `SqlserverflexInstanceOptionsInput` via: +// TelemetryrouterDestinationConfigS3AccessKeyInput is an input type that accepts TelemetryrouterDestinationConfigS3AccessKeyArgs and TelemetryrouterDestinationConfigS3AccessKeyOutput values. +// You can construct a concrete instance of `TelemetryrouterDestinationConfigS3AccessKeyInput` via: // -// SqlserverflexInstanceOptionsArgs{...} -type SqlserverflexInstanceOptionsInput interface { +// TelemetryrouterDestinationConfigS3AccessKeyArgs{...} +type TelemetryrouterDestinationConfigS3AccessKeyInput interface { pulumi.Input - ToSqlserverflexInstanceOptionsOutput() SqlserverflexInstanceOptionsOutput - ToSqlserverflexInstanceOptionsOutputWithContext(context.Context) SqlserverflexInstanceOptionsOutput + ToTelemetryrouterDestinationConfigS3AccessKeyOutput() TelemetryrouterDestinationConfigS3AccessKeyOutput + ToTelemetryrouterDestinationConfigS3AccessKeyOutputWithContext(context.Context) TelemetryrouterDestinationConfigS3AccessKeyOutput } -type SqlserverflexInstanceOptionsArgs struct { - Edition pulumi.StringPtrInput `pulumi:"edition"` - RetentionDays pulumi.IntPtrInput `pulumi:"retentionDays"` +type TelemetryrouterDestinationConfigS3AccessKeyArgs struct { + // S3 access key ID + Id pulumi.StringInput `pulumi:"id"` + // S3 access key secret + Secret pulumi.StringInput `pulumi:"secret"` } -func (SqlserverflexInstanceOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SqlserverflexInstanceOptions)(nil)).Elem() +func (TelemetryrouterDestinationConfigS3AccessKeyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TelemetryrouterDestinationConfigS3AccessKey)(nil)).Elem() } -func (i SqlserverflexInstanceOptionsArgs) ToSqlserverflexInstanceOptionsOutput() SqlserverflexInstanceOptionsOutput { - return i.ToSqlserverflexInstanceOptionsOutputWithContext(context.Background()) +func (i TelemetryrouterDestinationConfigS3AccessKeyArgs) ToTelemetryrouterDestinationConfigS3AccessKeyOutput() TelemetryrouterDestinationConfigS3AccessKeyOutput { + return i.ToTelemetryrouterDestinationConfigS3AccessKeyOutputWithContext(context.Background()) } -func (i SqlserverflexInstanceOptionsArgs) ToSqlserverflexInstanceOptionsOutputWithContext(ctx context.Context) SqlserverflexInstanceOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexInstanceOptionsOutput) +func (i TelemetryrouterDestinationConfigS3AccessKeyArgs) ToTelemetryrouterDestinationConfigS3AccessKeyOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigS3AccessKeyOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationConfigS3AccessKeyOutput) } -func (i SqlserverflexInstanceOptionsArgs) ToSqlserverflexInstanceOptionsPtrOutput() SqlserverflexInstanceOptionsPtrOutput { - return i.ToSqlserverflexInstanceOptionsPtrOutputWithContext(context.Background()) +func (i TelemetryrouterDestinationConfigS3AccessKeyArgs) ToTelemetryrouterDestinationConfigS3AccessKeyPtrOutput() TelemetryrouterDestinationConfigS3AccessKeyPtrOutput { + return i.ToTelemetryrouterDestinationConfigS3AccessKeyPtrOutputWithContext(context.Background()) } -func (i SqlserverflexInstanceOptionsArgs) ToSqlserverflexInstanceOptionsPtrOutputWithContext(ctx context.Context) SqlserverflexInstanceOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexInstanceOptionsOutput).ToSqlserverflexInstanceOptionsPtrOutputWithContext(ctx) +func (i TelemetryrouterDestinationConfigS3AccessKeyArgs) ToTelemetryrouterDestinationConfigS3AccessKeyPtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigS3AccessKeyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationConfigS3AccessKeyOutput).ToTelemetryrouterDestinationConfigS3AccessKeyPtrOutputWithContext(ctx) } -// SqlserverflexInstanceOptionsPtrInput is an input type that accepts SqlserverflexInstanceOptionsArgs, SqlserverflexInstanceOptionsPtr and SqlserverflexInstanceOptionsPtrOutput values. -// You can construct a concrete instance of `SqlserverflexInstanceOptionsPtrInput` via: +// TelemetryrouterDestinationConfigS3AccessKeyPtrInput is an input type that accepts TelemetryrouterDestinationConfigS3AccessKeyArgs, TelemetryrouterDestinationConfigS3AccessKeyPtr and TelemetryrouterDestinationConfigS3AccessKeyPtrOutput values. +// You can construct a concrete instance of `TelemetryrouterDestinationConfigS3AccessKeyPtrInput` via: // -// SqlserverflexInstanceOptionsArgs{...} +// TelemetryrouterDestinationConfigS3AccessKeyArgs{...} // // or: // // nil -type SqlserverflexInstanceOptionsPtrInput interface { +type TelemetryrouterDestinationConfigS3AccessKeyPtrInput interface { pulumi.Input - ToSqlserverflexInstanceOptionsPtrOutput() SqlserverflexInstanceOptionsPtrOutput - ToSqlserverflexInstanceOptionsPtrOutputWithContext(context.Context) SqlserverflexInstanceOptionsPtrOutput + ToTelemetryrouterDestinationConfigS3AccessKeyPtrOutput() TelemetryrouterDestinationConfigS3AccessKeyPtrOutput + ToTelemetryrouterDestinationConfigS3AccessKeyPtrOutputWithContext(context.Context) TelemetryrouterDestinationConfigS3AccessKeyPtrOutput } -type sqlserverflexInstanceOptionsPtrType SqlserverflexInstanceOptionsArgs +type telemetryrouterDestinationConfigS3AccessKeyPtrType TelemetryrouterDestinationConfigS3AccessKeyArgs -func SqlserverflexInstanceOptionsPtr(v *SqlserverflexInstanceOptionsArgs) SqlserverflexInstanceOptionsPtrInput { - return (*sqlserverflexInstanceOptionsPtrType)(v) +func TelemetryrouterDestinationConfigS3AccessKeyPtr(v *TelemetryrouterDestinationConfigS3AccessKeyArgs) TelemetryrouterDestinationConfigS3AccessKeyPtrInput { + return (*telemetryrouterDestinationConfigS3AccessKeyPtrType)(v) } -func (*sqlserverflexInstanceOptionsPtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SqlserverflexInstanceOptions)(nil)).Elem() +func (*telemetryrouterDestinationConfigS3AccessKeyPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TelemetryrouterDestinationConfigS3AccessKey)(nil)).Elem() } -func (i *sqlserverflexInstanceOptionsPtrType) ToSqlserverflexInstanceOptionsPtrOutput() SqlserverflexInstanceOptionsPtrOutput { - return i.ToSqlserverflexInstanceOptionsPtrOutputWithContext(context.Background()) +func (i *telemetryrouterDestinationConfigS3AccessKeyPtrType) ToTelemetryrouterDestinationConfigS3AccessKeyPtrOutput() TelemetryrouterDestinationConfigS3AccessKeyPtrOutput { + return i.ToTelemetryrouterDestinationConfigS3AccessKeyPtrOutputWithContext(context.Background()) } -func (i *sqlserverflexInstanceOptionsPtrType) ToSqlserverflexInstanceOptionsPtrOutputWithContext(ctx context.Context) SqlserverflexInstanceOptionsPtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexInstanceOptionsPtrOutput) +func (i *telemetryrouterDestinationConfigS3AccessKeyPtrType) ToTelemetryrouterDestinationConfigS3AccessKeyPtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigS3AccessKeyPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationConfigS3AccessKeyPtrOutput) } -type SqlserverflexInstanceOptionsOutput struct{ *pulumi.OutputState } +type TelemetryrouterDestinationConfigS3AccessKeyOutput struct{ *pulumi.OutputState } -func (SqlserverflexInstanceOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SqlserverflexInstanceOptions)(nil)).Elem() +func (TelemetryrouterDestinationConfigS3AccessKeyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TelemetryrouterDestinationConfigS3AccessKey)(nil)).Elem() } -func (o SqlserverflexInstanceOptionsOutput) ToSqlserverflexInstanceOptionsOutput() SqlserverflexInstanceOptionsOutput { +func (o TelemetryrouterDestinationConfigS3AccessKeyOutput) ToTelemetryrouterDestinationConfigS3AccessKeyOutput() TelemetryrouterDestinationConfigS3AccessKeyOutput { return o } -func (o SqlserverflexInstanceOptionsOutput) ToSqlserverflexInstanceOptionsOutputWithContext(ctx context.Context) SqlserverflexInstanceOptionsOutput { +func (o TelemetryrouterDestinationConfigS3AccessKeyOutput) ToTelemetryrouterDestinationConfigS3AccessKeyOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigS3AccessKeyOutput { return o } -func (o SqlserverflexInstanceOptionsOutput) ToSqlserverflexInstanceOptionsPtrOutput() SqlserverflexInstanceOptionsPtrOutput { - return o.ToSqlserverflexInstanceOptionsPtrOutputWithContext(context.Background()) +func (o TelemetryrouterDestinationConfigS3AccessKeyOutput) ToTelemetryrouterDestinationConfigS3AccessKeyPtrOutput() TelemetryrouterDestinationConfigS3AccessKeyPtrOutput { + return o.ToTelemetryrouterDestinationConfigS3AccessKeyPtrOutputWithContext(context.Background()) } -func (o SqlserverflexInstanceOptionsOutput) ToSqlserverflexInstanceOptionsPtrOutputWithContext(ctx context.Context) SqlserverflexInstanceOptionsPtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SqlserverflexInstanceOptions) *SqlserverflexInstanceOptions { +func (o TelemetryrouterDestinationConfigS3AccessKeyOutput) ToTelemetryrouterDestinationConfigS3AccessKeyPtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigS3AccessKeyPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TelemetryrouterDestinationConfigS3AccessKey) *TelemetryrouterDestinationConfigS3AccessKey { return &v - }).(SqlserverflexInstanceOptionsPtrOutput) + }).(TelemetryrouterDestinationConfigS3AccessKeyPtrOutput) } -func (o SqlserverflexInstanceOptionsOutput) Edition() pulumi.StringPtrOutput { - return o.ApplyT(func(v SqlserverflexInstanceOptions) *string { return v.Edition }).(pulumi.StringPtrOutput) +// S3 access key ID +func (o TelemetryrouterDestinationConfigS3AccessKeyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v TelemetryrouterDestinationConfigS3AccessKey) string { return v.Id }).(pulumi.StringOutput) } -func (o SqlserverflexInstanceOptionsOutput) RetentionDays() pulumi.IntPtrOutput { - return o.ApplyT(func(v SqlserverflexInstanceOptions) *int { return v.RetentionDays }).(pulumi.IntPtrOutput) +// S3 access key secret +func (o TelemetryrouterDestinationConfigS3AccessKeyOutput) Secret() pulumi.StringOutput { + return o.ApplyT(func(v TelemetryrouterDestinationConfigS3AccessKey) string { return v.Secret }).(pulumi.StringOutput) } -type SqlserverflexInstanceOptionsPtrOutput struct{ *pulumi.OutputState } +type TelemetryrouterDestinationConfigS3AccessKeyPtrOutput struct{ *pulumi.OutputState } -func (SqlserverflexInstanceOptionsPtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SqlserverflexInstanceOptions)(nil)).Elem() +func (TelemetryrouterDestinationConfigS3AccessKeyPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TelemetryrouterDestinationConfigS3AccessKey)(nil)).Elem() } -func (o SqlserverflexInstanceOptionsPtrOutput) ToSqlserverflexInstanceOptionsPtrOutput() SqlserverflexInstanceOptionsPtrOutput { +func (o TelemetryrouterDestinationConfigS3AccessKeyPtrOutput) ToTelemetryrouterDestinationConfigS3AccessKeyPtrOutput() TelemetryrouterDestinationConfigS3AccessKeyPtrOutput { return o } -func (o SqlserverflexInstanceOptionsPtrOutput) ToSqlserverflexInstanceOptionsPtrOutputWithContext(ctx context.Context) SqlserverflexInstanceOptionsPtrOutput { +func (o TelemetryrouterDestinationConfigS3AccessKeyPtrOutput) ToTelemetryrouterDestinationConfigS3AccessKeyPtrOutputWithContext(ctx context.Context) TelemetryrouterDestinationConfigS3AccessKeyPtrOutput { return o } -func (o SqlserverflexInstanceOptionsPtrOutput) Elem() SqlserverflexInstanceOptionsOutput { - return o.ApplyT(func(v *SqlserverflexInstanceOptions) SqlserverflexInstanceOptions { +func (o TelemetryrouterDestinationConfigS3AccessKeyPtrOutput) Elem() TelemetryrouterDestinationConfigS3AccessKeyOutput { + return o.ApplyT(func(v *TelemetryrouterDestinationConfigS3AccessKey) TelemetryrouterDestinationConfigS3AccessKey { if v != nil { return *v } - var ret SqlserverflexInstanceOptions + var ret TelemetryrouterDestinationConfigS3AccessKey return ret - }).(SqlserverflexInstanceOptionsOutput) + }).(TelemetryrouterDestinationConfigS3AccessKeyOutput) } -func (o SqlserverflexInstanceOptionsPtrOutput) Edition() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SqlserverflexInstanceOptions) *string { +// S3 access key ID +func (o TelemetryrouterDestinationConfigS3AccessKeyPtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TelemetryrouterDestinationConfigS3AccessKey) *string { if v == nil { return nil } - return v.Edition + return &v.Id }).(pulumi.StringPtrOutput) } -func (o SqlserverflexInstanceOptionsPtrOutput) RetentionDays() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SqlserverflexInstanceOptions) *int { +// S3 access key secret +func (o TelemetryrouterDestinationConfigS3AccessKeyPtrOutput) Secret() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TelemetryrouterDestinationConfigS3AccessKey) *string { if v == nil { return nil } - return v.RetentionDays - }).(pulumi.IntPtrOutput) + return &v.Secret + }).(pulumi.StringPtrOutput) } -type SqlserverflexInstanceStorage struct { - Class *string `pulumi:"class"` - Size *int `pulumi:"size"` +type TelemetryrouterInstanceFilter struct { + // The TelemetryRouter global filter attributes + Attributes []TelemetryrouterInstanceFilterAttribute `pulumi:"attributes"` } -// SqlserverflexInstanceStorageInput is an input type that accepts SqlserverflexInstanceStorageArgs and SqlserverflexInstanceStorageOutput values. -// You can construct a concrete instance of `SqlserverflexInstanceStorageInput` via: +// TelemetryrouterInstanceFilterInput is an input type that accepts TelemetryrouterInstanceFilterArgs and TelemetryrouterInstanceFilterOutput values. +// You can construct a concrete instance of `TelemetryrouterInstanceFilterInput` via: // -// SqlserverflexInstanceStorageArgs{...} -type SqlserverflexInstanceStorageInput interface { +// TelemetryrouterInstanceFilterArgs{...} +type TelemetryrouterInstanceFilterInput interface { pulumi.Input - ToSqlserverflexInstanceStorageOutput() SqlserverflexInstanceStorageOutput - ToSqlserverflexInstanceStorageOutputWithContext(context.Context) SqlserverflexInstanceStorageOutput + ToTelemetryrouterInstanceFilterOutput() TelemetryrouterInstanceFilterOutput + ToTelemetryrouterInstanceFilterOutputWithContext(context.Context) TelemetryrouterInstanceFilterOutput } -type SqlserverflexInstanceStorageArgs struct { - Class pulumi.StringPtrInput `pulumi:"class"` - Size pulumi.IntPtrInput `pulumi:"size"` +type TelemetryrouterInstanceFilterArgs struct { + // The TelemetryRouter global filter attributes + Attributes TelemetryrouterInstanceFilterAttributeArrayInput `pulumi:"attributes"` } -func (SqlserverflexInstanceStorageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*SqlserverflexInstanceStorage)(nil)).Elem() +func (TelemetryrouterInstanceFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TelemetryrouterInstanceFilter)(nil)).Elem() } -func (i SqlserverflexInstanceStorageArgs) ToSqlserverflexInstanceStorageOutput() SqlserverflexInstanceStorageOutput { - return i.ToSqlserverflexInstanceStorageOutputWithContext(context.Background()) +func (i TelemetryrouterInstanceFilterArgs) ToTelemetryrouterInstanceFilterOutput() TelemetryrouterInstanceFilterOutput { + return i.ToTelemetryrouterInstanceFilterOutputWithContext(context.Background()) } -func (i SqlserverflexInstanceStorageArgs) ToSqlserverflexInstanceStorageOutputWithContext(ctx context.Context) SqlserverflexInstanceStorageOutput { - return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexInstanceStorageOutput) +func (i TelemetryrouterInstanceFilterArgs) ToTelemetryrouterInstanceFilterOutputWithContext(ctx context.Context) TelemetryrouterInstanceFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterInstanceFilterOutput) } -func (i SqlserverflexInstanceStorageArgs) ToSqlserverflexInstanceStoragePtrOutput() SqlserverflexInstanceStoragePtrOutput { - return i.ToSqlserverflexInstanceStoragePtrOutputWithContext(context.Background()) +func (i TelemetryrouterInstanceFilterArgs) ToTelemetryrouterInstanceFilterPtrOutput() TelemetryrouterInstanceFilterPtrOutput { + return i.ToTelemetryrouterInstanceFilterPtrOutputWithContext(context.Background()) } -func (i SqlserverflexInstanceStorageArgs) ToSqlserverflexInstanceStoragePtrOutputWithContext(ctx context.Context) SqlserverflexInstanceStoragePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexInstanceStorageOutput).ToSqlserverflexInstanceStoragePtrOutputWithContext(ctx) +func (i TelemetryrouterInstanceFilterArgs) ToTelemetryrouterInstanceFilterPtrOutputWithContext(ctx context.Context) TelemetryrouterInstanceFilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterInstanceFilterOutput).ToTelemetryrouterInstanceFilterPtrOutputWithContext(ctx) } -// SqlserverflexInstanceStoragePtrInput is an input type that accepts SqlserverflexInstanceStorageArgs, SqlserverflexInstanceStoragePtr and SqlserverflexInstanceStoragePtrOutput values. -// You can construct a concrete instance of `SqlserverflexInstanceStoragePtrInput` via: +// TelemetryrouterInstanceFilterPtrInput is an input type that accepts TelemetryrouterInstanceFilterArgs, TelemetryrouterInstanceFilterPtr and TelemetryrouterInstanceFilterPtrOutput values. +// You can construct a concrete instance of `TelemetryrouterInstanceFilterPtrInput` via: // -// SqlserverflexInstanceStorageArgs{...} +// TelemetryrouterInstanceFilterArgs{...} // // or: // // nil -type SqlserverflexInstanceStoragePtrInput interface { +type TelemetryrouterInstanceFilterPtrInput interface { pulumi.Input - ToSqlserverflexInstanceStoragePtrOutput() SqlserverflexInstanceStoragePtrOutput - ToSqlserverflexInstanceStoragePtrOutputWithContext(context.Context) SqlserverflexInstanceStoragePtrOutput + ToTelemetryrouterInstanceFilterPtrOutput() TelemetryrouterInstanceFilterPtrOutput + ToTelemetryrouterInstanceFilterPtrOutputWithContext(context.Context) TelemetryrouterInstanceFilterPtrOutput } -type sqlserverflexInstanceStoragePtrType SqlserverflexInstanceStorageArgs +type telemetryrouterInstanceFilterPtrType TelemetryrouterInstanceFilterArgs -func SqlserverflexInstanceStoragePtr(v *SqlserverflexInstanceStorageArgs) SqlserverflexInstanceStoragePtrInput { - return (*sqlserverflexInstanceStoragePtrType)(v) +func TelemetryrouterInstanceFilterPtr(v *TelemetryrouterInstanceFilterArgs) TelemetryrouterInstanceFilterPtrInput { + return (*telemetryrouterInstanceFilterPtrType)(v) } -func (*sqlserverflexInstanceStoragePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**SqlserverflexInstanceStorage)(nil)).Elem() +func (*telemetryrouterInstanceFilterPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**TelemetryrouterInstanceFilter)(nil)).Elem() +} + +func (i *telemetryrouterInstanceFilterPtrType) ToTelemetryrouterInstanceFilterPtrOutput() TelemetryrouterInstanceFilterPtrOutput { + return i.ToTelemetryrouterInstanceFilterPtrOutputWithContext(context.Background()) +} + +func (i *telemetryrouterInstanceFilterPtrType) ToTelemetryrouterInstanceFilterPtrOutputWithContext(ctx context.Context) TelemetryrouterInstanceFilterPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterInstanceFilterPtrOutput) +} + +type TelemetryrouterInstanceFilterOutput struct{ *pulumi.OutputState } + +func (TelemetryrouterInstanceFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TelemetryrouterInstanceFilter)(nil)).Elem() +} + +func (o TelemetryrouterInstanceFilterOutput) ToTelemetryrouterInstanceFilterOutput() TelemetryrouterInstanceFilterOutput { + return o +} + +func (o TelemetryrouterInstanceFilterOutput) ToTelemetryrouterInstanceFilterOutputWithContext(ctx context.Context) TelemetryrouterInstanceFilterOutput { + return o +} + +func (o TelemetryrouterInstanceFilterOutput) ToTelemetryrouterInstanceFilterPtrOutput() TelemetryrouterInstanceFilterPtrOutput { + return o.ToTelemetryrouterInstanceFilterPtrOutputWithContext(context.Background()) +} + +func (o TelemetryrouterInstanceFilterOutput) ToTelemetryrouterInstanceFilterPtrOutputWithContext(ctx context.Context) TelemetryrouterInstanceFilterPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v TelemetryrouterInstanceFilter) *TelemetryrouterInstanceFilter { + return &v + }).(TelemetryrouterInstanceFilterPtrOutput) +} + +// The TelemetryRouter global filter attributes +func (o TelemetryrouterInstanceFilterOutput) Attributes() TelemetryrouterInstanceFilterAttributeArrayOutput { + return o.ApplyT(func(v TelemetryrouterInstanceFilter) []TelemetryrouterInstanceFilterAttribute { return v.Attributes }).(TelemetryrouterInstanceFilterAttributeArrayOutput) +} + +type TelemetryrouterInstanceFilterPtrOutput struct{ *pulumi.OutputState } + +func (TelemetryrouterInstanceFilterPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TelemetryrouterInstanceFilter)(nil)).Elem() +} + +func (o TelemetryrouterInstanceFilterPtrOutput) ToTelemetryrouterInstanceFilterPtrOutput() TelemetryrouterInstanceFilterPtrOutput { + return o +} + +func (o TelemetryrouterInstanceFilterPtrOutput) ToTelemetryrouterInstanceFilterPtrOutputWithContext(ctx context.Context) TelemetryrouterInstanceFilterPtrOutput { + return o +} + +func (o TelemetryrouterInstanceFilterPtrOutput) Elem() TelemetryrouterInstanceFilterOutput { + return o.ApplyT(func(v *TelemetryrouterInstanceFilter) TelemetryrouterInstanceFilter { + if v != nil { + return *v + } + var ret TelemetryrouterInstanceFilter + return ret + }).(TelemetryrouterInstanceFilterOutput) +} + +// The TelemetryRouter global filter attributes +func (o TelemetryrouterInstanceFilterPtrOutput) Attributes() TelemetryrouterInstanceFilterAttributeArrayOutput { + return o.ApplyT(func(v *TelemetryrouterInstanceFilter) []TelemetryrouterInstanceFilterAttribute { + if v == nil { + return nil + } + return v.Attributes + }).(TelemetryrouterInstanceFilterAttributeArrayOutput) +} + +type TelemetryrouterInstanceFilterAttribute 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"` +} + +// TelemetryrouterInstanceFilterAttributeInput is an input type that accepts TelemetryrouterInstanceFilterAttributeArgs and TelemetryrouterInstanceFilterAttributeOutput values. +// You can construct a concrete instance of `TelemetryrouterInstanceFilterAttributeInput` via: +// +// TelemetryrouterInstanceFilterAttributeArgs{...} +type TelemetryrouterInstanceFilterAttributeInput interface { + pulumi.Input + + ToTelemetryrouterInstanceFilterAttributeOutput() TelemetryrouterInstanceFilterAttributeOutput + ToTelemetryrouterInstanceFilterAttributeOutputWithContext(context.Context) TelemetryrouterInstanceFilterAttributeOutput +} + +type TelemetryrouterInstanceFilterAttributeArgs 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 (TelemetryrouterInstanceFilterAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*TelemetryrouterInstanceFilterAttribute)(nil)).Elem() +} + +func (i TelemetryrouterInstanceFilterAttributeArgs) ToTelemetryrouterInstanceFilterAttributeOutput() TelemetryrouterInstanceFilterAttributeOutput { + return i.ToTelemetryrouterInstanceFilterAttributeOutputWithContext(context.Background()) +} + +func (i TelemetryrouterInstanceFilterAttributeArgs) ToTelemetryrouterInstanceFilterAttributeOutputWithContext(ctx context.Context) TelemetryrouterInstanceFilterAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterInstanceFilterAttributeOutput) +} + +// TelemetryrouterInstanceFilterAttributeArrayInput is an input type that accepts TelemetryrouterInstanceFilterAttributeArray and TelemetryrouterInstanceFilterAttributeArrayOutput values. +// You can construct a concrete instance of `TelemetryrouterInstanceFilterAttributeArrayInput` via: +// +// TelemetryrouterInstanceFilterAttributeArray{ TelemetryrouterInstanceFilterAttributeArgs{...} } +type TelemetryrouterInstanceFilterAttributeArrayInput interface { + pulumi.Input + + ToTelemetryrouterInstanceFilterAttributeArrayOutput() TelemetryrouterInstanceFilterAttributeArrayOutput + ToTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(context.Context) TelemetryrouterInstanceFilterAttributeArrayOutput +} + +type TelemetryrouterInstanceFilterAttributeArray []TelemetryrouterInstanceFilterAttributeInput + +func (TelemetryrouterInstanceFilterAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]TelemetryrouterInstanceFilterAttribute)(nil)).Elem() } -func (i *sqlserverflexInstanceStoragePtrType) ToSqlserverflexInstanceStoragePtrOutput() SqlserverflexInstanceStoragePtrOutput { - return i.ToSqlserverflexInstanceStoragePtrOutputWithContext(context.Background()) +func (i TelemetryrouterInstanceFilterAttributeArray) ToTelemetryrouterInstanceFilterAttributeArrayOutput() TelemetryrouterInstanceFilterAttributeArrayOutput { + return i.ToTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(context.Background()) } -func (i *sqlserverflexInstanceStoragePtrType) ToSqlserverflexInstanceStoragePtrOutputWithContext(ctx context.Context) SqlserverflexInstanceStoragePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(SqlserverflexInstanceStoragePtrOutput) +func (i TelemetryrouterInstanceFilterAttributeArray) ToTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(ctx context.Context) TelemetryrouterInstanceFilterAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterInstanceFilterAttributeArrayOutput) } -type SqlserverflexInstanceStorageOutput struct{ *pulumi.OutputState } +type TelemetryrouterInstanceFilterAttributeOutput struct{ *pulumi.OutputState } -func (SqlserverflexInstanceStorageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*SqlserverflexInstanceStorage)(nil)).Elem() +func (TelemetryrouterInstanceFilterAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*TelemetryrouterInstanceFilterAttribute)(nil)).Elem() } -func (o SqlserverflexInstanceStorageOutput) ToSqlserverflexInstanceStorageOutput() SqlserverflexInstanceStorageOutput { +func (o TelemetryrouterInstanceFilterAttributeOutput) ToTelemetryrouterInstanceFilterAttributeOutput() TelemetryrouterInstanceFilterAttributeOutput { return o } -func (o SqlserverflexInstanceStorageOutput) ToSqlserverflexInstanceStorageOutputWithContext(ctx context.Context) SqlserverflexInstanceStorageOutput { +func (o TelemetryrouterInstanceFilterAttributeOutput) ToTelemetryrouterInstanceFilterAttributeOutputWithContext(ctx context.Context) TelemetryrouterInstanceFilterAttributeOutput { return o } -func (o SqlserverflexInstanceStorageOutput) ToSqlserverflexInstanceStoragePtrOutput() SqlserverflexInstanceStoragePtrOutput { - return o.ToSqlserverflexInstanceStoragePtrOutputWithContext(context.Background()) +// The TelemetryRouter global filter attribute key +func (o TelemetryrouterInstanceFilterAttributeOutput) Key() pulumi.StringOutput { + return o.ApplyT(func(v TelemetryrouterInstanceFilterAttribute) string { return v.Key }).(pulumi.StringOutput) } -func (o SqlserverflexInstanceStorageOutput) ToSqlserverflexInstanceStoragePtrOutputWithContext(ctx context.Context) SqlserverflexInstanceStoragePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v SqlserverflexInstanceStorage) *SqlserverflexInstanceStorage { - return &v - }).(SqlserverflexInstanceStoragePtrOutput) +// The TelemetryRouter global filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. +func (o TelemetryrouterInstanceFilterAttributeOutput) Level() pulumi.StringOutput { + return o.ApplyT(func(v TelemetryrouterInstanceFilterAttribute) string { return v.Level }).(pulumi.StringOutput) } -func (o SqlserverflexInstanceStorageOutput) Class() pulumi.StringPtrOutput { - return o.ApplyT(func(v SqlserverflexInstanceStorage) *string { return v.Class }).(pulumi.StringPtrOutput) +// The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. +func (o TelemetryrouterInstanceFilterAttributeOutput) Matcher() pulumi.StringOutput { + return o.ApplyT(func(v TelemetryrouterInstanceFilterAttribute) string { return v.Matcher }).(pulumi.StringOutput) } -func (o SqlserverflexInstanceStorageOutput) Size() pulumi.IntPtrOutput { - return o.ApplyT(func(v SqlserverflexInstanceStorage) *int { return v.Size }).(pulumi.IntPtrOutput) +// The TelemetryRouter global filter attributes +func (o TelemetryrouterInstanceFilterAttributeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v TelemetryrouterInstanceFilterAttribute) []string { return v.Values }).(pulumi.StringArrayOutput) } -type SqlserverflexInstanceStoragePtrOutput struct{ *pulumi.OutputState } +type TelemetryrouterInstanceFilterAttributeArrayOutput struct{ *pulumi.OutputState } -func (SqlserverflexInstanceStoragePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**SqlserverflexInstanceStorage)(nil)).Elem() +func (TelemetryrouterInstanceFilterAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]TelemetryrouterInstanceFilterAttribute)(nil)).Elem() } -func (o SqlserverflexInstanceStoragePtrOutput) ToSqlserverflexInstanceStoragePtrOutput() SqlserverflexInstanceStoragePtrOutput { +func (o TelemetryrouterInstanceFilterAttributeArrayOutput) ToTelemetryrouterInstanceFilterAttributeArrayOutput() TelemetryrouterInstanceFilterAttributeArrayOutput { return o } -func (o SqlserverflexInstanceStoragePtrOutput) ToSqlserverflexInstanceStoragePtrOutputWithContext(ctx context.Context) SqlserverflexInstanceStoragePtrOutput { +func (o TelemetryrouterInstanceFilterAttributeArrayOutput) ToTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(ctx context.Context) TelemetryrouterInstanceFilterAttributeArrayOutput { return o } -func (o SqlserverflexInstanceStoragePtrOutput) Elem() SqlserverflexInstanceStorageOutput { - return o.ApplyT(func(v *SqlserverflexInstanceStorage) SqlserverflexInstanceStorage { - if v != nil { - return *v - } - var ret SqlserverflexInstanceStorage - return ret - }).(SqlserverflexInstanceStorageOutput) -} - -func (o SqlserverflexInstanceStoragePtrOutput) Class() pulumi.StringPtrOutput { - return o.ApplyT(func(v *SqlserverflexInstanceStorage) *string { - if v == nil { - return nil - } - return v.Class - }).(pulumi.StringPtrOutput) -} - -func (o SqlserverflexInstanceStoragePtrOutput) Size() pulumi.IntPtrOutput { - return o.ApplyT(func(v *SqlserverflexInstanceStorage) *int { - if v == nil { - return nil - } - return v.Size - }).(pulumi.IntPtrOutput) +func (o TelemetryrouterInstanceFilterAttributeArrayOutput) Index(i pulumi.IntInput) TelemetryrouterInstanceFilterAttributeOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) TelemetryrouterInstanceFilterAttribute { + return vs[0].([]TelemetryrouterInstanceFilterAttribute)[vs[1].(int)] + }).(TelemetryrouterInstanceFilterAttributeOutput) } type VolumeEncryptionParameters struct { @@ -18339,98 +21215,410 @@ type VolumeSourcePtrInput interface { type volumeSourcePtrType VolumeSourceArgs -func VolumeSourcePtr(v *VolumeSourceArgs) VolumeSourcePtrInput { - return (*volumeSourcePtrType)(v) +func VolumeSourcePtr(v *VolumeSourceArgs) VolumeSourcePtrInput { + return (*volumeSourcePtrType)(v) +} + +func (*volumeSourcePtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VolumeSource)(nil)).Elem() +} + +func (i *volumeSourcePtrType) ToVolumeSourcePtrOutput() VolumeSourcePtrOutput { + return i.ToVolumeSourcePtrOutputWithContext(context.Background()) +} + +func (i *volumeSourcePtrType) ToVolumeSourcePtrOutputWithContext(ctx context.Context) VolumeSourcePtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VolumeSourcePtrOutput) +} + +type VolumeSourceOutput struct{ *pulumi.OutputState } + +func (VolumeSourceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VolumeSource)(nil)).Elem() +} + +func (o VolumeSourceOutput) ToVolumeSourceOutput() VolumeSourceOutput { + return o +} + +func (o VolumeSourceOutput) ToVolumeSourceOutputWithContext(ctx context.Context) VolumeSourceOutput { + return o +} + +func (o VolumeSourceOutput) ToVolumeSourcePtrOutput() VolumeSourcePtrOutput { + return o.ToVolumeSourcePtrOutputWithContext(context.Background()) +} + +func (o VolumeSourceOutput) ToVolumeSourcePtrOutputWithContext(ctx context.Context) VolumeSourcePtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VolumeSource) *VolumeSource { + return &v + }).(VolumeSourcePtrOutput) +} + +// The ID of the source, e.g. image ID +func (o VolumeSourceOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v VolumeSource) string { return v.Id }).(pulumi.StringOutput) +} + +// The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`. +func (o VolumeSourceOutput) Type() pulumi.StringOutput { + return o.ApplyT(func(v VolumeSource) string { return v.Type }).(pulumi.StringOutput) +} + +type VolumeSourcePtrOutput struct{ *pulumi.OutputState } + +func (VolumeSourcePtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VolumeSource)(nil)).Elem() +} + +func (o VolumeSourcePtrOutput) ToVolumeSourcePtrOutput() VolumeSourcePtrOutput { + return o +} + +func (o VolumeSourcePtrOutput) ToVolumeSourcePtrOutputWithContext(ctx context.Context) VolumeSourcePtrOutput { + return o +} + +func (o VolumeSourcePtrOutput) Elem() VolumeSourceOutput { + return o.ApplyT(func(v *VolumeSource) VolumeSource { + if v != nil { + return *v + } + var ret VolumeSource + return ret + }).(VolumeSourceOutput) +} + +// The ID of the source, e.g. image ID +func (o VolumeSourcePtrOutput) Id() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VolumeSource) *string { + if v == nil { + return nil + } + return &v.Id + }).(pulumi.StringPtrOutput) +} + +// The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`. +func (o VolumeSourcePtrOutput) Type() pulumi.StringPtrOutput { + return o.ApplyT(func(v *VolumeSource) *string { + if v == nil { + return nil + } + return &v.Type + }).(pulumi.StringPtrOutput) +} + +type VpnGatewayAvailabilityZones struct { + // Availability zone for tunnel 1. + Tunnel1 string `pulumi:"tunnel1"` + // Availability zone for tunnel 2. + Tunnel2 string `pulumi:"tunnel2"` +} + +// 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 +} + +type VpnGatewayAvailabilityZonesArgs struct { + // Availability zone for tunnel 1. + Tunnel1 pulumi.StringInput `pulumi:"tunnel1"` + // Availability zone for tunnel 2. + Tunnel2 pulumi.StringInput `pulumi:"tunnel2"` +} + +func (VpnGatewayAvailabilityZonesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpnGatewayAvailabilityZones)(nil)).Elem() +} + +func (i VpnGatewayAvailabilityZonesArgs) ToVpnGatewayAvailabilityZonesOutput() VpnGatewayAvailabilityZonesOutput { + return i.ToVpnGatewayAvailabilityZonesOutputWithContext(context.Background()) +} + +func (i VpnGatewayAvailabilityZonesArgs) ToVpnGatewayAvailabilityZonesOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayAvailabilityZonesOutput) +} + +func (i VpnGatewayAvailabilityZonesArgs) ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput { + return i.ToVpnGatewayAvailabilityZonesPtrOutputWithContext(context.Background()) +} + +func (i VpnGatewayAvailabilityZonesArgs) ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayAvailabilityZonesOutput).ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx) +} + +// VpnGatewayAvailabilityZonesPtrInput is an input type that accepts VpnGatewayAvailabilityZonesArgs, VpnGatewayAvailabilityZonesPtr and VpnGatewayAvailabilityZonesPtrOutput values. +// You can construct a concrete instance of `VpnGatewayAvailabilityZonesPtrInput` via: +// +// VpnGatewayAvailabilityZonesArgs{...} +// +// or: +// +// nil +type VpnGatewayAvailabilityZonesPtrInput interface { + pulumi.Input + + ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput + ToVpnGatewayAvailabilityZonesPtrOutputWithContext(context.Context) VpnGatewayAvailabilityZonesPtrOutput +} + +type vpnGatewayAvailabilityZonesPtrType VpnGatewayAvailabilityZonesArgs + +func VpnGatewayAvailabilityZonesPtr(v *VpnGatewayAvailabilityZonesArgs) VpnGatewayAvailabilityZonesPtrInput { + return (*vpnGatewayAvailabilityZonesPtrType)(v) +} + +func (*vpnGatewayAvailabilityZonesPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnGatewayAvailabilityZones)(nil)).Elem() +} + +func (i *vpnGatewayAvailabilityZonesPtrType) ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput { + return i.ToVpnGatewayAvailabilityZonesPtrOutputWithContext(context.Background()) +} + +func (i *vpnGatewayAvailabilityZonesPtrType) ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayAvailabilityZonesPtrOutput) +} + +type VpnGatewayAvailabilityZonesOutput struct{ *pulumi.OutputState } + +func (VpnGatewayAvailabilityZonesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpnGatewayAvailabilityZones)(nil)).Elem() +} + +func (o VpnGatewayAvailabilityZonesOutput) ToVpnGatewayAvailabilityZonesOutput() VpnGatewayAvailabilityZonesOutput { + return o +} + +func (o VpnGatewayAvailabilityZonesOutput) ToVpnGatewayAvailabilityZonesOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesOutput { + return o +} + +func (o VpnGatewayAvailabilityZonesOutput) ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput { + return o.ToVpnGatewayAvailabilityZonesPtrOutputWithContext(context.Background()) +} + +func (o VpnGatewayAvailabilityZonesOutput) ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnGatewayAvailabilityZones) *VpnGatewayAvailabilityZones { + return &v + }).(VpnGatewayAvailabilityZonesPtrOutput) +} + +// Availability zone for tunnel 1. +func (o VpnGatewayAvailabilityZonesOutput) Tunnel1() pulumi.StringOutput { + return o.ApplyT(func(v VpnGatewayAvailabilityZones) string { return v.Tunnel1 }).(pulumi.StringOutput) +} + +// Availability zone for tunnel 2. +func (o VpnGatewayAvailabilityZonesOutput) Tunnel2() pulumi.StringOutput { + return o.ApplyT(func(v VpnGatewayAvailabilityZones) string { return v.Tunnel2 }).(pulumi.StringOutput) +} + +type VpnGatewayAvailabilityZonesPtrOutput struct{ *pulumi.OutputState } + +func (VpnGatewayAvailabilityZonesPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnGatewayAvailabilityZones)(nil)).Elem() +} + +func (o VpnGatewayAvailabilityZonesPtrOutput) ToVpnGatewayAvailabilityZonesPtrOutput() VpnGatewayAvailabilityZonesPtrOutput { + return o +} + +func (o VpnGatewayAvailabilityZonesPtrOutput) ToVpnGatewayAvailabilityZonesPtrOutputWithContext(ctx context.Context) VpnGatewayAvailabilityZonesPtrOutput { + 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) +} + +// 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) +} + +// 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 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"` +} + +// VpnGatewayBgpInput is an input type that accepts VpnGatewayBgpArgs and VpnGatewayBgpOutput values. +// You can construct a concrete instance of `VpnGatewayBgpInput` via: +// +// VpnGatewayBgpArgs{...} +type VpnGatewayBgpInput interface { + pulumi.Input + + ToVpnGatewayBgpOutput() VpnGatewayBgpOutput + ToVpnGatewayBgpOutputWithContext(context.Context) VpnGatewayBgpOutput +} + +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 (VpnGatewayBgpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*VpnGatewayBgp)(nil)).Elem() +} + +func (i VpnGatewayBgpArgs) ToVpnGatewayBgpOutput() VpnGatewayBgpOutput { + return i.ToVpnGatewayBgpOutputWithContext(context.Background()) +} + +func (i VpnGatewayBgpArgs) ToVpnGatewayBgpOutputWithContext(ctx context.Context) VpnGatewayBgpOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayBgpOutput) +} + +func (i VpnGatewayBgpArgs) ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput { + return i.ToVpnGatewayBgpPtrOutputWithContext(context.Background()) +} + +func (i VpnGatewayBgpArgs) ToVpnGatewayBgpPtrOutputWithContext(ctx context.Context) VpnGatewayBgpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayBgpOutput).ToVpnGatewayBgpPtrOutputWithContext(ctx) +} + +// 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 +} + +type vpnGatewayBgpPtrType VpnGatewayBgpArgs + +func VpnGatewayBgpPtr(v *VpnGatewayBgpArgs) VpnGatewayBgpPtrInput { + return (*vpnGatewayBgpPtrType)(v) } -func (*volumeSourcePtrType) ElementType() reflect.Type { - return reflect.TypeOf((**VolumeSource)(nil)).Elem() +func (*vpnGatewayBgpPtrType) ElementType() reflect.Type { + return reflect.TypeOf((**VpnGatewayBgp)(nil)).Elem() } -func (i *volumeSourcePtrType) ToVolumeSourcePtrOutput() VolumeSourcePtrOutput { - return i.ToVolumeSourcePtrOutputWithContext(context.Background()) +func (i *vpnGatewayBgpPtrType) ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput { + return i.ToVpnGatewayBgpPtrOutputWithContext(context.Background()) } -func (i *volumeSourcePtrType) ToVolumeSourcePtrOutputWithContext(ctx context.Context) VolumeSourcePtrOutput { - return pulumi.ToOutputWithContext(ctx, i).(VolumeSourcePtrOutput) +func (i *vpnGatewayBgpPtrType) ToVpnGatewayBgpPtrOutputWithContext(ctx context.Context) VpnGatewayBgpPtrOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayBgpPtrOutput) } -type VolumeSourceOutput struct{ *pulumi.OutputState } +type VpnGatewayBgpOutput struct{ *pulumi.OutputState } -func (VolumeSourceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*VolumeSource)(nil)).Elem() +func (VpnGatewayBgpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*VpnGatewayBgp)(nil)).Elem() } -func (o VolumeSourceOutput) ToVolumeSourceOutput() VolumeSourceOutput { +func (o VpnGatewayBgpOutput) ToVpnGatewayBgpOutput() VpnGatewayBgpOutput { return o } -func (o VolumeSourceOutput) ToVolumeSourceOutputWithContext(ctx context.Context) VolumeSourceOutput { +func (o VpnGatewayBgpOutput) ToVpnGatewayBgpOutputWithContext(ctx context.Context) VpnGatewayBgpOutput { return o } -func (o VolumeSourceOutput) ToVolumeSourcePtrOutput() VolumeSourcePtrOutput { - return o.ToVolumeSourcePtrOutputWithContext(context.Background()) +func (o VpnGatewayBgpOutput) ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput { + return o.ToVpnGatewayBgpPtrOutputWithContext(context.Background()) } -func (o VolumeSourceOutput) ToVolumeSourcePtrOutputWithContext(ctx context.Context) VolumeSourcePtrOutput { - return o.ApplyTWithContext(ctx, func(_ context.Context, v VolumeSource) *VolumeSource { +func (o VpnGatewayBgpOutput) ToVpnGatewayBgpPtrOutputWithContext(ctx context.Context) VpnGatewayBgpPtrOutput { + return o.ApplyTWithContext(ctx, func(_ context.Context, v VpnGatewayBgp) *VpnGatewayBgp { return &v - }).(VolumeSourcePtrOutput) + }).(VpnGatewayBgpPtrOutput) } -// The ID of the source, e.g. image ID -func (o VolumeSourceOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v VolumeSource) string { return v.Id }).(pulumi.StringOutput) +// 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) } -// The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`. -func (o VolumeSourceOutput) Type() pulumi.StringOutput { - return o.ApplyT(func(v VolumeSource) string { return v.Type }).(pulumi.StringOutput) +// 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) } -type VolumeSourcePtrOutput struct{ *pulumi.OutputState } +type VpnGatewayBgpPtrOutput struct{ *pulumi.OutputState } -func (VolumeSourcePtrOutput) ElementType() reflect.Type { - return reflect.TypeOf((**VolumeSource)(nil)).Elem() +func (VpnGatewayBgpPtrOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnGatewayBgp)(nil)).Elem() } -func (o VolumeSourcePtrOutput) ToVolumeSourcePtrOutput() VolumeSourcePtrOutput { +func (o VpnGatewayBgpPtrOutput) ToVpnGatewayBgpPtrOutput() VpnGatewayBgpPtrOutput { return o } -func (o VolumeSourcePtrOutput) ToVolumeSourcePtrOutputWithContext(ctx context.Context) VolumeSourcePtrOutput { +func (o VpnGatewayBgpPtrOutput) ToVpnGatewayBgpPtrOutputWithContext(ctx context.Context) VpnGatewayBgpPtrOutput { return o } -func (o VolumeSourcePtrOutput) Elem() VolumeSourceOutput { - return o.ApplyT(func(v *VolumeSource) VolumeSource { +func (o VpnGatewayBgpPtrOutput) Elem() VpnGatewayBgpOutput { + return o.ApplyT(func(v *VpnGatewayBgp) VpnGatewayBgp { if v != nil { return *v } - var ret VolumeSource + var ret VpnGatewayBgp return ret - }).(VolumeSourceOutput) + }).(VpnGatewayBgpOutput) } -// The ID of the source, e.g. image ID -func (o VolumeSourcePtrOutput) Id() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VolumeSource) *string { +// 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.Id - }).(pulumi.StringPtrOutput) + return &v.LocalAsn + }).(pulumi.IntPtrOutput) } -// The type of the source. Possible values are: `volume`, `image`, `snapshot`, `backup`. -func (o VolumeSourcePtrOutput) Type() pulumi.StringPtrOutput { - return o.ApplyT(func(v *VolumeSource) *string { +// 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.Type - }).(pulumi.StringPtrOutput) + return v.OverrideAdvertisedRoutes + }).(pulumi.StringArrayOutput) } type GetApplicationLoadBalancerError struct { @@ -21715,6 +24903,493 @@ func (o GetDnsZoneTimeoutsPtrOutput) Read() pulumi.StringPtrOutput { }).(pulumi.StringPtrOutput) } +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"` +} + +// GetDremioInstanceAuthenticationInput is an input type that accepts GetDremioInstanceAuthenticationArgs and GetDremioInstanceAuthenticationOutput values. +// You can construct a concrete instance of `GetDremioInstanceAuthenticationInput` via: +// +// GetDremioInstanceAuthenticationArgs{...} +type GetDremioInstanceAuthenticationInput interface { + pulumi.Input + + ToGetDremioInstanceAuthenticationOutput() GetDremioInstanceAuthenticationOutput + ToGetDremioInstanceAuthenticationOutputWithContext(context.Context) GetDremioInstanceAuthenticationOutput +} + +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 (GetDremioInstanceAuthenticationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthentication)(nil)).Elem() +} + +func (i GetDremioInstanceAuthenticationArgs) ToGetDremioInstanceAuthenticationOutput() GetDremioInstanceAuthenticationOutput { + return i.ToGetDremioInstanceAuthenticationOutputWithContext(context.Background()) +} + +func (i GetDremioInstanceAuthenticationArgs) ToGetDremioInstanceAuthenticationOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOutput) +} + +type GetDremioInstanceAuthenticationOutput struct{ *pulumi.OutputState } + +func (GetDremioInstanceAuthenticationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthentication)(nil)).Elem() +} + +func (o GetDremioInstanceAuthenticationOutput) ToGetDremioInstanceAuthenticationOutput() GetDremioInstanceAuthenticationOutput { + return o +} + +func (o GetDremioInstanceAuthenticationOutput) ToGetDremioInstanceAuthenticationOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOutput { + 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) +} + +// 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 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"` +} + +// GetDremioInstanceAuthenticationAzureadInput is an input type that accepts GetDremioInstanceAuthenticationAzureadArgs and GetDremioInstanceAuthenticationAzureadOutput values. +// You can construct a concrete instance of `GetDremioInstanceAuthenticationAzureadInput` via: +// +// GetDremioInstanceAuthenticationAzureadArgs{...} +type GetDremioInstanceAuthenticationAzureadInput interface { + pulumi.Input + + ToGetDremioInstanceAuthenticationAzureadOutput() GetDremioInstanceAuthenticationAzureadOutput + ToGetDremioInstanceAuthenticationAzureadOutputWithContext(context.Context) GetDremioInstanceAuthenticationAzureadOutput +} + +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 (GetDremioInstanceAuthenticationAzureadArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationAzuread)(nil)).Elem() +} + +func (i GetDremioInstanceAuthenticationAzureadArgs) ToGetDremioInstanceAuthenticationAzureadOutput() GetDremioInstanceAuthenticationAzureadOutput { + return i.ToGetDremioInstanceAuthenticationAzureadOutputWithContext(context.Background()) +} + +func (i GetDremioInstanceAuthenticationAzureadArgs) ToGetDremioInstanceAuthenticationAzureadOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationAzureadOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationAzureadOutput) +} + +type GetDremioInstanceAuthenticationAzureadOutput struct{ *pulumi.OutputState } + +func (GetDremioInstanceAuthenticationAzureadOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationAzuread)(nil)).Elem() +} + +func (o GetDremioInstanceAuthenticationAzureadOutput) ToGetDremioInstanceAuthenticationAzureadOutput() GetDremioInstanceAuthenticationAzureadOutput { + return o +} + +func (o GetDremioInstanceAuthenticationAzureadOutput) ToGetDremioInstanceAuthenticationAzureadOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationAzureadOutput { + return o +} + +// The Azure AD authority URL. +func (o GetDremioInstanceAuthenticationAzureadOutput) AuthorityUrl() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationAzuread) string { return v.AuthorityUrl }).(pulumi.StringOutput) +} + +// The Azure AD client ID. +func (o GetDremioInstanceAuthenticationAzureadOutput) ClientId() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationAzuread) string { return v.ClientId }).(pulumi.StringOutput) +} + +// 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: +// +// GetDremioInstanceAuthenticationOauthArgs{...} +type GetDremioInstanceAuthenticationOauthInput interface { + pulumi.Input + + ToGetDremioInstanceAuthenticationOauthOutput() GetDremioInstanceAuthenticationOauthOutput + ToGetDremioInstanceAuthenticationOauthOutputWithContext(context.Context) GetDremioInstanceAuthenticationOauthOutput +} + +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 (GetDremioInstanceAuthenticationOauthArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationOauth)(nil)).Elem() +} + +func (i GetDremioInstanceAuthenticationOauthArgs) ToGetDremioInstanceAuthenticationOauthOutput() GetDremioInstanceAuthenticationOauthOutput { + return i.ToGetDremioInstanceAuthenticationOauthOutputWithContext(context.Background()) +} + +func (i GetDremioInstanceAuthenticationOauthArgs) ToGetDremioInstanceAuthenticationOauthOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOauthOutput) +} + +type GetDremioInstanceAuthenticationOauthOutput struct{ *pulumi.OutputState } + +func (GetDremioInstanceAuthenticationOauthOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationOauth)(nil)).Elem() +} + +func (o GetDremioInstanceAuthenticationOauthOutput) ToGetDremioInstanceAuthenticationOauthOutput() GetDremioInstanceAuthenticationOauthOutput { + return o +} + +func (o GetDremioInstanceAuthenticationOauthOutput) ToGetDremioInstanceAuthenticationOauthOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthOutput { + return o +} + +// 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) +} + +// 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) +} + +// 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) +} + +// 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) +} + +// Any additional parameters the Identity Provider requires. +func (o GetDremioInstanceAuthenticationOauthOutput) Parameters() GetDremioInstanceAuthenticationOauthParameterArrayOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationOauth) []GetDremioInstanceAuthenticationOauthParameter { + return v.Parameters + }).(GetDremioInstanceAuthenticationOauthParameterArrayOutput) +} + +// 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) +} + +// 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) +} + +type GetDremioInstanceAuthenticationOauthJwtClaims struct { + // Mapped user name claim (e.g. email). + UserName string `pulumi:"userName"` +} + +// GetDremioInstanceAuthenticationOauthJwtClaimsInput is an input type that accepts GetDremioInstanceAuthenticationOauthJwtClaimsArgs and GetDremioInstanceAuthenticationOauthJwtClaimsOutput values. +// You can construct a concrete instance of `GetDremioInstanceAuthenticationOauthJwtClaimsInput` via: +// +// GetDremioInstanceAuthenticationOauthJwtClaimsArgs{...} +type GetDremioInstanceAuthenticationOauthJwtClaimsInput interface { + pulumi.Input + + ToGetDremioInstanceAuthenticationOauthJwtClaimsOutput() GetDremioInstanceAuthenticationOauthJwtClaimsOutput + ToGetDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(context.Context) GetDremioInstanceAuthenticationOauthJwtClaimsOutput +} + +type GetDremioInstanceAuthenticationOauthJwtClaimsArgs struct { + // Mapped user name claim (e.g. email). + UserName pulumi.StringInput `pulumi:"userName"` +} + +func (GetDremioInstanceAuthenticationOauthJwtClaimsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationOauthJwtClaims)(nil)).Elem() +} + +func (i GetDremioInstanceAuthenticationOauthJwtClaimsArgs) ToGetDremioInstanceAuthenticationOauthJwtClaimsOutput() GetDremioInstanceAuthenticationOauthJwtClaimsOutput { + return i.ToGetDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(context.Background()) +} + +func (i GetDremioInstanceAuthenticationOauthJwtClaimsArgs) ToGetDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthJwtClaimsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOauthJwtClaimsOutput) +} + +type GetDremioInstanceAuthenticationOauthJwtClaimsOutput struct{ *pulumi.OutputState } + +func (GetDremioInstanceAuthenticationOauthJwtClaimsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationOauthJwtClaims)(nil)).Elem() +} + +func (o GetDremioInstanceAuthenticationOauthJwtClaimsOutput) ToGetDremioInstanceAuthenticationOauthJwtClaimsOutput() GetDremioInstanceAuthenticationOauthJwtClaimsOutput { + return o +} + +func (o GetDremioInstanceAuthenticationOauthJwtClaimsOutput) ToGetDremioInstanceAuthenticationOauthJwtClaimsOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthJwtClaimsOutput { + 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) +} + +type GetDremioInstanceAuthenticationOauthParameter struct { + // Parameter name. + Name string `pulumi:"name"` + // Parameter value. + Value string `pulumi:"value"` +} + +// 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 + + ToGetDremioInstanceAuthenticationOauthParameterOutput() GetDremioInstanceAuthenticationOauthParameterOutput + ToGetDremioInstanceAuthenticationOauthParameterOutputWithContext(context.Context) GetDremioInstanceAuthenticationOauthParameterOutput +} + +type GetDremioInstanceAuthenticationOauthParameterArgs struct { + // Parameter name. + Name pulumi.StringInput `pulumi:"name"` + // Parameter value. + Value pulumi.StringInput `pulumi:"value"` +} + +func (GetDremioInstanceAuthenticationOauthParameterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationOauthParameter)(nil)).Elem() +} + +func (i GetDremioInstanceAuthenticationOauthParameterArgs) ToGetDremioInstanceAuthenticationOauthParameterOutput() GetDremioInstanceAuthenticationOauthParameterOutput { + return i.ToGetDremioInstanceAuthenticationOauthParameterOutputWithContext(context.Background()) +} + +func (i GetDremioInstanceAuthenticationOauthParameterArgs) ToGetDremioInstanceAuthenticationOauthParameterOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthParameterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOauthParameterOutput) +} + +// GetDremioInstanceAuthenticationOauthParameterArrayInput is an input type that accepts GetDremioInstanceAuthenticationOauthParameterArray and GetDremioInstanceAuthenticationOauthParameterArrayOutput values. +// You can construct a concrete instance of `GetDremioInstanceAuthenticationOauthParameterArrayInput` via: +// +// GetDremioInstanceAuthenticationOauthParameterArray{ GetDremioInstanceAuthenticationOauthParameterArgs{...} } +type GetDremioInstanceAuthenticationOauthParameterArrayInput interface { + pulumi.Input + + ToGetDremioInstanceAuthenticationOauthParameterArrayOutput() GetDremioInstanceAuthenticationOauthParameterArrayOutput + ToGetDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(context.Context) GetDremioInstanceAuthenticationOauthParameterArrayOutput +} + +type GetDremioInstanceAuthenticationOauthParameterArray []GetDremioInstanceAuthenticationOauthParameterInput + +func (GetDremioInstanceAuthenticationOauthParameterArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetDremioInstanceAuthenticationOauthParameter)(nil)).Elem() +} + +func (i GetDremioInstanceAuthenticationOauthParameterArray) ToGetDremioInstanceAuthenticationOauthParameterArrayOutput() GetDremioInstanceAuthenticationOauthParameterArrayOutput { + return i.ToGetDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(context.Background()) +} + +func (i GetDremioInstanceAuthenticationOauthParameterArray) ToGetDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthParameterArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceAuthenticationOauthParameterArrayOutput) +} + +type GetDremioInstanceAuthenticationOauthParameterOutput struct{ *pulumi.OutputState } + +func (GetDremioInstanceAuthenticationOauthParameterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceAuthenticationOauthParameter)(nil)).Elem() +} + +func (o GetDremioInstanceAuthenticationOauthParameterOutput) ToGetDremioInstanceAuthenticationOauthParameterOutput() GetDremioInstanceAuthenticationOauthParameterOutput { + return o +} + +func (o GetDremioInstanceAuthenticationOauthParameterOutput) ToGetDremioInstanceAuthenticationOauthParameterOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthParameterOutput { + return o +} + +// Parameter name. +func (o GetDremioInstanceAuthenticationOauthParameterOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationOauthParameter) string { return v.Name }).(pulumi.StringOutput) +} + +// Parameter value. +func (o GetDremioInstanceAuthenticationOauthParameterOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceAuthenticationOauthParameter) string { return v.Value }).(pulumi.StringOutput) +} + +type GetDremioInstanceAuthenticationOauthParameterArrayOutput struct{ *pulumi.OutputState } + +func (GetDremioInstanceAuthenticationOauthParameterArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetDremioInstanceAuthenticationOauthParameter)(nil)).Elem() +} + +func (o GetDremioInstanceAuthenticationOauthParameterArrayOutput) ToGetDremioInstanceAuthenticationOauthParameterArrayOutput() GetDremioInstanceAuthenticationOauthParameterArrayOutput { + return o +} + +func (o GetDremioInstanceAuthenticationOauthParameterArrayOutput) ToGetDremioInstanceAuthenticationOauthParameterArrayOutputWithContext(ctx context.Context) GetDremioInstanceAuthenticationOauthParameterArrayOutput { + 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) +} + +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"` +} + +// 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 +} + +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 (GetDremioInstanceEndpointsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceEndpoints)(nil)).Elem() +} + +func (i GetDremioInstanceEndpointsArgs) ToGetDremioInstanceEndpointsOutput() GetDremioInstanceEndpointsOutput { + return i.ToGetDremioInstanceEndpointsOutputWithContext(context.Background()) +} + +func (i GetDremioInstanceEndpointsArgs) ToGetDremioInstanceEndpointsOutputWithContext(ctx context.Context) GetDremioInstanceEndpointsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetDremioInstanceEndpointsOutput) +} + +type GetDremioInstanceEndpointsOutput struct{ *pulumi.OutputState } + +func (GetDremioInstanceEndpointsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetDremioInstanceEndpoints)(nil)).Elem() +} + +func (o GetDremioInstanceEndpointsOutput) ToGetDremioInstanceEndpointsOutput() GetDremioInstanceEndpointsOutput { + return o +} + +func (o GetDremioInstanceEndpointsOutput) ToGetDremioInstanceEndpointsOutputWithContext(ctx context.Context) GetDremioInstanceEndpointsOutput { + 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 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 UI endpoint of the Dremio instance. +func (o GetDremioInstanceEndpointsOutput) Ui() pulumi.StringOutput { + return o.ApplyT(func(v GetDremioInstanceEndpoints) string { return v.Ui }).(pulumi.StringOutput) +} + type GetEdgecloudInstancesInstance struct { // The date and time the instance was created. Created string `pulumi:"created"` @@ -28624,2320 +32299,2870 @@ func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) ToGetServiceA return o } -func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) ToGetServiceAccountFederatedIdentityProviderAssertionOutputWithContext(ctx context.Context) GetServiceAccountFederatedIdentityProviderAssertionOutput { - return o +func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) ToGetServiceAccountFederatedIdentityProviderAssertionOutputWithContext(ctx context.Context) GetServiceAccountFederatedIdentityProviderAssertionOutput { + 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) +} + +// 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) +} + +// The assertion value. +func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) Value() pulumi.StringOutput { + return o.ApplyT(func(v GetServiceAccountFederatedIdentityProviderAssertion) string { return v.Value }).(pulumi.StringOutput) +} + +type GetServiceAccountFederatedIdentityProviderAssertionArrayOutput struct{ *pulumi.OutputState } + +func (GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() +} + +func (o GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutput() GetServiceAccountFederatedIdentityProviderAssertionArrayOutput { + return o +} + +func (o GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(ctx context.Context) GetServiceAccountFederatedIdentityProviderAssertionArrayOutput { + 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) +} + +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"` +} + +// 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 + + ToGetServiceAccountsItemOutput() GetServiceAccountsItemOutput + ToGetServiceAccountsItemOutputWithContext(context.Context) GetServiceAccountsItemOutput +} + +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 (GetServiceAccountsItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetServiceAccountsItem)(nil)).Elem() +} + +func (i GetServiceAccountsItemArgs) ToGetServiceAccountsItemOutput() GetServiceAccountsItemOutput { + return i.ToGetServiceAccountsItemOutputWithContext(context.Background()) +} + +func (i GetServiceAccountsItemArgs) ToGetServiceAccountsItemOutputWithContext(ctx context.Context) GetServiceAccountsItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServiceAccountsItemOutput) +} + +// GetServiceAccountsItemArrayInput is an input type that accepts GetServiceAccountsItemArray and GetServiceAccountsItemArrayOutput values. +// You can construct a concrete instance of `GetServiceAccountsItemArrayInput` via: +// +// GetServiceAccountsItemArray{ GetServiceAccountsItemArgs{...} } +type GetServiceAccountsItemArrayInput interface { + pulumi.Input + + ToGetServiceAccountsItemArrayOutput() GetServiceAccountsItemArrayOutput + ToGetServiceAccountsItemArrayOutputWithContext(context.Context) GetServiceAccountsItemArrayOutput +} + +type GetServiceAccountsItemArray []GetServiceAccountsItemInput + +func (GetServiceAccountsItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetServiceAccountsItem)(nil)).Elem() +} + +func (i GetServiceAccountsItemArray) ToGetServiceAccountsItemArrayOutput() GetServiceAccountsItemArrayOutput { + return i.ToGetServiceAccountsItemArrayOutputWithContext(context.Background()) +} + +func (i GetServiceAccountsItemArray) ToGetServiceAccountsItemArrayOutputWithContext(ctx context.Context) GetServiceAccountsItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetServiceAccountsItemArrayOutput) +} + +type GetServiceAccountsItemOutput struct{ *pulumi.OutputState } + +func (GetServiceAccountsItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetServiceAccountsItem)(nil)).Elem() +} + +func (o GetServiceAccountsItemOutput) ToGetServiceAccountsItemOutput() GetServiceAccountsItemOutput { + return o +} + +func (o GetServiceAccountsItemOutput) ToGetServiceAccountsItemOutputWithContext(ctx context.Context) GetServiceAccountsItemOutput { + 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) +} + +// 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) +} + +type GetServiceAccountsItemArrayOutput struct{ *pulumi.OutputState } + +func (GetServiceAccountsItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetServiceAccountsItem)(nil)).Elem() +} + +func (o GetServiceAccountsItemArrayOutput) ToGetServiceAccountsItemArrayOutput() GetServiceAccountsItemArrayOutput { + return o +} + +func (o GetServiceAccountsItemArrayOutput) ToGetServiceAccountsItemArrayOutputWithContext(ctx context.Context) GetServiceAccountsItemArrayOutput { + return o +} + +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) +} + +type GetSfsExportPolicyRule struct { + // Description of the Rule + Description *string `pulumi:"description"` + // IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + IpAcls []string `pulumi:"ipAcls"` + // Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + Order int `pulumi:"order"` + // Flag to indicate if client IPs matching this rule can only mount the share in read only mode + ReadOnly bool `pulumi:"readOnly"` + // Flag to honor set UUID + SetUuid bool `pulumi:"setUuid"` + // Flag to indicate if client IPs matching this rule have root access on the Share + SuperUser bool `pulumi:"superUser"` +} + +// GetSfsExportPolicyRuleInput is an input type that accepts GetSfsExportPolicyRuleArgs and GetSfsExportPolicyRuleOutput values. +// You can construct a concrete instance of `GetSfsExportPolicyRuleInput` via: +// +// GetSfsExportPolicyRuleArgs{...} +type GetSfsExportPolicyRuleInput interface { + pulumi.Input + + ToGetSfsExportPolicyRuleOutput() GetSfsExportPolicyRuleOutput + ToGetSfsExportPolicyRuleOutputWithContext(context.Context) GetSfsExportPolicyRuleOutput +} + +type GetSfsExportPolicyRuleArgs struct { + // Description of the Rule + Description pulumi.StringPtrInput `pulumi:"description"` + // IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + IpAcls pulumi.StringArrayInput `pulumi:"ipAcls"` + // Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + Order pulumi.IntInput `pulumi:"order"` + // Flag to indicate if client IPs matching this rule can only mount the share in read only mode + ReadOnly pulumi.BoolInput `pulumi:"readOnly"` + // Flag to honor set UUID + SetUuid pulumi.BoolInput `pulumi:"setUuid"` + // Flag to indicate if client IPs matching this rule have root access on the Share + SuperUser pulumi.BoolInput `pulumi:"superUser"` +} + +func (GetSfsExportPolicyRuleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsExportPolicyRule)(nil)).Elem() +} + +func (i GetSfsExportPolicyRuleArgs) ToGetSfsExportPolicyRuleOutput() GetSfsExportPolicyRuleOutput { + return i.ToGetSfsExportPolicyRuleOutputWithContext(context.Background()) +} + +func (i GetSfsExportPolicyRuleArgs) ToGetSfsExportPolicyRuleOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsExportPolicyRuleOutput) +} + +// GetSfsExportPolicyRuleArrayInput is an input type that accepts GetSfsExportPolicyRuleArray and GetSfsExportPolicyRuleArrayOutput values. +// You can construct a concrete instance of `GetSfsExportPolicyRuleArrayInput` via: +// +// GetSfsExportPolicyRuleArray{ GetSfsExportPolicyRuleArgs{...} } +type GetSfsExportPolicyRuleArrayInput interface { + pulumi.Input + + ToGetSfsExportPolicyRuleArrayOutput() GetSfsExportPolicyRuleArrayOutput + ToGetSfsExportPolicyRuleArrayOutputWithContext(context.Context) GetSfsExportPolicyRuleArrayOutput +} + +type GetSfsExportPolicyRuleArray []GetSfsExportPolicyRuleInput + +func (GetSfsExportPolicyRuleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsExportPolicyRule)(nil)).Elem() +} + +func (i GetSfsExportPolicyRuleArray) ToGetSfsExportPolicyRuleArrayOutput() GetSfsExportPolicyRuleArrayOutput { + return i.ToGetSfsExportPolicyRuleArrayOutputWithContext(context.Background()) +} + +func (i GetSfsExportPolicyRuleArray) ToGetSfsExportPolicyRuleArrayOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsExportPolicyRuleArrayOutput) +} + +type GetSfsExportPolicyRuleOutput struct{ *pulumi.OutputState } + +func (GetSfsExportPolicyRuleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsExportPolicyRule)(nil)).Elem() +} + +func (o GetSfsExportPolicyRuleOutput) ToGetSfsExportPolicyRuleOutput() GetSfsExportPolicyRuleOutput { + return o +} + +func (o GetSfsExportPolicyRuleOutput) ToGetSfsExportPolicyRuleOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleOutput { + return o +} + +// Description of the Rule +func (o GetSfsExportPolicyRuleOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v GetSfsExportPolicyRule) *string { return v.Description }).(pulumi.StringPtrOutput) +} + +// IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). +func (o GetSfsExportPolicyRuleOutput) IpAcls() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetSfsExportPolicyRule) []string { return v.IpAcls }).(pulumi.StringArrayOutput) +} + +// Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied +func (o GetSfsExportPolicyRuleOutput) Order() pulumi.IntOutput { + return o.ApplyT(func(v GetSfsExportPolicyRule) int { return v.Order }).(pulumi.IntOutput) } -// 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) +// 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) } -// 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) +// Flag to honor set UUID +func (o GetSfsExportPolicyRuleOutput) SetUuid() pulumi.BoolOutput { + return o.ApplyT(func(v GetSfsExportPolicyRule) bool { return v.SetUuid }).(pulumi.BoolOutput) } -// The assertion value. -func (o GetServiceAccountFederatedIdentityProviderAssertionOutput) Value() pulumi.StringOutput { - return o.ApplyT(func(v GetServiceAccountFederatedIdentityProviderAssertion) string { return v.Value }).(pulumi.StringOutput) +// 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 GetServiceAccountFederatedIdentityProviderAssertionArrayOutput struct{ *pulumi.OutputState } +type GetSfsExportPolicyRuleArrayOutput struct{ *pulumi.OutputState } -func (GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetServiceAccountFederatedIdentityProviderAssertion)(nil)).Elem() +func (GetSfsExportPolicyRuleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsExportPolicyRule)(nil)).Elem() } -func (o GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutput() GetServiceAccountFederatedIdentityProviderAssertionArrayOutput { +func (o GetSfsExportPolicyRuleArrayOutput) ToGetSfsExportPolicyRuleArrayOutput() GetSfsExportPolicyRuleArrayOutput { return o } -func (o GetServiceAccountFederatedIdentityProviderAssertionArrayOutput) ToGetServiceAccountFederatedIdentityProviderAssertionArrayOutputWithContext(ctx context.Context) GetServiceAccountFederatedIdentityProviderAssertionArrayOutput { +func (o GetSfsExportPolicyRuleArrayOutput) ToGetSfsExportPolicyRuleArrayOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleArrayOutput { 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 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 GetServiceAccountsItem struct { - // Email of the service account. - Email string `pulumi:"email"` - // Name of the service account. +type GetSfsResourcePoolSnapshotPolicy struct { + // ID of the snapshot policy. + Id string `pulumi:"id"` + // Name of the snapshot policy. Name string `pulumi:"name"` - // The internal UUID of the service account. - ServiceAccountId string `pulumi:"serviceAccountId"` } -// GetServiceAccountsItemInput is an input type that accepts GetServiceAccountsItemArgs and GetServiceAccountsItemOutput values. -// You can construct a concrete instance of `GetServiceAccountsItemInput` via: +// GetSfsResourcePoolSnapshotPolicyInput is an input type that accepts GetSfsResourcePoolSnapshotPolicyArgs and GetSfsResourcePoolSnapshotPolicyOutput values. +// You can construct a concrete instance of `GetSfsResourcePoolSnapshotPolicyInput` via: // -// GetServiceAccountsItemArgs{...} -type GetServiceAccountsItemInput interface { +// GetSfsResourcePoolSnapshotPolicyArgs{...} +type GetSfsResourcePoolSnapshotPolicyInput interface { pulumi.Input - ToGetServiceAccountsItemOutput() GetServiceAccountsItemOutput - ToGetServiceAccountsItemOutputWithContext(context.Context) GetServiceAccountsItemOutput + ToGetSfsResourcePoolSnapshotPolicyOutput() GetSfsResourcePoolSnapshotPolicyOutput + ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(context.Context) GetSfsResourcePoolSnapshotPolicyOutput } -type GetServiceAccountsItemArgs struct { - // Email of the service account. - Email pulumi.StringInput `pulumi:"email"` - // Name of the service account. +type GetSfsResourcePoolSnapshotPolicyArgs struct { + // ID of the snapshot policy. + Id pulumi.StringInput `pulumi:"id"` + // Name of the snapshot policy. Name pulumi.StringInput `pulumi:"name"` - // The internal UUID of the service account. - ServiceAccountId pulumi.StringInput `pulumi:"serviceAccountId"` } -func (GetServiceAccountsItemArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetServiceAccountsItem)(nil)).Elem() +func (GetSfsResourcePoolSnapshotPolicyArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsResourcePoolSnapshotPolicy)(nil)).Elem() } -func (i GetServiceAccountsItemArgs) ToGetServiceAccountsItemOutput() GetServiceAccountsItemOutput { - return i.ToGetServiceAccountsItemOutputWithContext(context.Background()) +func (i GetSfsResourcePoolSnapshotPolicyArgs) ToGetSfsResourcePoolSnapshotPolicyOutput() GetSfsResourcePoolSnapshotPolicyOutput { + return i.ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(context.Background()) } -func (i GetServiceAccountsItemArgs) ToGetServiceAccountsItemOutputWithContext(ctx context.Context) GetServiceAccountsItemOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServiceAccountsItemOutput) +func (i GetSfsResourcePoolSnapshotPolicyArgs) ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotPolicyOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsResourcePoolSnapshotPolicyOutput) } -// GetServiceAccountsItemArrayInput is an input type that accepts GetServiceAccountsItemArray and GetServiceAccountsItemArrayOutput values. -// You can construct a concrete instance of `GetServiceAccountsItemArrayInput` via: -// -// GetServiceAccountsItemArray{ GetServiceAccountsItemArgs{...} } -type GetServiceAccountsItemArrayInput interface { - pulumi.Input +type GetSfsResourcePoolSnapshotPolicyOutput struct{ *pulumi.OutputState } - ToGetServiceAccountsItemArrayOutput() GetServiceAccountsItemArrayOutput - ToGetServiceAccountsItemArrayOutputWithContext(context.Context) GetServiceAccountsItemArrayOutput +func (GetSfsResourcePoolSnapshotPolicyOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsResourcePoolSnapshotPolicy)(nil)).Elem() } -type GetServiceAccountsItemArray []GetServiceAccountsItemInput +func (o GetSfsResourcePoolSnapshotPolicyOutput) ToGetSfsResourcePoolSnapshotPolicyOutput() GetSfsResourcePoolSnapshotPolicyOutput { + return o +} -func (GetServiceAccountsItemArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetServiceAccountsItem)(nil)).Elem() +func (o GetSfsResourcePoolSnapshotPolicyOutput) ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotPolicyOutput { + return o } -func (i GetServiceAccountsItemArray) ToGetServiceAccountsItemArrayOutput() GetServiceAccountsItemArrayOutput { - return i.ToGetServiceAccountsItemArrayOutputWithContext(context.Background()) +// ID of the snapshot policy. +func (o GetSfsResourcePoolSnapshotPolicyOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotPolicy) string { return v.Id }).(pulumi.StringOutput) } -func (i GetServiceAccountsItemArray) ToGetServiceAccountsItemArrayOutputWithContext(ctx context.Context) GetServiceAccountsItemArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetServiceAccountsItemArrayOutput) +// Name of the snapshot policy. +func (o GetSfsResourcePoolSnapshotPolicyOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotPolicy) string { return v.Name }).(pulumi.StringOutput) } -type GetServiceAccountsItemOutput struct{ *pulumi.OutputState } +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"` +} -func (GetServiceAccountsItemOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetServiceAccountsItem)(nil)).Elem() +// GetSfsResourcePoolSnapshotSnapshotInput is an input type that accepts GetSfsResourcePoolSnapshotSnapshotArgs and GetSfsResourcePoolSnapshotSnapshotOutput values. +// You can construct a concrete instance of `GetSfsResourcePoolSnapshotSnapshotInput` via: +// +// GetSfsResourcePoolSnapshotSnapshotArgs{...} +type GetSfsResourcePoolSnapshotSnapshotInput interface { + pulumi.Input + + ToGetSfsResourcePoolSnapshotSnapshotOutput() GetSfsResourcePoolSnapshotSnapshotOutput + ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(context.Context) GetSfsResourcePoolSnapshotSnapshotOutput } -func (o GetServiceAccountsItemOutput) ToGetServiceAccountsItemOutput() GetServiceAccountsItemOutput { - return o +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 (o GetServiceAccountsItemOutput) ToGetServiceAccountsItemOutputWithContext(ctx context.Context) GetServiceAccountsItemOutput { - return o +func (GetSfsResourcePoolSnapshotSnapshotArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() } -// Email of the service account. -func (o GetServiceAccountsItemOutput) Email() pulumi.StringOutput { - return o.ApplyT(func(v GetServiceAccountsItem) string { return v.Email }).(pulumi.StringOutput) +func (i GetSfsResourcePoolSnapshotSnapshotArgs) ToGetSfsResourcePoolSnapshotSnapshotOutput() GetSfsResourcePoolSnapshotSnapshotOutput { + return i.ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(context.Background()) } -// Name of the service account. -func (o GetServiceAccountsItemOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetServiceAccountsItem) string { return v.Name }).(pulumi.StringOutput) +func (i GetSfsResourcePoolSnapshotSnapshotArgs) ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsResourcePoolSnapshotSnapshotOutput) } -// 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) +// GetSfsResourcePoolSnapshotSnapshotArrayInput is an input type that accepts GetSfsResourcePoolSnapshotSnapshotArray and GetSfsResourcePoolSnapshotSnapshotArrayOutput values. +// You can construct a concrete instance of `GetSfsResourcePoolSnapshotSnapshotArrayInput` via: +// +// GetSfsResourcePoolSnapshotSnapshotArray{ GetSfsResourcePoolSnapshotSnapshotArgs{...} } +type GetSfsResourcePoolSnapshotSnapshotArrayInput interface { + pulumi.Input + + ToGetSfsResourcePoolSnapshotSnapshotArrayOutput() GetSfsResourcePoolSnapshotSnapshotArrayOutput + ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(context.Context) GetSfsResourcePoolSnapshotSnapshotArrayOutput } -type GetServiceAccountsItemArrayOutput struct{ *pulumi.OutputState } +type GetSfsResourcePoolSnapshotSnapshotArray []GetSfsResourcePoolSnapshotSnapshotInput -func (GetServiceAccountsItemArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetServiceAccountsItem)(nil)).Elem() +func (GetSfsResourcePoolSnapshotSnapshotArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() } -func (o GetServiceAccountsItemArrayOutput) ToGetServiceAccountsItemArrayOutput() GetServiceAccountsItemArrayOutput { - return o +func (i GetSfsResourcePoolSnapshotSnapshotArray) ToGetSfsResourcePoolSnapshotSnapshotArrayOutput() GetSfsResourcePoolSnapshotSnapshotArrayOutput { + return i.ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(context.Background()) } -func (o GetServiceAccountsItemArrayOutput) ToGetServiceAccountsItemArrayOutputWithContext(ctx context.Context) GetServiceAccountsItemArrayOutput { - return o +func (i GetSfsResourcePoolSnapshotSnapshotArray) ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsResourcePoolSnapshotSnapshotArrayOutput) } -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) +type GetSfsResourcePoolSnapshotSnapshotOutput struct{ *pulumi.OutputState } + +func (GetSfsResourcePoolSnapshotSnapshotOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() } -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"` +func (o GetSfsResourcePoolSnapshotSnapshotOutput) ToGetSfsResourcePoolSnapshotSnapshotOutput() GetSfsResourcePoolSnapshotSnapshotOutput { + return o } -// 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 +func (o GetSfsResourcePoolSnapshotSnapshotOutput) ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotOutput { + return o +} - ToGetSfsExportPolicyRuleOutput() GetSfsExportPolicyRuleOutput - ToGetSfsExportPolicyRuleOutputWithContext(context.Context) GetSfsExportPolicyRuleOutput +// (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 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"` +// creation date of the snapshot +func (o GetSfsResourcePoolSnapshotSnapshotOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.CreatedAt }).(pulumi.StringOutput) } -func (GetSfsExportPolicyRuleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsExportPolicyRule)(nil)).Elem() +// Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) +func (o GetSfsResourcePoolSnapshotSnapshotOutput) LogicalSizeGigabytes() pulumi.IntOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) int { return v.LogicalSizeGigabytes }).(pulumi.IntOutput) +} + +// ID of the Resource Pool of the Snapshot +func (o GetSfsResourcePoolSnapshotSnapshotOutput) ResourcePoolId() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.ResourcePoolId }).(pulumi.StringOutput) } -func (i GetSfsExportPolicyRuleArgs) ToGetSfsExportPolicyRuleOutput() GetSfsExportPolicyRuleOutput { - return i.ToGetSfsExportPolicyRuleOutputWithContext(context.Background()) +// 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 GetSfsExportPolicyRuleArgs) ToGetSfsExportPolicyRuleOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsExportPolicyRuleOutput) +// Name of the Resource Pool Snapshot +func (o GetSfsResourcePoolSnapshotSnapshotOutput) SnapshotName() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.SnapshotName }).(pulumi.StringOutput) } -// 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 +type GetSfsResourcePoolSnapshotSnapshotArrayOutput struct{ *pulumi.OutputState } - ToGetSfsExportPolicyRuleArrayOutput() GetSfsExportPolicyRuleArrayOutput - ToGetSfsExportPolicyRuleArrayOutputWithContext(context.Context) GetSfsExportPolicyRuleArrayOutput +func (GetSfsResourcePoolSnapshotSnapshotArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() } -type GetSfsExportPolicyRuleArray []GetSfsExportPolicyRuleInput +func (o GetSfsResourcePoolSnapshotSnapshotArrayOutput) ToGetSfsResourcePoolSnapshotSnapshotArrayOutput() GetSfsResourcePoolSnapshotSnapshotArrayOutput { + return o +} -func (GetSfsExportPolicyRuleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsExportPolicyRule)(nil)).Elem() +func (o GetSfsResourcePoolSnapshotSnapshotArrayOutput) ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotArrayOutput { + return o } -func (i GetSfsExportPolicyRuleArray) ToGetSfsExportPolicyRuleArrayOutput() GetSfsExportPolicyRuleArrayOutput { - return i.ToGetSfsExportPolicyRuleArrayOutputWithContext(context.Background()) +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) } -func (i GetSfsExportPolicyRuleArray) ToGetSfsExportPolicyRuleArrayOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsExportPolicyRuleArrayOutput) +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"` } -type GetSfsExportPolicyRuleOutput struct{ *pulumi.OutputState } +// 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 -func (GetSfsExportPolicyRuleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsExportPolicyRule)(nil)).Elem() + ToGetSfsSnapshotPoliciesItemOutput() GetSfsSnapshotPoliciesItemOutput + ToGetSfsSnapshotPoliciesItemOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemOutput } -func (o GetSfsExportPolicyRuleOutput) ToGetSfsExportPolicyRuleOutput() GetSfsExportPolicyRuleOutput { - 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 GetSfsExportPolicyRuleOutput) ToGetSfsExportPolicyRuleOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleOutput { - return o +func (GetSfsSnapshotPoliciesItemArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsSnapshotPoliciesItem)(nil)).Elem() } -// Description of the Rule -func (o GetSfsExportPolicyRuleOutput) Description() pulumi.StringPtrOutput { - return o.ApplyT(func(v GetSfsExportPolicyRule) *string { return v.Description }).(pulumi.StringPtrOutput) +func (i GetSfsSnapshotPoliciesItemArgs) ToGetSfsSnapshotPoliciesItemOutput() GetSfsSnapshotPoliciesItemOutput { + return i.ToGetSfsSnapshotPoliciesItemOutputWithContext(context.Background()) } -// 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) +func (i GetSfsSnapshotPoliciesItemArgs) ToGetSfsSnapshotPoliciesItemOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemOutput) } -// 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) +// GetSfsSnapshotPoliciesItemArrayInput is an input type that accepts GetSfsSnapshotPoliciesItemArray and GetSfsSnapshotPoliciesItemArrayOutput values. +// You can construct a concrete instance of `GetSfsSnapshotPoliciesItemArrayInput` via: +// +// GetSfsSnapshotPoliciesItemArray{ GetSfsSnapshotPoliciesItemArgs{...} } +type GetSfsSnapshotPoliciesItemArrayInput interface { + pulumi.Input + + ToGetSfsSnapshotPoliciesItemArrayOutput() GetSfsSnapshotPoliciesItemArrayOutput + ToGetSfsSnapshotPoliciesItemArrayOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemArrayOutput } -// 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) +type GetSfsSnapshotPoliciesItemArray []GetSfsSnapshotPoliciesItemInput + +func (GetSfsSnapshotPoliciesItemArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItem)(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 GetSfsSnapshotPoliciesItemArray) ToGetSfsSnapshotPoliciesItemArrayOutput() GetSfsSnapshotPoliciesItemArrayOutput { + return i.ToGetSfsSnapshotPoliciesItemArrayOutputWithContext(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 GetSfsSnapshotPoliciesItemArray) ToGetSfsSnapshotPoliciesItemArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemArrayOutput) } -type GetSfsExportPolicyRuleArrayOutput struct{ *pulumi.OutputState } +type GetSfsSnapshotPoliciesItemOutput struct{ *pulumi.OutputState } -func (GetSfsExportPolicyRuleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsExportPolicyRule)(nil)).Elem() +func (GetSfsSnapshotPoliciesItemOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsSnapshotPoliciesItem)(nil)).Elem() } -func (o GetSfsExportPolicyRuleArrayOutput) ToGetSfsExportPolicyRuleArrayOutput() GetSfsExportPolicyRuleArrayOutput { +func (o GetSfsSnapshotPoliciesItemOutput) ToGetSfsSnapshotPoliciesItemOutput() GetSfsSnapshotPoliciesItemOutput { return o } -func (o GetSfsExportPolicyRuleArrayOutput) ToGetSfsExportPolicyRuleArrayOutputWithContext(ctx context.Context) GetSfsExportPolicyRuleArrayOutput { +func (o GetSfsSnapshotPoliciesItemOutput) ToGetSfsSnapshotPoliciesItemOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemOutput { return o } -func (o GetSfsExportPolicyRuleArrayOutput) Index(i pulumi.IntInput) GetSfsExportPolicyRuleOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSfsExportPolicyRule { - return vs[0].([]GetSfsExportPolicyRule)[vs[1].(int)] - }).(GetSfsExportPolicyRuleOutput) -} - -type GetSfsResourcePoolSnapshotPolicy struct { - // ID of the snapshot policy. - Id string `pulumi:"id"` - // Name of the snapshot policy. - Name string `pulumi:"name"` +// Comment of the Snapshot Policy. +func (o GetSfsSnapshotPoliciesItemOutput) Comment() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) string { return v.Comment }).(pulumi.StringOutput) } -// GetSfsResourcePoolSnapshotPolicyInput is an input type that accepts GetSfsResourcePoolSnapshotPolicyArgs and GetSfsResourcePoolSnapshotPolicyOutput values. -// You can construct a concrete instance of `GetSfsResourcePoolSnapshotPolicyInput` via: -// -// GetSfsResourcePoolSnapshotPolicyArgs{...} -type GetSfsResourcePoolSnapshotPolicyInput interface { - pulumi.Input - - ToGetSfsResourcePoolSnapshotPolicyOutput() GetSfsResourcePoolSnapshotPolicyOutput - ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(context.Context) GetSfsResourcePoolSnapshotPolicyOutput +// Created At timestamp. +func (o GetSfsSnapshotPoliciesItemOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) string { return v.CreatedAt }).(pulumi.StringOutput) } -type GetSfsResourcePoolSnapshotPolicyArgs struct { - // ID of the snapshot policy. - Id pulumi.StringInput `pulumi:"id"` - // Name of the snapshot policy. - Name pulumi.StringInput `pulumi:"name"` +// Wether the Snapshot Policy is enabled. +func (o GetSfsSnapshotPoliciesItemOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) bool { return v.Enabled }).(pulumi.BoolOutput) } -func (GetSfsResourcePoolSnapshotPolicyArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsResourcePoolSnapshotPolicy)(nil)).Elem() +// ID of the Snapshot Policy. +func (o GetSfsSnapshotPoliciesItemOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) string { return v.Id }).(pulumi.StringOutput) } -func (i GetSfsResourcePoolSnapshotPolicyArgs) ToGetSfsResourcePoolSnapshotPolicyOutput() GetSfsResourcePoolSnapshotPolicyOutput { - return i.ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(context.Background()) +// Name of the Snapshot Policy. +func (o GetSfsSnapshotPoliciesItemOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) string { return v.Name }).(pulumi.StringOutput) } -func (i GetSfsResourcePoolSnapshotPolicyArgs) ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotPolicyOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsResourcePoolSnapshotPolicyOutput) +func (o GetSfsSnapshotPoliciesItemOutput) SnapshotSchedules() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) []GetSfsSnapshotPoliciesItemSnapshotSchedule { + return v.SnapshotSchedules + }).(GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) } -type GetSfsResourcePoolSnapshotPolicyOutput struct{ *pulumi.OutputState } +type GetSfsSnapshotPoliciesItemArrayOutput struct{ *pulumi.OutputState } -func (GetSfsResourcePoolSnapshotPolicyOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsResourcePoolSnapshotPolicy)(nil)).Elem() +func (GetSfsSnapshotPoliciesItemArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItem)(nil)).Elem() } -func (o GetSfsResourcePoolSnapshotPolicyOutput) ToGetSfsResourcePoolSnapshotPolicyOutput() GetSfsResourcePoolSnapshotPolicyOutput { +func (o GetSfsSnapshotPoliciesItemArrayOutput) ToGetSfsSnapshotPoliciesItemArrayOutput() GetSfsSnapshotPoliciesItemArrayOutput { return o } -func (o GetSfsResourcePoolSnapshotPolicyOutput) ToGetSfsResourcePoolSnapshotPolicyOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotPolicyOutput { +func (o GetSfsSnapshotPoliciesItemArrayOutput) ToGetSfsSnapshotPoliciesItemArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemArrayOutput { 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) -} - -// Name of the snapshot policy. -func (o GetSfsResourcePoolSnapshotPolicyOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsResourcePoolSnapshotPolicy) string { return v.Name }).(pulumi.StringOutput) +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 GetSfsResourcePoolSnapshotSnapshot struct { - // (optional) A comment to add more information about a snapshot - Comment string `pulumi:"comment"` - // creation date of the snapshot +type GetSfsSnapshotPoliciesItemSnapshotSchedule struct { + // Created At timestamp. 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"` + // 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"` } -// GetSfsResourcePoolSnapshotSnapshotInput is an input type that accepts GetSfsResourcePoolSnapshotSnapshotArgs and GetSfsResourcePoolSnapshotSnapshotOutput values. -// You can construct a concrete instance of `GetSfsResourcePoolSnapshotSnapshotInput` via: +// GetSfsSnapshotPoliciesItemSnapshotScheduleInput is an input type that accepts GetSfsSnapshotPoliciesItemSnapshotScheduleArgs and GetSfsSnapshotPoliciesItemSnapshotScheduleOutput values. +// You can construct a concrete instance of `GetSfsSnapshotPoliciesItemSnapshotScheduleInput` via: // -// GetSfsResourcePoolSnapshotSnapshotArgs{...} -type GetSfsResourcePoolSnapshotSnapshotInput interface { +// GetSfsSnapshotPoliciesItemSnapshotScheduleArgs{...} +type GetSfsSnapshotPoliciesItemSnapshotScheduleInput interface { pulumi.Input - ToGetSfsResourcePoolSnapshotSnapshotOutput() GetSfsResourcePoolSnapshotSnapshotOutput - ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(context.Context) GetSfsResourcePoolSnapshotSnapshotOutput -} - -type GetSfsResourcePoolSnapshotSnapshotArgs struct { - // (optional) A comment to add more information about a snapshot - Comment pulumi.StringInput `pulumi:"comment"` - // creation date of the snapshot - CreatedAt pulumi.StringInput `pulumi:"createdAt"` - // Represents the user-visible data size at the time of the snapshot (e.g. what’s in the snapshot) - LogicalSizeGigabytes pulumi.IntInput `pulumi:"logicalSizeGigabytes"` - // ID of the Resource Pool of the Snapshot - ResourcePoolId pulumi.StringInput `pulumi:"resourcePoolId"` - // Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) - SizeGigabytes pulumi.IntInput `pulumi:"sizeGigabytes"` - // Name of the Resource Pool Snapshot - SnapshotName pulumi.StringInput `pulumi:"snapshotName"` + ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleOutput + ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleOutput } -func (GetSfsResourcePoolSnapshotSnapshotArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() +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"` } -func (i GetSfsResourcePoolSnapshotSnapshotArgs) ToGetSfsResourcePoolSnapshotSnapshotOutput() GetSfsResourcePoolSnapshotSnapshotOutput { - return i.ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(context.Background()) +func (GetSfsSnapshotPoliciesItemSnapshotScheduleArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() } -func (i GetSfsResourcePoolSnapshotSnapshotArgs) ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsResourcePoolSnapshotSnapshotOutput) +func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArgs) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { + return i.ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutputWithContext(context.Background()) } -// GetSfsResourcePoolSnapshotSnapshotArrayInput is an input type that accepts GetSfsResourcePoolSnapshotSnapshotArray and GetSfsResourcePoolSnapshotSnapshotArrayOutput values. -// You can construct a concrete instance of `GetSfsResourcePoolSnapshotSnapshotArrayInput` via: +func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArgs) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) +} + +// GetSfsSnapshotPoliciesItemSnapshotScheduleArrayInput is an input type that accepts GetSfsSnapshotPoliciesItemSnapshotScheduleArray and GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput values. +// You can construct a concrete instance of `GetSfsSnapshotPoliciesItemSnapshotScheduleArrayInput` via: // -// GetSfsResourcePoolSnapshotSnapshotArray{ GetSfsResourcePoolSnapshotSnapshotArgs{...} } -type GetSfsResourcePoolSnapshotSnapshotArrayInput interface { +// GetSfsSnapshotPoliciesItemSnapshotScheduleArray{ GetSfsSnapshotPoliciesItemSnapshotScheduleArgs{...} } +type GetSfsSnapshotPoliciesItemSnapshotScheduleArrayInput interface { pulumi.Input - ToGetSfsResourcePoolSnapshotSnapshotArrayOutput() GetSfsResourcePoolSnapshotSnapshotArrayOutput - ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(context.Context) GetSfsResourcePoolSnapshotSnapshotArrayOutput + ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput + ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput } -type GetSfsResourcePoolSnapshotSnapshotArray []GetSfsResourcePoolSnapshotSnapshotInput +type GetSfsSnapshotPoliciesItemSnapshotScheduleArray []GetSfsSnapshotPoliciesItemSnapshotScheduleInput -func (GetSfsResourcePoolSnapshotSnapshotArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() +func (GetSfsSnapshotPoliciesItemSnapshotScheduleArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() } -func (i GetSfsResourcePoolSnapshotSnapshotArray) ToGetSfsResourcePoolSnapshotSnapshotArrayOutput() GetSfsResourcePoolSnapshotSnapshotArrayOutput { - return i.ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(context.Background()) +func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArray) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { + return i.ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(context.Background()) } -func (i GetSfsResourcePoolSnapshotSnapshotArray) ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsResourcePoolSnapshotSnapshotArrayOutput) +func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArray) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) } -type GetSfsResourcePoolSnapshotSnapshotOutput struct{ *pulumi.OutputState } +type GetSfsSnapshotPoliciesItemSnapshotScheduleOutput struct{ *pulumi.OutputState } -func (GetSfsResourcePoolSnapshotSnapshotOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() +func (GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() } -func (o GetSfsResourcePoolSnapshotSnapshotOutput) ToGetSfsResourcePoolSnapshotSnapshotOutput() GetSfsResourcePoolSnapshotSnapshotOutput { +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { return o } -func (o GetSfsResourcePoolSnapshotSnapshotOutput) ToGetSfsResourcePoolSnapshotSnapshotOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotOutput { +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { return o } -// (optional) A comment to add more information about a snapshot -func (o GetSfsResourcePoolSnapshotSnapshotOutput) Comment() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.Comment }).(pulumi.StringOutput) +// Created At timestamp. +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) CreatedAt() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.CreatedAt }).(pulumi.StringOutput) } -// creation date of the snapshot -func (o GetSfsResourcePoolSnapshotSnapshotOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.CreatedAt }).(pulumi.StringOutput) +// ID of the Snapshot Schedule. +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.Id }).(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) +// 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) } -// 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) +// Name of the Snapshot Schedule. +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) Name() pulumi.StringOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.Name }).(pulumi.StringOutput) } -// Reflects the actual storage footprint in the backend at snapshot time (e.g. how much storage from the Resource Pool does it use) -func (o GetSfsResourcePoolSnapshotSnapshotOutput) SizeGigabytes() pulumi.IntOutput { - return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) int { return v.SizeGigabytes }).(pulumi.IntOutput) +// 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) } -// Name of the Resource Pool Snapshot -func (o GetSfsResourcePoolSnapshotSnapshotOutput) SnapshotName() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsResourcePoolSnapshotSnapshot) string { return v.SnapshotName }).(pulumi.StringOutput) +// Retention Count. +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) RetentionCount() pulumi.IntOutput { + return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) int { return v.RetentionCount }).(pulumi.IntOutput) } -type GetSfsResourcePoolSnapshotSnapshotArrayOutput struct{ *pulumi.OutputState } +// 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 (GetSfsResourcePoolSnapshotSnapshotArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsResourcePoolSnapshotSnapshot)(nil)).Elem() +type GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput struct{ *pulumi.OutputState } + +func (GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() } -func (o GetSfsResourcePoolSnapshotSnapshotArrayOutput) ToGetSfsResourcePoolSnapshotSnapshotArrayOutput() GetSfsResourcePoolSnapshotSnapshotArrayOutput { +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { return o } -func (o GetSfsResourcePoolSnapshotSnapshotArrayOutput) ToGetSfsResourcePoolSnapshotSnapshotArrayOutputWithContext(ctx context.Context) GetSfsResourcePoolSnapshotSnapshotArrayOutput { +func (o GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { 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) +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) } -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"` +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"` } -// GetSfsSnapshotPoliciesItemInput is an input type that accepts GetSfsSnapshotPoliciesItemArgs and GetSfsSnapshotPoliciesItemOutput values. -// You can construct a concrete instance of `GetSfsSnapshotPoliciesItemInput` via: +// GetSkeClusterExtensionsInput is an input type that accepts GetSkeClusterExtensionsArgs and GetSkeClusterExtensionsOutput values. +// You can construct a concrete instance of `GetSkeClusterExtensionsInput` via: // -// GetSfsSnapshotPoliciesItemArgs{...} -type GetSfsSnapshotPoliciesItemInput interface { +// GetSkeClusterExtensionsArgs{...} +type GetSkeClusterExtensionsInput interface { pulumi.Input - ToGetSfsSnapshotPoliciesItemOutput() GetSfsSnapshotPoliciesItemOutput - ToGetSfsSnapshotPoliciesItemOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemOutput + ToGetSkeClusterExtensionsOutput() GetSkeClusterExtensionsOutput + ToGetSkeClusterExtensionsOutputWithContext(context.Context) GetSkeClusterExtensionsOutput } -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"` +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 (GetSfsSnapshotPoliciesItemArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsSnapshotPoliciesItem)(nil)).Elem() +func (GetSkeClusterExtensionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensions)(nil)).Elem() } -func (i GetSfsSnapshotPoliciesItemArgs) ToGetSfsSnapshotPoliciesItemOutput() GetSfsSnapshotPoliciesItemOutput { - return i.ToGetSfsSnapshotPoliciesItemOutputWithContext(context.Background()) +func (i GetSkeClusterExtensionsArgs) ToGetSkeClusterExtensionsOutput() GetSkeClusterExtensionsOutput { + return i.ToGetSkeClusterExtensionsOutputWithContext(context.Background()) } -func (i GetSfsSnapshotPoliciesItemArgs) ToGetSfsSnapshotPoliciesItemOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemOutput) +func (i GetSkeClusterExtensionsArgs) ToGetSkeClusterExtensionsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsOutput) } -// GetSfsSnapshotPoliciesItemArrayInput is an input type that accepts GetSfsSnapshotPoliciesItemArray and GetSfsSnapshotPoliciesItemArrayOutput values. -// You can construct a concrete instance of `GetSfsSnapshotPoliciesItemArrayInput` via: +type GetSkeClusterExtensionsOutput struct{ *pulumi.OutputState } + +func (GetSkeClusterExtensionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensions)(nil)).Elem() +} + +func (o GetSkeClusterExtensionsOutput) ToGetSkeClusterExtensionsOutput() GetSkeClusterExtensionsOutput { + return o +} + +func (o GetSkeClusterExtensionsOutput) ToGetSkeClusterExtensionsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsOutput { + 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. // -// GetSfsSnapshotPoliciesItemArray{ GetSfsSnapshotPoliciesItemArgs{...} } -type GetSfsSnapshotPoliciesItemArrayInput interface { +// 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) +} + +// A single observability block as defined below. +func (o GetSkeClusterExtensionsOutput) Observability() GetSkeClusterExtensionsObservabilityOutput { + return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsObservability { return v.Observability }).(GetSkeClusterExtensionsObservabilityOutput) +} + +type GetSkeClusterExtensionsAcl struct { + // Specify a list of CIDRs to whitelist + AllowedCidrs []string `pulumi:"allowedCidrs"` + // Is ACL enabled? + Enabled bool `pulumi:"enabled"` +} + +// 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 - ToGetSfsSnapshotPoliciesItemArrayOutput() GetSfsSnapshotPoliciesItemArrayOutput - ToGetSfsSnapshotPoliciesItemArrayOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemArrayOutput + ToGetSkeClusterExtensionsAclOutput() GetSkeClusterExtensionsAclOutput + ToGetSkeClusterExtensionsAclOutputWithContext(context.Context) GetSkeClusterExtensionsAclOutput +} + +type GetSkeClusterExtensionsAclArgs struct { + // Specify a list of CIDRs to whitelist + AllowedCidrs pulumi.StringArrayInput `pulumi:"allowedCidrs"` + // Is ACL enabled? + Enabled pulumi.BoolInput `pulumi:"enabled"` } -type GetSfsSnapshotPoliciesItemArray []GetSfsSnapshotPoliciesItemInput - -func (GetSfsSnapshotPoliciesItemArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItem)(nil)).Elem() +func (GetSkeClusterExtensionsAclArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensionsAcl)(nil)).Elem() } -func (i GetSfsSnapshotPoliciesItemArray) ToGetSfsSnapshotPoliciesItemArrayOutput() GetSfsSnapshotPoliciesItemArrayOutput { - return i.ToGetSfsSnapshotPoliciesItemArrayOutputWithContext(context.Background()) +func (i GetSkeClusterExtensionsAclArgs) ToGetSkeClusterExtensionsAclOutput() GetSkeClusterExtensionsAclOutput { + return i.ToGetSkeClusterExtensionsAclOutputWithContext(context.Background()) } -func (i GetSfsSnapshotPoliciesItemArray) ToGetSfsSnapshotPoliciesItemArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemArrayOutput) +func (i GetSkeClusterExtensionsAclArgs) ToGetSkeClusterExtensionsAclOutputWithContext(ctx context.Context) GetSkeClusterExtensionsAclOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsAclOutput) } -type GetSfsSnapshotPoliciesItemOutput struct{ *pulumi.OutputState } +type GetSkeClusterExtensionsAclOutput struct{ *pulumi.OutputState } -func (GetSfsSnapshotPoliciesItemOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsSnapshotPoliciesItem)(nil)).Elem() +func (GetSkeClusterExtensionsAclOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensionsAcl)(nil)).Elem() } -func (o GetSfsSnapshotPoliciesItemOutput) ToGetSfsSnapshotPoliciesItemOutput() GetSfsSnapshotPoliciesItemOutput { +func (o GetSkeClusterExtensionsAclOutput) ToGetSkeClusterExtensionsAclOutput() GetSkeClusterExtensionsAclOutput { return o } -func (o GetSfsSnapshotPoliciesItemOutput) ToGetSfsSnapshotPoliciesItemOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemOutput { +func (o GetSkeClusterExtensionsAclOutput) ToGetSkeClusterExtensionsAclOutputWithContext(ctx context.Context) GetSkeClusterExtensionsAclOutput { 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) +// 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) } -// Created At timestamp. -func (o GetSfsSnapshotPoliciesItemOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) string { return v.CreatedAt }).(pulumi.StringOutput) +// Is ACL enabled? +func (o GetSkeClusterExtensionsAclOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetSkeClusterExtensionsAcl) bool { return v.Enabled }).(pulumi.BoolOutput) } -// 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 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. -func (o GetSfsSnapshotPoliciesItemOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) string { return v.Id }).(pulumi.StringOutput) +// 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 } -// Name of the Snapshot Policy. -func (o GetSfsSnapshotPoliciesItemOutput) Name() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) string { return v.Name }).(pulumi.StringOutput) +type GetSkeClusterExtensionsArgusArgs struct { + // Instance ID of argus + ArgusInstanceId pulumi.StringInput `pulumi:"argusInstanceId"` + // Flag to enable/disable argus extensions. + Enabled pulumi.BoolInput `pulumi:"enabled"` } -func (o GetSfsSnapshotPoliciesItemOutput) SnapshotSchedules() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItem) []GetSfsSnapshotPoliciesItemSnapshotSchedule { - return v.SnapshotSchedules - }).(GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) +func (GetSkeClusterExtensionsArgusArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensionsArgus)(nil)).Elem() } -type GetSfsSnapshotPoliciesItemArrayOutput struct{ *pulumi.OutputState } +func (i GetSkeClusterExtensionsArgusArgs) ToGetSkeClusterExtensionsArgusOutput() GetSkeClusterExtensionsArgusOutput { + return i.ToGetSkeClusterExtensionsArgusOutputWithContext(context.Background()) +} -func (GetSfsSnapshotPoliciesItemArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItem)(nil)).Elem() +func (i GetSkeClusterExtensionsArgusArgs) ToGetSkeClusterExtensionsArgusOutputWithContext(ctx context.Context) GetSkeClusterExtensionsArgusOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsArgusOutput) } -func (o GetSfsSnapshotPoliciesItemArrayOutput) ToGetSfsSnapshotPoliciesItemArrayOutput() GetSfsSnapshotPoliciesItemArrayOutput { +type GetSkeClusterExtensionsArgusOutput struct{ *pulumi.OutputState } + +func (GetSkeClusterExtensionsArgusOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensionsArgus)(nil)).Elem() +} + +func (o GetSkeClusterExtensionsArgusOutput) ToGetSkeClusterExtensionsArgusOutput() GetSkeClusterExtensionsArgusOutput { return o } -func (o GetSfsSnapshotPoliciesItemArrayOutput) ToGetSfsSnapshotPoliciesItemArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemArrayOutput { +func (o GetSkeClusterExtensionsArgusOutput) ToGetSkeClusterExtensionsArgusOutputWithContext(ctx context.Context) GetSkeClusterExtensionsArgusOutput { 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) +// Instance ID of argus +func (o GetSkeClusterExtensionsArgusOutput) ArgusInstanceId() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterExtensionsArgus) string { return v.ArgusInstanceId }).(pulumi.StringOutput) } -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"` +// Flag to enable/disable argus extensions. +func (o GetSkeClusterExtensionsArgusOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetSkeClusterExtensionsArgus) bool { return v.Enabled }).(pulumi.BoolOutput) } -// GetSfsSnapshotPoliciesItemSnapshotScheduleInput is an input type that accepts GetSfsSnapshotPoliciesItemSnapshotScheduleArgs and GetSfsSnapshotPoliciesItemSnapshotScheduleOutput values. -// You can construct a concrete instance of `GetSfsSnapshotPoliciesItemSnapshotScheduleInput` via: +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"` +} + +// GetSkeClusterExtensionsDnsInput is an input type that accepts GetSkeClusterExtensionsDnsArgs and GetSkeClusterExtensionsDnsOutput values. +// You can construct a concrete instance of `GetSkeClusterExtensionsDnsInput` via: // -// GetSfsSnapshotPoliciesItemSnapshotScheduleArgs{...} -type GetSfsSnapshotPoliciesItemSnapshotScheduleInput interface { +// GetSkeClusterExtensionsDnsArgs{...} +type GetSkeClusterExtensionsDnsInput interface { pulumi.Input - ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleOutput - ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleOutput + ToGetSkeClusterExtensionsDnsOutput() GetSkeClusterExtensionsDnsOutput + ToGetSkeClusterExtensionsDnsOutputWithContext(context.Context) GetSkeClusterExtensionsDnsOutput } -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 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 (GetSfsSnapshotPoliciesItemSnapshotScheduleArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() +func (GetSkeClusterExtensionsDnsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensionsDns)(nil)).Elem() } -func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArgs) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { - return i.ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutputWithContext(context.Background()) +func (i GetSkeClusterExtensionsDnsArgs) ToGetSkeClusterExtensionsDnsOutput() GetSkeClusterExtensionsDnsOutput { + return i.ToGetSkeClusterExtensionsDnsOutputWithContext(context.Background()) } -func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArgs) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) +func (i GetSkeClusterExtensionsDnsArgs) ToGetSkeClusterExtensionsDnsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsDnsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsDnsOutput) } -// GetSfsSnapshotPoliciesItemSnapshotScheduleArrayInput is an input type that accepts GetSfsSnapshotPoliciesItemSnapshotScheduleArray and GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput values. -// You can construct a concrete instance of `GetSfsSnapshotPoliciesItemSnapshotScheduleArrayInput` via: -// -// GetSfsSnapshotPoliciesItemSnapshotScheduleArray{ GetSfsSnapshotPoliciesItemSnapshotScheduleArgs{...} } -type GetSfsSnapshotPoliciesItemSnapshotScheduleArrayInput interface { - pulumi.Input +type GetSkeClusterExtensionsDnsOutput struct{ *pulumi.OutputState } - ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput - ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput +func (GetSkeClusterExtensionsDnsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensionsDns)(nil)).Elem() } -type GetSfsSnapshotPoliciesItemSnapshotScheduleArray []GetSfsSnapshotPoliciesItemSnapshotScheduleInput +func (o GetSkeClusterExtensionsDnsOutput) ToGetSkeClusterExtensionsDnsOutput() GetSkeClusterExtensionsDnsOutput { + return o +} -func (GetSfsSnapshotPoliciesItemSnapshotScheduleArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() +func (o GetSkeClusterExtensionsDnsOutput) ToGetSkeClusterExtensionsDnsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsDnsOutput { + return o } -func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArray) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { - return i.ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(context.Background()) +// Flag to enable/disable DNS extensions +func (o GetSkeClusterExtensionsDnsOutput) Enabled() pulumi.BoolOutput { + return o.ApplyT(func(v GetSkeClusterExtensionsDns) bool { return v.Enabled }).(pulumi.BoolOutput) } -func (i GetSfsSnapshotPoliciesItemSnapshotScheduleArray) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) +// 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) } -type GetSfsSnapshotPoliciesItemSnapshotScheduleOutput struct{ *pulumi.OutputState } +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"` +} -func (GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() +// 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 } -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { - return o +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 GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleOutput { - return o +func (GetSkeClusterExtensionsObservabilityArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensionsObservability)(nil)).Elem() } -// Created At timestamp. -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) CreatedAt() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.CreatedAt }).(pulumi.StringOutput) +func (i GetSkeClusterExtensionsObservabilityArgs) ToGetSkeClusterExtensionsObservabilityOutput() GetSkeClusterExtensionsObservabilityOutput { + return i.ToGetSkeClusterExtensionsObservabilityOutputWithContext(context.Background()) } -// ID of the Snapshot Schedule. -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) string { return v.Id }).(pulumi.StringOutput) +func (i GetSkeClusterExtensionsObservabilityArgs) ToGetSkeClusterExtensionsObservabilityOutputWithContext(ctx context.Context) GetSkeClusterExtensionsObservabilityOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsObservabilityOutput) } -// 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) +type GetSkeClusterExtensionsObservabilityOutput struct{ *pulumi.OutputState } + +func (GetSkeClusterExtensionsObservabilityOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterExtensionsObservability)(nil)).Elem() } -// 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 GetSkeClusterExtensionsObservabilityOutput) ToGetSkeClusterExtensionsObservabilityOutput() GetSkeClusterExtensionsObservabilityOutput { + 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 GetSkeClusterExtensionsObservabilityOutput) ToGetSkeClusterExtensionsObservabilityOutputWithContext(ctx context.Context) GetSkeClusterExtensionsObservabilityOutput { + return o } -// Retention Count. -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleOutput) RetentionCount() pulumi.IntOutput { - return o.ApplyT(func(v GetSfsSnapshotPoliciesItemSnapshotSchedule) int { return v.RetentionCount }).(pulumi.IntOutput) +// 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) } -// 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) +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 GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput struct{ *pulumi.OutputState } +// GetSkeClusterHibernationInput is an input type that accepts GetSkeClusterHibernationArgs and GetSkeClusterHibernationOutput values. +// You can construct a concrete instance of `GetSkeClusterHibernationInput` via: +// +// GetSkeClusterHibernationArgs{...} +type GetSkeClusterHibernationInput interface { + pulumi.Input -func (GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSfsSnapshotPoliciesItemSnapshotSchedule)(nil)).Elem() + ToGetSkeClusterHibernationOutput() GetSkeClusterHibernationOutput + ToGetSkeClusterHibernationOutputWithContext(context.Context) GetSkeClusterHibernationOutput } -func (o GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput() GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { - return o +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 (o GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput) ToGetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutputWithContext(ctx context.Context) GetSfsSnapshotPoliciesItemSnapshotScheduleArrayOutput { - return o +func (GetSkeClusterHibernationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterHibernation)(nil)).Elem() } -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 GetSkeClusterHibernationArgs) ToGetSkeClusterHibernationOutput() GetSkeClusterHibernationOutput { + return i.ToGetSkeClusterHibernationOutputWithContext(context.Background()) } -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"` +func (i GetSkeClusterHibernationArgs) ToGetSkeClusterHibernationOutputWithContext(ctx context.Context) GetSkeClusterHibernationOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterHibernationOutput) } -// GetSkeClusterExtensionsInput is an input type that accepts GetSkeClusterExtensionsArgs and GetSkeClusterExtensionsOutput values. -// You can construct a concrete instance of `GetSkeClusterExtensionsInput` via: +// GetSkeClusterHibernationArrayInput is an input type that accepts GetSkeClusterHibernationArray and GetSkeClusterHibernationArrayOutput values. +// You can construct a concrete instance of `GetSkeClusterHibernationArrayInput` via: // -// GetSkeClusterExtensionsArgs{...} -type GetSkeClusterExtensionsInput interface { +// GetSkeClusterHibernationArray{ GetSkeClusterHibernationArgs{...} } +type GetSkeClusterHibernationArrayInput interface { pulumi.Input - ToGetSkeClusterExtensionsOutput() GetSkeClusterExtensionsOutput - ToGetSkeClusterExtensionsOutputWithContext(context.Context) GetSkeClusterExtensionsOutput + ToGetSkeClusterHibernationArrayOutput() GetSkeClusterHibernationArrayOutput + ToGetSkeClusterHibernationArrayOutputWithContext(context.Context) GetSkeClusterHibernationArrayOutput } -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 GetSkeClusterHibernationArray []GetSkeClusterHibernationInput -func (GetSkeClusterExtensionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensions)(nil)).Elem() +func (GetSkeClusterHibernationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeClusterHibernation)(nil)).Elem() } -func (i GetSkeClusterExtensionsArgs) ToGetSkeClusterExtensionsOutput() GetSkeClusterExtensionsOutput { - return i.ToGetSkeClusterExtensionsOutputWithContext(context.Background()) +func (i GetSkeClusterHibernationArray) ToGetSkeClusterHibernationArrayOutput() GetSkeClusterHibernationArrayOutput { + return i.ToGetSkeClusterHibernationArrayOutputWithContext(context.Background()) } -func (i GetSkeClusterExtensionsArgs) ToGetSkeClusterExtensionsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsOutput) +func (i GetSkeClusterHibernationArray) ToGetSkeClusterHibernationArrayOutputWithContext(ctx context.Context) GetSkeClusterHibernationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterHibernationArrayOutput) } -type GetSkeClusterExtensionsOutput struct{ *pulumi.OutputState } +type GetSkeClusterHibernationOutput struct{ *pulumi.OutputState } -func (GetSkeClusterExtensionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensions)(nil)).Elem() +func (GetSkeClusterHibernationOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterHibernation)(nil)).Elem() } -func (o GetSkeClusterExtensionsOutput) ToGetSkeClusterExtensionsOutput() GetSkeClusterExtensionsOutput { +func (o GetSkeClusterHibernationOutput) ToGetSkeClusterHibernationOutput() GetSkeClusterHibernationOutput { return o } -func (o GetSkeClusterExtensionsOutput) ToGetSkeClusterExtensionsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsOutput { +func (o GetSkeClusterHibernationOutput) ToGetSkeClusterHibernationOutputWithContext(ctx context.Context) GetSkeClusterHibernationOutput { return o } -// Cluster access control configuration -func (o GetSkeClusterExtensionsOutput) Acl() GetSkeClusterExtensionsAclOutput { - return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsAcl { return v.Acl }).(GetSkeClusterExtensionsAclOutput) +// 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) } -// 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) +// 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) } -// DNS extension configuration -func (o GetSkeClusterExtensionsOutput) Dns() GetSkeClusterExtensionsDnsOutput { - return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsDns { return v.Dns }).(GetSkeClusterExtensionsDnsOutput) +// 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) } -// A single observability block as defined below. -func (o GetSkeClusterExtensionsOutput) Observability() GetSkeClusterExtensionsObservabilityOutput { - return o.ApplyT(func(v GetSkeClusterExtensions) GetSkeClusterExtensionsObservability { return v.Observability }).(GetSkeClusterExtensionsObservabilityOutput) +type GetSkeClusterHibernationArrayOutput struct{ *pulumi.OutputState } + +func (GetSkeClusterHibernationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeClusterHibernation)(nil)).Elem() } -type GetSkeClusterExtensionsAcl struct { - // Specify a list of CIDRs to whitelist - AllowedCidrs []string `pulumi:"allowedCidrs"` - // Is ACL enabled? - Enabled bool `pulumi:"enabled"` +func (o GetSkeClusterHibernationArrayOutput) ToGetSkeClusterHibernationArrayOutput() GetSkeClusterHibernationArrayOutput { + return o } -// GetSkeClusterExtensionsAclInput is an input type that accepts GetSkeClusterExtensionsAclArgs and GetSkeClusterExtensionsAclOutput values. -// You can construct a concrete instance of `GetSkeClusterExtensionsAclInput` via: +func (o GetSkeClusterHibernationArrayOutput) ToGetSkeClusterHibernationArrayOutputWithContext(ctx context.Context) GetSkeClusterHibernationArrayOutput { + 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) +} + +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"` +} + +// GetSkeClusterMaintenanceInput is an input type that accepts GetSkeClusterMaintenanceArgs and GetSkeClusterMaintenanceOutput values. +// You can construct a concrete instance of `GetSkeClusterMaintenanceInput` via: // -// GetSkeClusterExtensionsAclArgs{...} -type GetSkeClusterExtensionsAclInput interface { +// GetSkeClusterMaintenanceArgs{...} +type GetSkeClusterMaintenanceInput interface { pulumi.Input - ToGetSkeClusterExtensionsAclOutput() GetSkeClusterExtensionsAclOutput - ToGetSkeClusterExtensionsAclOutputWithContext(context.Context) GetSkeClusterExtensionsAclOutput + ToGetSkeClusterMaintenanceOutput() GetSkeClusterMaintenanceOutput + ToGetSkeClusterMaintenanceOutputWithContext(context.Context) GetSkeClusterMaintenanceOutput } -type GetSkeClusterExtensionsAclArgs struct { - // Specify a list of CIDRs to whitelist - AllowedCidrs pulumi.StringArrayInput `pulumi:"allowedCidrs"` - // Is ACL enabled? - Enabled pulumi.BoolInput `pulumi:"enabled"` +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"` } -func (GetSkeClusterExtensionsAclArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsAcl)(nil)).Elem() +func (GetSkeClusterMaintenanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterMaintenance)(nil)).Elem() } -func (i GetSkeClusterExtensionsAclArgs) ToGetSkeClusterExtensionsAclOutput() GetSkeClusterExtensionsAclOutput { - return i.ToGetSkeClusterExtensionsAclOutputWithContext(context.Background()) +func (i GetSkeClusterMaintenanceArgs) ToGetSkeClusterMaintenanceOutput() GetSkeClusterMaintenanceOutput { + return i.ToGetSkeClusterMaintenanceOutputWithContext(context.Background()) } -func (i GetSkeClusterExtensionsAclArgs) ToGetSkeClusterExtensionsAclOutputWithContext(ctx context.Context) GetSkeClusterExtensionsAclOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsAclOutput) +func (i GetSkeClusterMaintenanceArgs) ToGetSkeClusterMaintenanceOutputWithContext(ctx context.Context) GetSkeClusterMaintenanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterMaintenanceOutput) } -type GetSkeClusterExtensionsAclOutput struct{ *pulumi.OutputState } +type GetSkeClusterMaintenanceOutput struct{ *pulumi.OutputState } -func (GetSkeClusterExtensionsAclOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsAcl)(nil)).Elem() +func (GetSkeClusterMaintenanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterMaintenance)(nil)).Elem() } -func (o GetSkeClusterExtensionsAclOutput) ToGetSkeClusterExtensionsAclOutput() GetSkeClusterExtensionsAclOutput { +func (o GetSkeClusterMaintenanceOutput) ToGetSkeClusterMaintenanceOutput() GetSkeClusterMaintenanceOutput { return o } -func (o GetSkeClusterExtensionsAclOutput) ToGetSkeClusterExtensionsAclOutputWithContext(ctx context.Context) GetSkeClusterExtensionsAclOutput { +func (o GetSkeClusterMaintenanceOutput) ToGetSkeClusterMaintenanceOutputWithContext(ctx context.Context) GetSkeClusterMaintenanceOutput { 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) +// 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) } -// Is ACL enabled? -func (o GetSkeClusterExtensionsAclOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetSkeClusterExtensionsAcl) bool { return v.Enabled }).(pulumi.BoolOutput) +// 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) } -type GetSkeClusterExtensionsArgus struct { - // Instance ID of argus - ArgusInstanceId string `pulumi:"argusInstanceId"` - // Flag to enable/disable argus extensions. - Enabled bool `pulumi:"enabled"` +// Date time for maintenance window end. +func (o GetSkeClusterMaintenanceOutput) End() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterMaintenance) string { return v.End }).(pulumi.StringOutput) } -// 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 +// Date time for maintenance window start. +func (o GetSkeClusterMaintenanceOutput) Start() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterMaintenance) string { return v.Start }).(pulumi.StringOutput) +} - ToGetSkeClusterExtensionsArgusOutput() GetSkeClusterExtensionsArgusOutput - ToGetSkeClusterExtensionsArgusOutputWithContext(context.Context) GetSkeClusterExtensionsArgusOutput +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"` } -type GetSkeClusterExtensionsArgusArgs struct { - // Instance ID of argus - ArgusInstanceId pulumi.StringInput `pulumi:"argusInstanceId"` - // Flag to enable/disable argus extensions. - Enabled pulumi.BoolInput `pulumi:"enabled"` +// 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 + + ToGetSkeClusterNetworkOutput() GetSkeClusterNetworkOutput + ToGetSkeClusterNetworkOutputWithContext(context.Context) GetSkeClusterNetworkOutput } -func (GetSkeClusterExtensionsArgusArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsArgus)(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 (i GetSkeClusterExtensionsArgusArgs) ToGetSkeClusterExtensionsArgusOutput() GetSkeClusterExtensionsArgusOutput { - return i.ToGetSkeClusterExtensionsArgusOutputWithContext(context.Background()) +func (GetSkeClusterNetworkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNetwork)(nil)).Elem() } -func (i GetSkeClusterExtensionsArgusArgs) ToGetSkeClusterExtensionsArgusOutputWithContext(ctx context.Context) GetSkeClusterExtensionsArgusOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsArgusOutput) +func (i GetSkeClusterNetworkArgs) ToGetSkeClusterNetworkOutput() GetSkeClusterNetworkOutput { + return i.ToGetSkeClusterNetworkOutputWithContext(context.Background()) } -type GetSkeClusterExtensionsArgusOutput struct{ *pulumi.OutputState } +func (i GetSkeClusterNetworkArgs) ToGetSkeClusterNetworkOutputWithContext(ctx context.Context) GetSkeClusterNetworkOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNetworkOutput) +} -func (GetSkeClusterExtensionsArgusOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsArgus)(nil)).Elem() +type GetSkeClusterNetworkOutput struct{ *pulumi.OutputState } + +func (GetSkeClusterNetworkOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNetwork)(nil)).Elem() } -func (o GetSkeClusterExtensionsArgusOutput) ToGetSkeClusterExtensionsArgusOutput() GetSkeClusterExtensionsArgusOutput { +func (o GetSkeClusterNetworkOutput) ToGetSkeClusterNetworkOutput() GetSkeClusterNetworkOutput { return o } -func (o GetSkeClusterExtensionsArgusOutput) ToGetSkeClusterExtensionsArgusOutputWithContext(ctx context.Context) GetSkeClusterExtensionsArgusOutput { +func (o GetSkeClusterNetworkOutput) ToGetSkeClusterNetworkOutputWithContext(ctx context.Context) GetSkeClusterNetworkOutput { return o } -// Instance ID of argus -func (o GetSkeClusterExtensionsArgusOutput) ArgusInstanceId() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterExtensionsArgus) string { return v.ArgusInstanceId }).(pulumi.StringOutput) +// Control plane for the cluster. +func (o GetSkeClusterNetworkOutput) ControlPlane() GetSkeClusterNetworkControlPlaneOutput { + return o.ApplyT(func(v GetSkeClusterNetwork) GetSkeClusterNetworkControlPlane { return v.ControlPlane }).(GetSkeClusterNetworkControlPlaneOutput) } -// Flag to enable/disable argus extensions. -func (o GetSkeClusterExtensionsArgusOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetSkeClusterExtensionsArgus) bool { return v.Enabled }).(pulumi.BoolOutput) +// 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 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 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"` } -// GetSkeClusterExtensionsDnsInput is an input type that accepts GetSkeClusterExtensionsDnsArgs and GetSkeClusterExtensionsDnsOutput values. -// You can construct a concrete instance of `GetSkeClusterExtensionsDnsInput` via: +// GetSkeClusterNetworkControlPlaneInput is an input type that accepts GetSkeClusterNetworkControlPlaneArgs and GetSkeClusterNetworkControlPlaneOutput values. +// You can construct a concrete instance of `GetSkeClusterNetworkControlPlaneInput` via: // -// GetSkeClusterExtensionsDnsArgs{...} -type GetSkeClusterExtensionsDnsInput interface { +// GetSkeClusterNetworkControlPlaneArgs{...} +type GetSkeClusterNetworkControlPlaneInput interface { pulumi.Input - ToGetSkeClusterExtensionsDnsOutput() GetSkeClusterExtensionsDnsOutput - ToGetSkeClusterExtensionsDnsOutputWithContext(context.Context) GetSkeClusterExtensionsDnsOutput + ToGetSkeClusterNetworkControlPlaneOutput() GetSkeClusterNetworkControlPlaneOutput + ToGetSkeClusterNetworkControlPlaneOutputWithContext(context.Context) GetSkeClusterNetworkControlPlaneOutput } -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"` +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 (GetSkeClusterExtensionsDnsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsDns)(nil)).Elem() +func (GetSkeClusterNetworkControlPlaneArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNetworkControlPlane)(nil)).Elem() } -func (i GetSkeClusterExtensionsDnsArgs) ToGetSkeClusterExtensionsDnsOutput() GetSkeClusterExtensionsDnsOutput { - return i.ToGetSkeClusterExtensionsDnsOutputWithContext(context.Background()) +func (i GetSkeClusterNetworkControlPlaneArgs) ToGetSkeClusterNetworkControlPlaneOutput() GetSkeClusterNetworkControlPlaneOutput { + return i.ToGetSkeClusterNetworkControlPlaneOutputWithContext(context.Background()) } -func (i GetSkeClusterExtensionsDnsArgs) ToGetSkeClusterExtensionsDnsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsDnsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsDnsOutput) +func (i GetSkeClusterNetworkControlPlaneArgs) ToGetSkeClusterNetworkControlPlaneOutputWithContext(ctx context.Context) GetSkeClusterNetworkControlPlaneOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNetworkControlPlaneOutput) } -type GetSkeClusterExtensionsDnsOutput struct{ *pulumi.OutputState } +type GetSkeClusterNetworkControlPlaneOutput struct{ *pulumi.OutputState } -func (GetSkeClusterExtensionsDnsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsDns)(nil)).Elem() +func (GetSkeClusterNetworkControlPlaneOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNetworkControlPlane)(nil)).Elem() } -func (o GetSkeClusterExtensionsDnsOutput) ToGetSkeClusterExtensionsDnsOutput() GetSkeClusterExtensionsDnsOutput { +func (o GetSkeClusterNetworkControlPlaneOutput) ToGetSkeClusterNetworkControlPlaneOutput() GetSkeClusterNetworkControlPlaneOutput { return o } -func (o GetSkeClusterExtensionsDnsOutput) ToGetSkeClusterExtensionsDnsOutputWithContext(ctx context.Context) GetSkeClusterExtensionsDnsOutput { +func (o GetSkeClusterNetworkControlPlaneOutput) ToGetSkeClusterNetworkControlPlaneOutputWithContext(ctx context.Context) GetSkeClusterNetworkControlPlaneOutput { return o } -// Flag to enable/disable DNS extensions -func (o GetSkeClusterExtensionsDnsOutput) Enabled() pulumi.BoolOutput { - return o.ApplyT(func(v GetSkeClusterExtensionsDns) 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) } -// 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) +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"` } -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"` +// 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 + + ToGetSkeClusterNodePoolOutput() GetSkeClusterNodePoolOutput + ToGetSkeClusterNodePoolOutputWithContext(context.Context) GetSkeClusterNodePoolOutput } -// GetSkeClusterExtensionsObservabilityInput is an input type that accepts GetSkeClusterExtensionsObservabilityArgs and GetSkeClusterExtensionsObservabilityOutput values. -// You can construct a concrete instance of `GetSkeClusterExtensionsObservabilityInput` via: +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 (GetSkeClusterNodePoolArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNodePool)(nil)).Elem() +} + +func (i GetSkeClusterNodePoolArgs) ToGetSkeClusterNodePoolOutput() GetSkeClusterNodePoolOutput { + return i.ToGetSkeClusterNodePoolOutputWithContext(context.Background()) +} + +func (i GetSkeClusterNodePoolArgs) ToGetSkeClusterNodePoolOutputWithContext(ctx context.Context) GetSkeClusterNodePoolOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolOutput) +} + +// GetSkeClusterNodePoolArrayInput is an input type that accepts GetSkeClusterNodePoolArray and GetSkeClusterNodePoolArrayOutput values. +// You can construct a concrete instance of `GetSkeClusterNodePoolArrayInput` via: // -// GetSkeClusterExtensionsObservabilityArgs{...} -type GetSkeClusterExtensionsObservabilityInput interface { +// GetSkeClusterNodePoolArray{ GetSkeClusterNodePoolArgs{...} } +type GetSkeClusterNodePoolArrayInput interface { pulumi.Input - ToGetSkeClusterExtensionsObservabilityOutput() GetSkeClusterExtensionsObservabilityOutput - ToGetSkeClusterExtensionsObservabilityOutputWithContext(context.Context) GetSkeClusterExtensionsObservabilityOutput + ToGetSkeClusterNodePoolArrayOutput() GetSkeClusterNodePoolArrayOutput + ToGetSkeClusterNodePoolArrayOutputWithContext(context.Context) GetSkeClusterNodePoolArrayOutput } -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"` -} +type GetSkeClusterNodePoolArray []GetSkeClusterNodePoolInput -func (GetSkeClusterExtensionsObservabilityArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsObservability)(nil)).Elem() +func (GetSkeClusterNodePoolArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeClusterNodePool)(nil)).Elem() } -func (i GetSkeClusterExtensionsObservabilityArgs) ToGetSkeClusterExtensionsObservabilityOutput() GetSkeClusterExtensionsObservabilityOutput { - return i.ToGetSkeClusterExtensionsObservabilityOutputWithContext(context.Background()) +func (i GetSkeClusterNodePoolArray) ToGetSkeClusterNodePoolArrayOutput() GetSkeClusterNodePoolArrayOutput { + return i.ToGetSkeClusterNodePoolArrayOutputWithContext(context.Background()) } -func (i GetSkeClusterExtensionsObservabilityArgs) ToGetSkeClusterExtensionsObservabilityOutputWithContext(ctx context.Context) GetSkeClusterExtensionsObservabilityOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterExtensionsObservabilityOutput) +func (i GetSkeClusterNodePoolArray) ToGetSkeClusterNodePoolArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolArrayOutput) } -type GetSkeClusterExtensionsObservabilityOutput struct{ *pulumi.OutputState } +type GetSkeClusterNodePoolOutput struct{ *pulumi.OutputState } -func (GetSkeClusterExtensionsObservabilityOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterExtensionsObservability)(nil)).Elem() +func (GetSkeClusterNodePoolOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNodePool)(nil)).Elem() } -func (o GetSkeClusterExtensionsObservabilityOutput) ToGetSkeClusterExtensionsObservabilityOutput() GetSkeClusterExtensionsObservabilityOutput { +func (o GetSkeClusterNodePoolOutput) ToGetSkeClusterNodePoolOutput() GetSkeClusterNodePoolOutput { return o } -func (o GetSkeClusterExtensionsObservabilityOutput) ToGetSkeClusterExtensionsObservabilityOutputWithContext(ctx context.Context) GetSkeClusterExtensionsObservabilityOutput { +func (o GetSkeClusterNodePoolOutput) ToGetSkeClusterNodePoolOutputWithContext(ctx context.Context) GetSkeClusterNodePoolOutput { 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) +// 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) +} + +// Specify a list of availability zones. +func (o GetSkeClusterNodePoolOutput) AvailabilityZones() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) []string { return v.AvailabilityZones }).(pulumi.StringArrayOutput) +} + +// Specifies the container runtime. +func (o GetSkeClusterNodePoolOutput) Cri() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.Cri }).(pulumi.StringOutput) } -// 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) +// 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 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"` +// The machine type. +func (o GetSkeClusterNodePoolOutput) MachineType() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.MachineType }).(pulumi.StringOutput) } -// GetSkeClusterHibernationInput is an input type that accepts GetSkeClusterHibernationArgs and GetSkeClusterHibernationOutput values. -// You can construct a concrete instance of `GetSkeClusterHibernationInput` via: -// -// GetSkeClusterHibernationArgs{...} -type GetSkeClusterHibernationInput interface { - pulumi.Input +// 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) +} - ToGetSkeClusterHibernationOutput() GetSkeClusterHibernationOutput - ToGetSkeClusterHibernationOutputWithContext(context.Context) GetSkeClusterHibernationOutput +// 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) } -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"` +// 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 (GetSkeClusterHibernationArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterHibernation)(nil)).Elem() +// 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 (i GetSkeClusterHibernationArgs) ToGetSkeClusterHibernationOutput() GetSkeClusterHibernationOutput { - return i.ToGetSkeClusterHibernationOutputWithContext(context.Background()) +// 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) } -func (i GetSkeClusterHibernationArgs) ToGetSkeClusterHibernationOutputWithContext(ctx context.Context) GetSkeClusterHibernationOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterHibernationOutput) +// The name of the OS image. +func (o GetSkeClusterNodePoolOutput) OsName() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.OsName }).(pulumi.StringOutput) } -// GetSkeClusterHibernationArrayInput is an input type that accepts GetSkeClusterHibernationArray and GetSkeClusterHibernationArrayOutput values. -// You can construct a concrete instance of `GetSkeClusterHibernationArrayInput` via: -// -// GetSkeClusterHibernationArray{ GetSkeClusterHibernationArgs{...} } -type GetSkeClusterHibernationArrayInput 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) +} - ToGetSkeClusterHibernationArrayOutput() GetSkeClusterHibernationArrayOutput - ToGetSkeClusterHibernationArrayOutputWithContext(context.Context) GetSkeClusterHibernationArrayOutput +// 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 GetSkeClusterHibernationArray []GetSkeClusterHibernationInput +// 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 (GetSkeClusterHibernationArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeClusterHibernation)(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 GetSkeClusterHibernationArray) ToGetSkeClusterHibernationArrayOutput() GetSkeClusterHibernationArrayOutput { - return i.ToGetSkeClusterHibernationArrayOutputWithContext(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 GetSkeClusterHibernationArray) ToGetSkeClusterHibernationArrayOutputWithContext(ctx context.Context) GetSkeClusterHibernationArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterHibernationArrayOutput) +// Specifies the volume type. +func (o GetSkeClusterNodePoolOutput) VolumeType() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.VolumeType }).(pulumi.StringOutput) } -type GetSkeClusterHibernationOutput struct{ *pulumi.OutputState } +type GetSkeClusterNodePoolArrayOutput struct{ *pulumi.OutputState } -func (GetSkeClusterHibernationOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterHibernation)(nil)).Elem() +func (GetSkeClusterNodePoolArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeClusterNodePool)(nil)).Elem() } -func (o GetSkeClusterHibernationOutput) ToGetSkeClusterHibernationOutput() GetSkeClusterHibernationOutput { +func (o GetSkeClusterNodePoolArrayOutput) ToGetSkeClusterNodePoolArrayOutput() GetSkeClusterNodePoolArrayOutput { return o } -func (o GetSkeClusterHibernationOutput) ToGetSkeClusterHibernationOutputWithContext(ctx context.Context) GetSkeClusterHibernationOutput { +func (o GetSkeClusterNodePoolArrayOutput) ToGetSkeClusterNodePoolArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolArrayOutput { 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) -} - -// 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) +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) } -// 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) +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 GetSkeClusterHibernationArrayOutput struct{ *pulumi.OutputState } +// GetSkeClusterNodePoolTaintInput is an input type that accepts GetSkeClusterNodePoolTaintArgs and GetSkeClusterNodePoolTaintOutput values. +// You can construct a concrete instance of `GetSkeClusterNodePoolTaintInput` via: +// +// GetSkeClusterNodePoolTaintArgs{...} +type GetSkeClusterNodePoolTaintInput interface { + pulumi.Input -func (GetSkeClusterHibernationArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeClusterHibernation)(nil)).Elem() + ToGetSkeClusterNodePoolTaintOutput() GetSkeClusterNodePoolTaintOutput + ToGetSkeClusterNodePoolTaintOutputWithContext(context.Context) GetSkeClusterNodePoolTaintOutput } -func (o GetSkeClusterHibernationArrayOutput) ToGetSkeClusterHibernationArrayOutput() GetSkeClusterHibernationArrayOutput { - return o +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 (o GetSkeClusterHibernationArrayOutput) ToGetSkeClusterHibernationArrayOutputWithContext(ctx context.Context) GetSkeClusterHibernationArrayOutput { - return o +func (GetSkeClusterNodePoolTaintArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNodePoolTaint)(nil)).Elem() } -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 (i GetSkeClusterNodePoolTaintArgs) ToGetSkeClusterNodePoolTaintOutput() GetSkeClusterNodePoolTaintOutput { + return i.ToGetSkeClusterNodePoolTaintOutputWithContext(context.Background()) } -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"` +func (i GetSkeClusterNodePoolTaintArgs) ToGetSkeClusterNodePoolTaintOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolTaintOutput) } -// GetSkeClusterMaintenanceInput is an input type that accepts GetSkeClusterMaintenanceArgs and GetSkeClusterMaintenanceOutput values. -// You can construct a concrete instance of `GetSkeClusterMaintenanceInput` via: +// GetSkeClusterNodePoolTaintArrayInput is an input type that accepts GetSkeClusterNodePoolTaintArray and GetSkeClusterNodePoolTaintArrayOutput values. +// You can construct a concrete instance of `GetSkeClusterNodePoolTaintArrayInput` via: // -// GetSkeClusterMaintenanceArgs{...} -type GetSkeClusterMaintenanceInput interface { +// GetSkeClusterNodePoolTaintArray{ GetSkeClusterNodePoolTaintArgs{...} } +type GetSkeClusterNodePoolTaintArrayInput interface { pulumi.Input - ToGetSkeClusterMaintenanceOutput() GetSkeClusterMaintenanceOutput - ToGetSkeClusterMaintenanceOutputWithContext(context.Context) GetSkeClusterMaintenanceOutput + ToGetSkeClusterNodePoolTaintArrayOutput() GetSkeClusterNodePoolTaintArrayOutput + ToGetSkeClusterNodePoolTaintArrayOutputWithContext(context.Context) GetSkeClusterNodePoolTaintArrayOutput } -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 GetSkeClusterNodePoolTaintArray []GetSkeClusterNodePoolTaintInput -func (GetSkeClusterMaintenanceArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterMaintenance)(nil)).Elem() +func (GetSkeClusterNodePoolTaintArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeClusterNodePoolTaint)(nil)).Elem() } -func (i GetSkeClusterMaintenanceArgs) ToGetSkeClusterMaintenanceOutput() GetSkeClusterMaintenanceOutput { - return i.ToGetSkeClusterMaintenanceOutputWithContext(context.Background()) +func (i GetSkeClusterNodePoolTaintArray) ToGetSkeClusterNodePoolTaintArrayOutput() GetSkeClusterNodePoolTaintArrayOutput { + return i.ToGetSkeClusterNodePoolTaintArrayOutputWithContext(context.Background()) } -func (i GetSkeClusterMaintenanceArgs) ToGetSkeClusterMaintenanceOutputWithContext(ctx context.Context) GetSkeClusterMaintenanceOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterMaintenanceOutput) +func (i GetSkeClusterNodePoolTaintArray) ToGetSkeClusterNodePoolTaintArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolTaintArrayOutput) } -type GetSkeClusterMaintenanceOutput struct{ *pulumi.OutputState } +type GetSkeClusterNodePoolTaintOutput struct{ *pulumi.OutputState } -func (GetSkeClusterMaintenanceOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterMaintenance)(nil)).Elem() +func (GetSkeClusterNodePoolTaintOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeClusterNodePoolTaint)(nil)).Elem() } -func (o GetSkeClusterMaintenanceOutput) ToGetSkeClusterMaintenanceOutput() GetSkeClusterMaintenanceOutput { +func (o GetSkeClusterNodePoolTaintOutput) ToGetSkeClusterNodePoolTaintOutput() GetSkeClusterNodePoolTaintOutput { return o } -func (o GetSkeClusterMaintenanceOutput) ToGetSkeClusterMaintenanceOutputWithContext(ctx context.Context) GetSkeClusterMaintenanceOutput { +func (o GetSkeClusterNodePoolTaintOutput) ToGetSkeClusterNodePoolTaintOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintOutput { 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) +// The taint effect. +func (o GetSkeClusterNodePoolTaintOutput) Effect() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeClusterNodePoolTaint) string { return v.Effect }).(pulumi.StringOutput) } -// 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) +// 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) } -// Date time for maintenance window end. -func (o GetSkeClusterMaintenanceOutput) End() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterMaintenance) string { return v.End }).(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) } -// 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 GetSkeClusterNodePoolTaintArrayOutput struct{ *pulumi.OutputState } + +func (GetSkeClusterNodePoolTaintArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeClusterNodePoolTaint)(nil)).Elem() } -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"` +func (o GetSkeClusterNodePoolTaintArrayOutput) ToGetSkeClusterNodePoolTaintArrayOutput() GetSkeClusterNodePoolTaintArrayOutput { + return o +} + +func (o GetSkeClusterNodePoolTaintArrayOutput) ToGetSkeClusterNodePoolTaintArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintArrayOutput { + return o +} + +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 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"` } -// GetSkeClusterNetworkInput is an input type that accepts GetSkeClusterNetworkArgs and GetSkeClusterNetworkOutput values. -// You can construct a concrete instance of `GetSkeClusterNetworkInput` via: +// GetSkeKubernetesVersionsKubernetesVersionInput is an input type that accepts GetSkeKubernetesVersionsKubernetesVersionArgs and GetSkeKubernetesVersionsKubernetesVersionOutput values. +// You can construct a concrete instance of `GetSkeKubernetesVersionsKubernetesVersionInput` via: // -// GetSkeClusterNetworkArgs{...} -type GetSkeClusterNetworkInput interface { +// GetSkeKubernetesVersionsKubernetesVersionArgs{...} +type GetSkeKubernetesVersionsKubernetesVersionInput interface { pulumi.Input - ToGetSkeClusterNetworkOutput() GetSkeClusterNetworkOutput - ToGetSkeClusterNetworkOutputWithContext(context.Context) GetSkeClusterNetworkOutput + ToGetSkeKubernetesVersionsKubernetesVersionOutput() GetSkeKubernetesVersionsKubernetesVersionOutput + ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(context.Context) GetSkeKubernetesVersionsKubernetesVersionOutput } -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"` +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 (GetSkeClusterNetworkArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNetwork)(nil)).Elem() +func (GetSkeKubernetesVersionsKubernetesVersionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() } -func (i GetSkeClusterNetworkArgs) ToGetSkeClusterNetworkOutput() GetSkeClusterNetworkOutput { - return i.ToGetSkeClusterNetworkOutputWithContext(context.Background()) +func (i GetSkeKubernetesVersionsKubernetesVersionArgs) ToGetSkeKubernetesVersionsKubernetesVersionOutput() GetSkeKubernetesVersionsKubernetesVersionOutput { + return i.ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(context.Background()) } -func (i GetSkeClusterNetworkArgs) ToGetSkeClusterNetworkOutputWithContext(ctx context.Context) GetSkeClusterNetworkOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNetworkOutput) +func (i GetSkeKubernetesVersionsKubernetesVersionArgs) ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeKubernetesVersionsKubernetesVersionOutput) } -type GetSkeClusterNetworkOutput 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 (GetSkeClusterNetworkOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNetwork)(nil)).Elem() + ToGetSkeKubernetesVersionsKubernetesVersionArrayOutput() GetSkeKubernetesVersionsKubernetesVersionArrayOutput + ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(context.Context) GetSkeKubernetesVersionsKubernetesVersionArrayOutput } -func (o GetSkeClusterNetworkOutput) ToGetSkeClusterNetworkOutput() GetSkeClusterNetworkOutput { - return o -} +type GetSkeKubernetesVersionsKubernetesVersionArray []GetSkeKubernetesVersionsKubernetesVersionInput -func (o GetSkeClusterNetworkOutput) ToGetSkeClusterNetworkOutputWithContext(ctx context.Context) GetSkeClusterNetworkOutput { - return o +func (GetSkeKubernetesVersionsKubernetesVersionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() } -// Control plane for the cluster. -func (o GetSkeClusterNetworkOutput) ControlPlane() GetSkeClusterNetworkControlPlaneOutput { - return o.ApplyT(func(v GetSkeClusterNetwork) GetSkeClusterNetworkControlPlane { return v.ControlPlane }).(GetSkeClusterNetworkControlPlaneOutput) +func (i GetSkeKubernetesVersionsKubernetesVersionArray) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutput() GetSkeKubernetesVersionsKubernetesVersionArrayOutput { + return i.ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(context.Background()) } -// 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 GetSkeKubernetesVersionsKubernetesVersionArray) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeKubernetesVersionsKubernetesVersionArrayOutput) } -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"` +type GetSkeKubernetesVersionsKubernetesVersionOutput struct{ *pulumi.OutputState } + +func (GetSkeKubernetesVersionsKubernetesVersionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() } -// GetSkeClusterNetworkControlPlaneInput is an input type that accepts GetSkeClusterNetworkControlPlaneArgs and GetSkeClusterNetworkControlPlaneOutput values. -// You can construct a concrete instance of `GetSkeClusterNetworkControlPlaneInput` via: -// -// GetSkeClusterNetworkControlPlaneArgs{...} -type GetSkeClusterNetworkControlPlaneInput interface { - pulumi.Input +func (o GetSkeKubernetesVersionsKubernetesVersionOutput) ToGetSkeKubernetesVersionsKubernetesVersionOutput() GetSkeKubernetesVersionsKubernetesVersionOutput { + return o +} - ToGetSkeClusterNetworkControlPlaneOutput() GetSkeClusterNetworkControlPlaneOutput - ToGetSkeClusterNetworkControlPlaneOutputWithContext(context.Context) GetSkeClusterNetworkControlPlaneOutput +func (o GetSkeKubernetesVersionsKubernetesVersionOutput) ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionOutput { + return o } -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"` +// 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) } -func (GetSkeClusterNetworkControlPlaneArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNetworkControlPlane)(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 GetSkeClusterNetworkControlPlaneArgs) ToGetSkeClusterNetworkControlPlaneOutput() GetSkeClusterNetworkControlPlaneOutput { - return i.ToGetSkeClusterNetworkControlPlaneOutputWithContext(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 GetSkeClusterNetworkControlPlaneArgs) ToGetSkeClusterNetworkControlPlaneOutputWithContext(ctx context.Context) GetSkeClusterNetworkControlPlaneOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNetworkControlPlaneOutput) +// Kubernetes version string (e.g., `1.33.6`). +func (o GetSkeKubernetesVersionsKubernetesVersionOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeKubernetesVersionsKubernetesVersion) string { return v.Version }).(pulumi.StringOutput) } -type GetSkeClusterNetworkControlPlaneOutput struct{ *pulumi.OutputState } +type GetSkeKubernetesVersionsKubernetesVersionArrayOutput struct{ *pulumi.OutputState } -func (GetSkeClusterNetworkControlPlaneOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNetworkControlPlane)(nil)).Elem() +func (GetSkeKubernetesVersionsKubernetesVersionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() } -func (o GetSkeClusterNetworkControlPlaneOutput) ToGetSkeClusterNetworkControlPlaneOutput() GetSkeClusterNetworkControlPlaneOutput { +func (o GetSkeKubernetesVersionsKubernetesVersionArrayOutput) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutput() GetSkeKubernetesVersionsKubernetesVersionArrayOutput { return o } -func (o GetSkeClusterNetworkControlPlaneOutput) ToGetSkeClusterNetworkControlPlaneOutputWithContext(ctx context.Context) GetSkeClusterNetworkControlPlaneOutput { +func (o GetSkeKubernetesVersionsKubernetesVersionArrayOutput) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionArrayOutput { 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) +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 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. +type GetSkeMachineImageVersionsMachineImage struct { + // Name of the OS image (e.g., `ubuntu` or `flatcar`). 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. + Versions []GetSkeMachineImageVersionsMachineImageVersion `pulumi:"versions"` } -// GetSkeClusterNodePoolInput is an input type that accepts GetSkeClusterNodePoolArgs and GetSkeClusterNodePoolOutput values. -// You can construct a concrete instance of `GetSkeClusterNodePoolInput` via: +// GetSkeMachineImageVersionsMachineImageInput is an input type that accepts GetSkeMachineImageVersionsMachineImageArgs and GetSkeMachineImageVersionsMachineImageOutput values. +// You can construct a concrete instance of `GetSkeMachineImageVersionsMachineImageInput` via: // -// GetSkeClusterNodePoolArgs{...} -type GetSkeClusterNodePoolInput interface { +// GetSkeMachineImageVersionsMachineImageArgs{...} +type GetSkeMachineImageVersionsMachineImageInput interface { pulumi.Input - ToGetSkeClusterNodePoolOutput() GetSkeClusterNodePoolOutput - ToGetSkeClusterNodePoolOutputWithContext(context.Context) GetSkeClusterNodePoolOutput + ToGetSkeMachineImageVersionsMachineImageOutput() GetSkeMachineImageVersionsMachineImageOutput + ToGetSkeMachineImageVersionsMachineImageOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageOutput } -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. +type GetSkeMachineImageVersionsMachineImageArgs struct { + // Name of the OS image (e.g., `ubuntu` or `flatcar`). 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"` + // Supported versions of the image. + Versions GetSkeMachineImageVersionsMachineImageVersionArrayInput `pulumi:"versions"` } -func (GetSkeClusterNodePoolArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNodePool)(nil)).Elem() +func (GetSkeMachineImageVersionsMachineImageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImage)(nil)).Elem() } -func (i GetSkeClusterNodePoolArgs) ToGetSkeClusterNodePoolOutput() GetSkeClusterNodePoolOutput { - return i.ToGetSkeClusterNodePoolOutputWithContext(context.Background()) +func (i GetSkeMachineImageVersionsMachineImageArgs) ToGetSkeMachineImageVersionsMachineImageOutput() GetSkeMachineImageVersionsMachineImageOutput { + return i.ToGetSkeMachineImageVersionsMachineImageOutputWithContext(context.Background()) } -func (i GetSkeClusterNodePoolArgs) ToGetSkeClusterNodePoolOutputWithContext(ctx context.Context) GetSkeClusterNodePoolOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolOutput) +func (i GetSkeMachineImageVersionsMachineImageArgs) ToGetSkeMachineImageVersionsMachineImageOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageOutput) } -// GetSkeClusterNodePoolArrayInput is an input type that accepts GetSkeClusterNodePoolArray and GetSkeClusterNodePoolArrayOutput values. -// You can construct a concrete instance of `GetSkeClusterNodePoolArrayInput` via: +// GetSkeMachineImageVersionsMachineImageArrayInput is an input type that accepts GetSkeMachineImageVersionsMachineImageArray and GetSkeMachineImageVersionsMachineImageArrayOutput values. +// You can construct a concrete instance of `GetSkeMachineImageVersionsMachineImageArrayInput` via: // -// GetSkeClusterNodePoolArray{ GetSkeClusterNodePoolArgs{...} } -type GetSkeClusterNodePoolArrayInput interface { +// GetSkeMachineImageVersionsMachineImageArray{ GetSkeMachineImageVersionsMachineImageArgs{...} } +type GetSkeMachineImageVersionsMachineImageArrayInput interface { pulumi.Input - ToGetSkeClusterNodePoolArrayOutput() GetSkeClusterNodePoolArrayOutput - ToGetSkeClusterNodePoolArrayOutputWithContext(context.Context) GetSkeClusterNodePoolArrayOutput + ToGetSkeMachineImageVersionsMachineImageArrayOutput() GetSkeMachineImageVersionsMachineImageArrayOutput + ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageArrayOutput } -type GetSkeClusterNodePoolArray []GetSkeClusterNodePoolInput +type GetSkeMachineImageVersionsMachineImageArray []GetSkeMachineImageVersionsMachineImageInput -func (GetSkeClusterNodePoolArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeClusterNodePool)(nil)).Elem() +func (GetSkeMachineImageVersionsMachineImageArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImage)(nil)).Elem() } -func (i GetSkeClusterNodePoolArray) ToGetSkeClusterNodePoolArrayOutput() GetSkeClusterNodePoolArrayOutput { - return i.ToGetSkeClusterNodePoolArrayOutputWithContext(context.Background()) +func (i GetSkeMachineImageVersionsMachineImageArray) ToGetSkeMachineImageVersionsMachineImageArrayOutput() GetSkeMachineImageVersionsMachineImageArrayOutput { + return i.ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(context.Background()) } -func (i GetSkeClusterNodePoolArray) ToGetSkeClusterNodePoolArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolArrayOutput) +func (i GetSkeMachineImageVersionsMachineImageArray) ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageArrayOutput) } -type GetSkeClusterNodePoolOutput struct{ *pulumi.OutputState } +type GetSkeMachineImageVersionsMachineImageOutput struct{ *pulumi.OutputState } -func (GetSkeClusterNodePoolOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNodePool)(nil)).Elem() +func (GetSkeMachineImageVersionsMachineImageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImage)(nil)).Elem() } -func (o GetSkeClusterNodePoolOutput) ToGetSkeClusterNodePoolOutput() GetSkeClusterNodePoolOutput { +func (o GetSkeMachineImageVersionsMachineImageOutput) ToGetSkeMachineImageVersionsMachineImageOutput() GetSkeMachineImageVersionsMachineImageOutput { return o } -func (o GetSkeClusterNodePoolOutput) ToGetSkeClusterNodePoolOutputWithContext(ctx context.Context) GetSkeClusterNodePoolOutput { +func (o GetSkeMachineImageVersionsMachineImageOutput) ToGetSkeMachineImageVersionsMachineImageOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageOutput { 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) +// 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) } -// Specify a list of availability zones. -func (o GetSkeClusterNodePoolOutput) AvailabilityZones() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) []string { return v.AvailabilityZones }).(pulumi.StringArrayOutput) +// Supported versions of the image. +func (o GetSkeMachineImageVersionsMachineImageOutput) Versions() GetSkeMachineImageVersionsMachineImageVersionArrayOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImage) []GetSkeMachineImageVersionsMachineImageVersion { + return v.Versions + }).(GetSkeMachineImageVersionsMachineImageVersionArrayOutput) } -// Specifies the container runtime. -func (o GetSkeClusterNodePoolOutput) Cri() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.Cri }).(pulumi.StringOutput) -} +type GetSkeMachineImageVersionsMachineImageArrayOutput struct{ *pulumi.OutputState } -// 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) +func (GetSkeMachineImageVersionsMachineImageArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImage)(nil)).Elem() } -// The machine type. -func (o GetSkeClusterNodePoolOutput) MachineType() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.MachineType }).(pulumi.StringOutput) +func (o GetSkeMachineImageVersionsMachineImageArrayOutput) ToGetSkeMachineImageVersionsMachineImageArrayOutput() GetSkeMachineImageVersionsMachineImageArrayOutput { + return o } -// 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 GetSkeMachineImageVersionsMachineImageArrayOutput) ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageArrayOutput { + 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 GetSkeMachineImageVersionsMachineImageArrayOutput) Index(i pulumi.IntInput) GetSkeMachineImageVersionsMachineImageOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeMachineImageVersionsMachineImage { + return vs[0].([]GetSkeMachineImageVersionsMachineImage)[vs[1].(int)] + }).(GetSkeMachineImageVersionsMachineImageOutput) } -// 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) +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"` } -// 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) +// 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 } -// 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 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"` } -// The name of the OS image. -func (o GetSkeClusterNodePoolOutput) OsName() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.OsName }).(pulumi.StringOutput) +func (GetSkeMachineImageVersionsMachineImageVersionArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() } -// The OS image version. -func (o GetSkeClusterNodePoolOutput) OsVersion() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.OsVersion }).(pulumi.StringOutput) +func (i GetSkeMachineImageVersionsMachineImageVersionArgs) ToGetSkeMachineImageVersionsMachineImageVersionOutput() GetSkeMachineImageVersionsMachineImageVersionOutput { + return i.ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(context.Background()) } -// 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 (i GetSkeMachineImageVersionsMachineImageVersionArgs) ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageVersionOutput) } -// 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) +// GetSkeMachineImageVersionsMachineImageVersionArrayInput is an input type that accepts GetSkeMachineImageVersionsMachineImageVersionArray and GetSkeMachineImageVersionsMachineImageVersionArrayOutput values. +// You can construct a concrete instance of `GetSkeMachineImageVersionsMachineImageVersionArrayInput` via: +// +// GetSkeMachineImageVersionsMachineImageVersionArray{ GetSkeMachineImageVersionsMachineImageVersionArgs{...} } +type GetSkeMachineImageVersionsMachineImageVersionArrayInput interface { + pulumi.Input + + ToGetSkeMachineImageVersionsMachineImageVersionArrayOutput() GetSkeMachineImageVersionsMachineImageVersionArrayOutput + ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageVersionArrayOutput } -// Specifies a taint list as defined below. -func (o GetSkeClusterNodePoolOutput) Taints() GetSkeClusterNodePoolTaintArrayOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) []GetSkeClusterNodePoolTaint { return v.Taints }).(GetSkeClusterNodePoolTaintArrayOutput) +type GetSkeMachineImageVersionsMachineImageVersionArray []GetSkeMachineImageVersionsMachineImageVersionInput + +func (GetSkeMachineImageVersionsMachineImageVersionArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() } -// 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 GetSkeMachineImageVersionsMachineImageVersionArray) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutput() GetSkeMachineImageVersionsMachineImageVersionArrayOutput { + return i.ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(context.Background()) } -// Specifies the volume type. -func (o GetSkeClusterNodePoolOutput) VolumeType() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePool) string { return v.VolumeType }).(pulumi.StringOutput) +func (i GetSkeMachineImageVersionsMachineImageVersionArray) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageVersionArrayOutput) } -type GetSkeClusterNodePoolArrayOutput struct{ *pulumi.OutputState } +type GetSkeMachineImageVersionsMachineImageVersionOutput struct{ *pulumi.OutputState } -func (GetSkeClusterNodePoolArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeClusterNodePool)(nil)).Elem() +func (GetSkeMachineImageVersionsMachineImageVersionOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() } -func (o GetSkeClusterNodePoolArrayOutput) ToGetSkeClusterNodePoolArrayOutput() GetSkeClusterNodePoolArrayOutput { +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) ToGetSkeMachineImageVersionsMachineImageVersionOutput() GetSkeMachineImageVersionsMachineImageVersionOutput { return o } -func (o GetSkeClusterNodePoolArrayOutput) ToGetSkeClusterNodePoolArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolArrayOutput { +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionOutput { return o } -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 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"` +// Container runtimes supported (e.g., `containerd`). +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) Cris() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) []string { return v.Cris }).(pulumi.StringArrayOutput) } -// GetSkeClusterNodePoolTaintInput is an input type that accepts GetSkeClusterNodePoolTaintArgs and GetSkeClusterNodePoolTaintOutput values. -// You can construct a concrete instance of `GetSkeClusterNodePoolTaintInput` via: -// -// GetSkeClusterNodePoolTaintArgs{...} -type GetSkeClusterNodePoolTaintInput interface { - pulumi.Input - - ToGetSkeClusterNodePoolTaintOutput() GetSkeClusterNodePoolTaintOutput - ToGetSkeClusterNodePoolTaintOutputWithContext(context.Context) GetSkeClusterNodePoolTaintOutput +// 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) } -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"` +// State of the image version. +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) State() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) string { return v.State }).(pulumi.StringOutput) } -func (GetSkeClusterNodePoolTaintArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNodePoolTaint)(nil)).Elem() +// Machine image version string. +func (o GetSkeMachineImageVersionsMachineImageVersionOutput) Version() pulumi.StringOutput { + return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) string { return v.Version }).(pulumi.StringOutput) } -func (i GetSkeClusterNodePoolTaintArgs) ToGetSkeClusterNodePoolTaintOutput() GetSkeClusterNodePoolTaintOutput { - return i.ToGetSkeClusterNodePoolTaintOutputWithContext(context.Background()) -} +type GetSkeMachineImageVersionsMachineImageVersionArrayOutput struct{ *pulumi.OutputState } -func (i GetSkeClusterNodePoolTaintArgs) ToGetSkeClusterNodePoolTaintOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolTaintOutput) +func (GetSkeMachineImageVersionsMachineImageVersionArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() } -// GetSkeClusterNodePoolTaintArrayInput is an input type that accepts GetSkeClusterNodePoolTaintArray and GetSkeClusterNodePoolTaintArrayOutput values. -// You can construct a concrete instance of `GetSkeClusterNodePoolTaintArrayInput` via: -// -// GetSkeClusterNodePoolTaintArray{ GetSkeClusterNodePoolTaintArgs{...} } -type GetSkeClusterNodePoolTaintArrayInput interface { - pulumi.Input - - ToGetSkeClusterNodePoolTaintArrayOutput() GetSkeClusterNodePoolTaintArrayOutput - ToGetSkeClusterNodePoolTaintArrayOutputWithContext(context.Context) GetSkeClusterNodePoolTaintArrayOutput +func (o GetSkeMachineImageVersionsMachineImageVersionArrayOutput) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutput() GetSkeMachineImageVersionsMachineImageVersionArrayOutput { + return o } -type GetSkeClusterNodePoolTaintArray []GetSkeClusterNodePoolTaintInput - -func (GetSkeClusterNodePoolTaintArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeClusterNodePoolTaint)(nil)).Elem() +func (o GetSkeMachineImageVersionsMachineImageVersionArrayOutput) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionArrayOutput { + return o } -func (i GetSkeClusterNodePoolTaintArray) ToGetSkeClusterNodePoolTaintArrayOutput() GetSkeClusterNodePoolTaintArrayOutput { - return i.ToGetSkeClusterNodePoolTaintArrayOutputWithContext(context.Background()) +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) } -func (i GetSkeClusterNodePoolTaintArray) ToGetSkeClusterNodePoolTaintArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeClusterNodePoolTaintArrayOutput) +type GetSqlserverflexInstanceFlavor struct { + Cpu int `pulumi:"cpu"` + Description string `pulumi:"description"` + Id string `pulumi:"id"` + Ram int `pulumi:"ram"` } -type GetSkeClusterNodePoolTaintOutput struct{ *pulumi.OutputState } - -func (GetSkeClusterNodePoolTaintOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeClusterNodePoolTaint)(nil)).Elem() -} +// 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 -func (o GetSkeClusterNodePoolTaintOutput) ToGetSkeClusterNodePoolTaintOutput() GetSkeClusterNodePoolTaintOutput { - return o + ToGetSqlserverflexInstanceFlavorOutput() GetSqlserverflexInstanceFlavorOutput + ToGetSqlserverflexInstanceFlavorOutputWithContext(context.Context) GetSqlserverflexInstanceFlavorOutput } -func (o GetSkeClusterNodePoolTaintOutput) ToGetSkeClusterNodePoolTaintOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintOutput { - return o +type GetSqlserverflexInstanceFlavorArgs struct { + Cpu pulumi.IntInput `pulumi:"cpu"` + Description pulumi.StringInput `pulumi:"description"` + Id pulumi.StringInput `pulumi:"id"` + Ram pulumi.IntInput `pulumi:"ram"` } -// The taint effect. -func (o GetSkeClusterNodePoolTaintOutput) Effect() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeClusterNodePoolTaint) string { return v.Effect }).(pulumi.StringOutput) +func (GetSqlserverflexInstanceFlavorArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceFlavor)(nil)).Elem() } -// 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 (i GetSqlserverflexInstanceFlavorArgs) ToGetSqlserverflexInstanceFlavorOutput() GetSqlserverflexInstanceFlavorOutput { + return i.ToGetSqlserverflexInstanceFlavorOutputWithContext(context.Background()) } -// 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) +func (i GetSqlserverflexInstanceFlavorArgs) ToGetSqlserverflexInstanceFlavorOutputWithContext(ctx context.Context) GetSqlserverflexInstanceFlavorOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceFlavorOutput) } -type GetSkeClusterNodePoolTaintArrayOutput struct{ *pulumi.OutputState } +type GetSqlserverflexInstanceFlavorOutput struct{ *pulumi.OutputState } -func (GetSkeClusterNodePoolTaintArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeClusterNodePoolTaint)(nil)).Elem() +func (GetSqlserverflexInstanceFlavorOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceFlavor)(nil)).Elem() } -func (o GetSkeClusterNodePoolTaintArrayOutput) ToGetSkeClusterNodePoolTaintArrayOutput() GetSkeClusterNodePoolTaintArrayOutput { +func (o GetSqlserverflexInstanceFlavorOutput) ToGetSqlserverflexInstanceFlavorOutput() GetSqlserverflexInstanceFlavorOutput { return o } -func (o GetSkeClusterNodePoolTaintArrayOutput) ToGetSkeClusterNodePoolTaintArrayOutputWithContext(ctx context.Context) GetSkeClusterNodePoolTaintArrayOutput { +func (o GetSqlserverflexInstanceFlavorOutput) ToGetSqlserverflexInstanceFlavorOutputWithContext(ctx context.Context) GetSqlserverflexInstanceFlavorOutput { return o } -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 (o GetSqlserverflexInstanceFlavorOutput) Cpu() pulumi.IntOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceFlavor) int { return v.Cpu }).(pulumi.IntOutput) } -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 (o GetSqlserverflexInstanceFlavorOutput) Description() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceFlavor) string { return v.Description }).(pulumi.StringOutput) } -// 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 +func (o GetSqlserverflexInstanceFlavorOutput) Id() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceFlavor) string { return v.Id }).(pulumi.StringOutput) +} - ToGetSkeKubernetesVersionsKubernetesVersionOutput() GetSkeKubernetesVersionsKubernetesVersionOutput - ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(context.Context) GetSkeKubernetesVersionsKubernetesVersionOutput +func (o GetSqlserverflexInstanceFlavorOutput) Ram() pulumi.IntOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceFlavor) int { return v.Ram }).(pulumi.IntOutput) } -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"` +type GetSqlserverflexInstanceOptions struct { + Edition string `pulumi:"edition"` + RetentionDays int `pulumi:"retentionDays"` } -func (GetSkeKubernetesVersionsKubernetesVersionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() +// 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 (i GetSkeKubernetesVersionsKubernetesVersionArgs) ToGetSkeKubernetesVersionsKubernetesVersionOutput() GetSkeKubernetesVersionsKubernetesVersionOutput { - return i.ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(context.Background()) +type GetSqlserverflexInstanceOptionsArgs struct { + Edition pulumi.StringInput `pulumi:"edition"` + RetentionDays pulumi.IntInput `pulumi:"retentionDays"` } -func (i GetSkeKubernetesVersionsKubernetesVersionArgs) ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeKubernetesVersionsKubernetesVersionOutput) +func (GetSqlserverflexInstanceOptionsArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceOptions)(nil)).Elem() } -// 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 (i GetSqlserverflexInstanceOptionsArgs) ToGetSqlserverflexInstanceOptionsOutput() GetSqlserverflexInstanceOptionsOutput { + return i.ToGetSqlserverflexInstanceOptionsOutputWithContext(context.Background()) +} - ToGetSkeKubernetesVersionsKubernetesVersionArrayOutput() GetSkeKubernetesVersionsKubernetesVersionArrayOutput - ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(context.Context) GetSkeKubernetesVersionsKubernetesVersionArrayOutput +func (i GetSqlserverflexInstanceOptionsArgs) ToGetSqlserverflexInstanceOptionsOutputWithContext(ctx context.Context) GetSqlserverflexInstanceOptionsOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceOptionsOutput) } -type GetSkeKubernetesVersionsKubernetesVersionArray []GetSkeKubernetesVersionsKubernetesVersionInput +type GetSqlserverflexInstanceOptionsOutput struct{ *pulumi.OutputState } -func (GetSkeKubernetesVersionsKubernetesVersionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() +func (GetSqlserverflexInstanceOptionsOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceOptions)(nil)).Elem() } -func (i GetSkeKubernetesVersionsKubernetesVersionArray) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutput() GetSkeKubernetesVersionsKubernetesVersionArrayOutput { - return i.ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(context.Background()) +func (o GetSqlserverflexInstanceOptionsOutput) ToGetSqlserverflexInstanceOptionsOutput() GetSqlserverflexInstanceOptionsOutput { + return o } -func (i GetSkeKubernetesVersionsKubernetesVersionArray) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeKubernetesVersionsKubernetesVersionArrayOutput) +func (o GetSqlserverflexInstanceOptionsOutput) ToGetSqlserverflexInstanceOptionsOutputWithContext(ctx context.Context) GetSqlserverflexInstanceOptionsOutput { + return o } -type GetSkeKubernetesVersionsKubernetesVersionOutput struct{ *pulumi.OutputState } +func (o GetSqlserverflexInstanceOptionsOutput) Edition() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceOptions) string { return v.Edition }).(pulumi.StringOutput) +} -func (GetSkeKubernetesVersionsKubernetesVersionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() +func (o GetSqlserverflexInstanceOptionsOutput) RetentionDays() pulumi.IntOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceOptions) int { return v.RetentionDays }).(pulumi.IntOutput) } -func (o GetSkeKubernetesVersionsKubernetesVersionOutput) ToGetSkeKubernetesVersionsKubernetesVersionOutput() GetSkeKubernetesVersionsKubernetesVersionOutput { - return o +type GetSqlserverflexInstanceStorage struct { + Class string `pulumi:"class"` + Size int `pulumi:"size"` } -func (o GetSkeKubernetesVersionsKubernetesVersionOutput) ToGetSkeKubernetesVersionsKubernetesVersionOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionOutput { - return o +// GetSqlserverflexInstanceStorageInput is an input type that accepts GetSqlserverflexInstanceStorageArgs and GetSqlserverflexInstanceStorageOutput values. +// You can construct a concrete instance of `GetSqlserverflexInstanceStorageInput` via: +// +// GetSqlserverflexInstanceStorageArgs{...} +type GetSqlserverflexInstanceStorageInput interface { + pulumi.Input + + ToGetSqlserverflexInstanceStorageOutput() GetSqlserverflexInstanceStorageOutput + ToGetSqlserverflexInstanceStorageOutputWithContext(context.Context) GetSqlserverflexInstanceStorageOutput } -// 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) +type GetSqlserverflexInstanceStorageArgs struct { + Class pulumi.StringInput `pulumi:"class"` + Size pulumi.IntInput `pulumi:"size"` } -// 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 (GetSqlserverflexInstanceStorageArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceStorage)(nil)).Elem() } -// 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 GetSqlserverflexInstanceStorageArgs) ToGetSqlserverflexInstanceStorageOutput() GetSqlserverflexInstanceStorageOutput { + return i.ToGetSqlserverflexInstanceStorageOutputWithContext(context.Background()) } -// 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) +func (i GetSqlserverflexInstanceStorageArgs) ToGetSqlserverflexInstanceStorageOutputWithContext(ctx context.Context) GetSqlserverflexInstanceStorageOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceStorageOutput) } -type GetSkeKubernetesVersionsKubernetesVersionArrayOutput struct{ *pulumi.OutputState } +type GetSqlserverflexInstanceStorageOutput struct{ *pulumi.OutputState } -func (GetSkeKubernetesVersionsKubernetesVersionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeKubernetesVersionsKubernetesVersion)(nil)).Elem() +func (GetSqlserverflexInstanceStorageOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetSqlserverflexInstanceStorage)(nil)).Elem() } -func (o GetSkeKubernetesVersionsKubernetesVersionArrayOutput) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutput() GetSkeKubernetesVersionsKubernetesVersionArrayOutput { +func (o GetSqlserverflexInstanceStorageOutput) ToGetSqlserverflexInstanceStorageOutput() GetSqlserverflexInstanceStorageOutput { return o } -func (o GetSkeKubernetesVersionsKubernetesVersionArrayOutput) ToGetSkeKubernetesVersionsKubernetesVersionArrayOutputWithContext(ctx context.Context) GetSkeKubernetesVersionsKubernetesVersionArrayOutput { +func (o GetSqlserverflexInstanceStorageOutput) ToGetSqlserverflexInstanceStorageOutputWithContext(ctx context.Context) GetSqlserverflexInstanceStorageOutput { return o } -func (o GetSkeKubernetesVersionsKubernetesVersionArrayOutput) Index(i pulumi.IntInput) GetSkeKubernetesVersionsKubernetesVersionOutput { - return pulumi.All(o, i).ApplyT(func(vs []interface{}) GetSkeKubernetesVersionsKubernetesVersion { - return vs[0].([]GetSkeKubernetesVersionsKubernetesVersion)[vs[1].(int)] - }).(GetSkeKubernetesVersionsKubernetesVersionOutput) +func (o GetSqlserverflexInstanceStorageOutput) Class() pulumi.StringOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceStorage) string { return v.Class }).(pulumi.StringOutput) } -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 (o GetSqlserverflexInstanceStorageOutput) Size() pulumi.IntOutput { + return o.ApplyT(func(v GetSqlserverflexInstanceStorage) int { return v.Size }).(pulumi.IntOutput) } -// GetSkeMachineImageVersionsMachineImageInput is an input type that accepts GetSkeMachineImageVersionsMachineImageArgs and GetSkeMachineImageVersionsMachineImageOutput values. -// You can construct a concrete instance of `GetSkeMachineImageVersionsMachineImageInput` via: +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"` +} + +// GetTelemetryrouterDestinationConfigInput is an input type that accepts GetTelemetryrouterDestinationConfigArgs and GetTelemetryrouterDestinationConfigOutput values. +// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigInput` via: // -// GetSkeMachineImageVersionsMachineImageArgs{...} -type GetSkeMachineImageVersionsMachineImageInput interface { +// GetTelemetryrouterDestinationConfigArgs{...} +type GetTelemetryrouterDestinationConfigInput interface { pulumi.Input - ToGetSkeMachineImageVersionsMachineImageOutput() GetSkeMachineImageVersionsMachineImageOutput - ToGetSkeMachineImageVersionsMachineImageOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageOutput + ToGetTelemetryrouterDestinationConfigOutput() GetTelemetryrouterDestinationConfigOutput + ToGetTelemetryrouterDestinationConfigOutputWithContext(context.Context) GetTelemetryrouterDestinationConfigOutput } -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"` +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 (GetSkeMachineImageVersionsMachineImageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImage)(nil)).Elem() +func (GetTelemetryrouterDestinationConfigArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfig)(nil)).Elem() } -func (i GetSkeMachineImageVersionsMachineImageArgs) ToGetSkeMachineImageVersionsMachineImageOutput() GetSkeMachineImageVersionsMachineImageOutput { - return i.ToGetSkeMachineImageVersionsMachineImageOutputWithContext(context.Background()) +func (i GetTelemetryrouterDestinationConfigArgs) ToGetTelemetryrouterDestinationConfigOutput() GetTelemetryrouterDestinationConfigOutput { + return i.ToGetTelemetryrouterDestinationConfigOutputWithContext(context.Background()) } -func (i GetSkeMachineImageVersionsMachineImageArgs) ToGetSkeMachineImageVersionsMachineImageOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageOutput) +func (i GetTelemetryrouterDestinationConfigArgs) ToGetTelemetryrouterDestinationConfigOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigOutput) } -// 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 GetTelemetryrouterDestinationConfigOutput struct{ *pulumi.OutputState } - ToGetSkeMachineImageVersionsMachineImageArrayOutput() GetSkeMachineImageVersionsMachineImageArrayOutput - ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageArrayOutput +func (GetTelemetryrouterDestinationConfigOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfig)(nil)).Elem() } -type GetSkeMachineImageVersionsMachineImageArray []GetSkeMachineImageVersionsMachineImageInput +func (o GetTelemetryrouterDestinationConfigOutput) ToGetTelemetryrouterDestinationConfigOutput() GetTelemetryrouterDestinationConfigOutput { + return o +} -func (GetSkeMachineImageVersionsMachineImageArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImage)(nil)).Elem() +func (o GetTelemetryrouterDestinationConfigOutput) ToGetTelemetryrouterDestinationConfigOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigOutput { + return o } -func (i GetSkeMachineImageVersionsMachineImageArray) ToGetSkeMachineImageVersionsMachineImageArrayOutput() GetSkeMachineImageVersionsMachineImageArrayOutput { - return i.ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(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 GetSkeMachineImageVersionsMachineImageArray) ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageArrayOutput) +// The TelemetryRouter destination's filter settings +func (o GetTelemetryrouterDestinationConfigOutput) Filter() GetTelemetryrouterDestinationConfigFilterOutput { + return o.ApplyT(func(v GetTelemetryrouterDestinationConfig) GetTelemetryrouterDestinationConfigFilter { return v.Filter }).(GetTelemetryrouterDestinationConfigFilterOutput) } -type GetSkeMachineImageVersionsMachineImageOutput struct{ *pulumi.OutputState } +// OpenTelemetry configuration +func (o GetTelemetryrouterDestinationConfigOutput) Opentelemetry() GetTelemetryrouterDestinationConfigOpentelemetryOutput { + return o.ApplyT(func(v GetTelemetryrouterDestinationConfig) GetTelemetryrouterDestinationConfigOpentelemetry { + return v.Opentelemetry + }).(GetTelemetryrouterDestinationConfigOpentelemetryOutput) +} -func (GetSkeMachineImageVersionsMachineImageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImage)(nil)).Elem() +// S3 configuration +func (o GetTelemetryrouterDestinationConfigOutput) S3() GetTelemetryrouterDestinationConfigS3Output { + return o.ApplyT(func(v GetTelemetryrouterDestinationConfig) GetTelemetryrouterDestinationConfigS3 { return v.S3 }).(GetTelemetryrouterDestinationConfigS3Output) } -func (o GetSkeMachineImageVersionsMachineImageOutput) ToGetSkeMachineImageVersionsMachineImageOutput() GetSkeMachineImageVersionsMachineImageOutput { - return o +type GetTelemetryrouterDestinationConfigFilter struct { + // The TelemetryRouter destination's filter attributes + Attributes []GetTelemetryrouterDestinationConfigFilterAttribute `pulumi:"attributes"` } -func (o GetSkeMachineImageVersionsMachineImageOutput) ToGetSkeMachineImageVersionsMachineImageOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageOutput { - return o +// GetTelemetryrouterDestinationConfigFilterInput is an input type that accepts GetTelemetryrouterDestinationConfigFilterArgs and GetTelemetryrouterDestinationConfigFilterOutput values. +// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigFilterInput` via: +// +// GetTelemetryrouterDestinationConfigFilterArgs{...} +type GetTelemetryrouterDestinationConfigFilterInput interface { + pulumi.Input + + ToGetTelemetryrouterDestinationConfigFilterOutput() GetTelemetryrouterDestinationConfigFilterOutput + ToGetTelemetryrouterDestinationConfigFilterOutputWithContext(context.Context) GetTelemetryrouterDestinationConfigFilterOutput } -// 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 GetTelemetryrouterDestinationConfigFilterArgs struct { + // The TelemetryRouter destination's filter attributes + Attributes GetTelemetryrouterDestinationConfigFilterAttributeArrayInput `pulumi:"attributes"` } -// Supported versions of the image. -func (o GetSkeMachineImageVersionsMachineImageOutput) Versions() GetSkeMachineImageVersionsMachineImageVersionArrayOutput { - return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImage) []GetSkeMachineImageVersionsMachineImageVersion { - return v.Versions - }).(GetSkeMachineImageVersionsMachineImageVersionArrayOutput) +func (GetTelemetryrouterDestinationConfigFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfigFilter)(nil)).Elem() } -type GetSkeMachineImageVersionsMachineImageArrayOutput struct{ *pulumi.OutputState } +func (i GetTelemetryrouterDestinationConfigFilterArgs) ToGetTelemetryrouterDestinationConfigFilterOutput() GetTelemetryrouterDestinationConfigFilterOutput { + return i.ToGetTelemetryrouterDestinationConfigFilterOutputWithContext(context.Background()) +} -func (GetSkeMachineImageVersionsMachineImageArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImage)(nil)).Elem() +func (i GetTelemetryrouterDestinationConfigFilterArgs) ToGetTelemetryrouterDestinationConfigFilterOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigFilterOutput) } -func (o GetSkeMachineImageVersionsMachineImageArrayOutput) ToGetSkeMachineImageVersionsMachineImageArrayOutput() GetSkeMachineImageVersionsMachineImageArrayOutput { +type GetTelemetryrouterDestinationConfigFilterOutput struct{ *pulumi.OutputState } + +func (GetTelemetryrouterDestinationConfigFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfigFilter)(nil)).Elem() +} + +func (o GetTelemetryrouterDestinationConfigFilterOutput) ToGetTelemetryrouterDestinationConfigFilterOutput() GetTelemetryrouterDestinationConfigFilterOutput { return o } -func (o GetSkeMachineImageVersionsMachineImageArrayOutput) ToGetSkeMachineImageVersionsMachineImageArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageArrayOutput { +func (o GetTelemetryrouterDestinationConfigFilterOutput) ToGetTelemetryrouterDestinationConfigFilterOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterOutput { 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) +// The TelemetryRouter destination's filter attributes +func (o GetTelemetryrouterDestinationConfigFilterOutput) Attributes() GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput { + return o.ApplyT(func(v GetTelemetryrouterDestinationConfigFilter) []GetTelemetryrouterDestinationConfigFilterAttribute { + return v.Attributes + }).(GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) } -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 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"` } -// GetSkeMachineImageVersionsMachineImageVersionInput is an input type that accepts GetSkeMachineImageVersionsMachineImageVersionArgs and GetSkeMachineImageVersionsMachineImageVersionOutput values. -// You can construct a concrete instance of `GetSkeMachineImageVersionsMachineImageVersionInput` via: +// GetTelemetryrouterDestinationConfigFilterAttributeInput is an input type that accepts GetTelemetryrouterDestinationConfigFilterAttributeArgs and GetTelemetryrouterDestinationConfigFilterAttributeOutput values. +// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigFilterAttributeInput` via: // -// GetSkeMachineImageVersionsMachineImageVersionArgs{...} -type GetSkeMachineImageVersionsMachineImageVersionInput interface { +// GetTelemetryrouterDestinationConfigFilterAttributeArgs{...} +type GetTelemetryrouterDestinationConfigFilterAttributeInput interface { pulumi.Input - ToGetSkeMachineImageVersionsMachineImageVersionOutput() GetSkeMachineImageVersionsMachineImageVersionOutput - ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageVersionOutput + ToGetTelemetryrouterDestinationConfigFilterAttributeOutput() GetTelemetryrouterDestinationConfigFilterAttributeOutput + ToGetTelemetryrouterDestinationConfigFilterAttributeOutputWithContext(context.Context) GetTelemetryrouterDestinationConfigFilterAttributeOutput } -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 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 (GetSkeMachineImageVersionsMachineImageVersionArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() +func (GetTelemetryrouterDestinationConfigFilterAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfigFilterAttribute)(nil)).Elem() } -func (i GetSkeMachineImageVersionsMachineImageVersionArgs) ToGetSkeMachineImageVersionsMachineImageVersionOutput() GetSkeMachineImageVersionsMachineImageVersionOutput { - return i.ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(context.Background()) +func (i GetTelemetryrouterDestinationConfigFilterAttributeArgs) ToGetTelemetryrouterDestinationConfigFilterAttributeOutput() GetTelemetryrouterDestinationConfigFilterAttributeOutput { + return i.ToGetTelemetryrouterDestinationConfigFilterAttributeOutputWithContext(context.Background()) } -func (i GetSkeMachineImageVersionsMachineImageVersionArgs) ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageVersionOutput) +func (i GetTelemetryrouterDestinationConfigFilterAttributeArgs) ToGetTelemetryrouterDestinationConfigFilterAttributeOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigFilterAttributeOutput) } -// GetSkeMachineImageVersionsMachineImageVersionArrayInput is an input type that accepts GetSkeMachineImageVersionsMachineImageVersionArray and GetSkeMachineImageVersionsMachineImageVersionArrayOutput values. -// You can construct a concrete instance of `GetSkeMachineImageVersionsMachineImageVersionArrayInput` via: +// GetTelemetryrouterDestinationConfigFilterAttributeArrayInput is an input type that accepts GetTelemetryrouterDestinationConfigFilterAttributeArray and GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput values. +// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigFilterAttributeArrayInput` via: // -// GetSkeMachineImageVersionsMachineImageVersionArray{ GetSkeMachineImageVersionsMachineImageVersionArgs{...} } -type GetSkeMachineImageVersionsMachineImageVersionArrayInput interface { +// GetTelemetryrouterDestinationConfigFilterAttributeArray{ GetTelemetryrouterDestinationConfigFilterAttributeArgs{...} } +type GetTelemetryrouterDestinationConfigFilterAttributeArrayInput interface { pulumi.Input - ToGetSkeMachineImageVersionsMachineImageVersionArrayOutput() GetSkeMachineImageVersionsMachineImageVersionArrayOutput - ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(context.Context) GetSkeMachineImageVersionsMachineImageVersionArrayOutput + ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutput() GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput + ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutputWithContext(context.Context) GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput } -type GetSkeMachineImageVersionsMachineImageVersionArray []GetSkeMachineImageVersionsMachineImageVersionInput +type GetTelemetryrouterDestinationConfigFilterAttributeArray []GetTelemetryrouterDestinationConfigFilterAttributeInput -func (GetSkeMachineImageVersionsMachineImageVersionArray) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() +func (GetTelemetryrouterDestinationConfigFilterAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTelemetryrouterDestinationConfigFilterAttribute)(nil)).Elem() } -func (i GetSkeMachineImageVersionsMachineImageVersionArray) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutput() GetSkeMachineImageVersionsMachineImageVersionArrayOutput { - return i.ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(context.Background()) +func (i GetTelemetryrouterDestinationConfigFilterAttributeArray) ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutput() GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput { + return i.ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutputWithContext(context.Background()) } -func (i GetSkeMachineImageVersionsMachineImageVersionArray) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionArrayOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSkeMachineImageVersionsMachineImageVersionArrayOutput) +func (i GetTelemetryrouterDestinationConfigFilterAttributeArray) ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) } -type GetSkeMachineImageVersionsMachineImageVersionOutput struct{ *pulumi.OutputState } +type GetTelemetryrouterDestinationConfigFilterAttributeOutput struct{ *pulumi.OutputState } -func (GetSkeMachineImageVersionsMachineImageVersionOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() +func (GetTelemetryrouterDestinationConfigFilterAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfigFilterAttribute)(nil)).Elem() } -func (o GetSkeMachineImageVersionsMachineImageVersionOutput) ToGetSkeMachineImageVersionsMachineImageVersionOutput() GetSkeMachineImageVersionsMachineImageVersionOutput { +func (o GetTelemetryrouterDestinationConfigFilterAttributeOutput) ToGetTelemetryrouterDestinationConfigFilterAttributeOutput() GetTelemetryrouterDestinationConfigFilterAttributeOutput { return o } -func (o GetSkeMachineImageVersionsMachineImageVersionOutput) ToGetSkeMachineImageVersionsMachineImageVersionOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionOutput { +func (o GetTelemetryrouterDestinationConfigFilterAttributeOutput) ToGetTelemetryrouterDestinationConfigFilterAttributeOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterAttributeOutput { return o } -// Container runtimes supported (e.g., `containerd`). -func (o GetSkeMachineImageVersionsMachineImageVersionOutput) Cris() pulumi.StringArrayOutput { - return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) []string { return v.Cris }).(pulumi.StringArrayOutput) +// 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) } -// 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) +// 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) } -// State of the image version. -func (o GetSkeMachineImageVersionsMachineImageVersionOutput) State() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) string { return v.State }).(pulumi.StringOutput) +// 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) } -// Machine image version string. -func (o GetSkeMachineImageVersionsMachineImageVersionOutput) Version() pulumi.StringOutput { - return o.ApplyT(func(v GetSkeMachineImageVersionsMachineImageVersion) string { return v.Version }).(pulumi.StringOutput) +// 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) } -type GetSkeMachineImageVersionsMachineImageVersionArrayOutput struct{ *pulumi.OutputState } +type GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput struct{ *pulumi.OutputState } -func (GetSkeMachineImageVersionsMachineImageVersionArrayOutput) ElementType() reflect.Type { - return reflect.TypeOf((*[]GetSkeMachineImageVersionsMachineImageVersion)(nil)).Elem() +func (GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTelemetryrouterDestinationConfigFilterAttribute)(nil)).Elem() } -func (o GetSkeMachineImageVersionsMachineImageVersionArrayOutput) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutput() GetSkeMachineImageVersionsMachineImageVersionArrayOutput { +func (o GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutput() GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput { return o } -func (o GetSkeMachineImageVersionsMachineImageVersionArrayOutput) ToGetSkeMachineImageVersionsMachineImageVersionArrayOutputWithContext(ctx context.Context) GetSkeMachineImageVersionsMachineImageVersionArrayOutput { +func (o GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput) ToGetTelemetryrouterDestinationConfigFilterAttributeArrayOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput { 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) +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) } -type GetSqlserverflexInstanceFlavor struct { - Cpu int `pulumi:"cpu"` - Description string `pulumi:"description"` - Id string `pulumi:"id"` - Ram int `pulumi:"ram"` +type GetTelemetryrouterDestinationConfigOpentelemetry struct { + // OpenTelemetry destination URI + Uri string `pulumi:"uri"` } -// GetSqlserverflexInstanceFlavorInput is an input type that accepts GetSqlserverflexInstanceFlavorArgs and GetSqlserverflexInstanceFlavorOutput values. -// You can construct a concrete instance of `GetSqlserverflexInstanceFlavorInput` via: +// GetTelemetryrouterDestinationConfigOpentelemetryInput is an input type that accepts GetTelemetryrouterDestinationConfigOpentelemetryArgs and GetTelemetryrouterDestinationConfigOpentelemetryOutput values. +// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigOpentelemetryInput` via: // -// GetSqlserverflexInstanceFlavorArgs{...} -type GetSqlserverflexInstanceFlavorInput interface { +// GetTelemetryrouterDestinationConfigOpentelemetryArgs{...} +type GetTelemetryrouterDestinationConfigOpentelemetryInput interface { pulumi.Input - ToGetSqlserverflexInstanceFlavorOutput() GetSqlserverflexInstanceFlavorOutput - ToGetSqlserverflexInstanceFlavorOutputWithContext(context.Context) GetSqlserverflexInstanceFlavorOutput + ToGetTelemetryrouterDestinationConfigOpentelemetryOutput() GetTelemetryrouterDestinationConfigOpentelemetryOutput + ToGetTelemetryrouterDestinationConfigOpentelemetryOutputWithContext(context.Context) GetTelemetryrouterDestinationConfigOpentelemetryOutput } -type GetSqlserverflexInstanceFlavorArgs struct { - Cpu pulumi.IntInput `pulumi:"cpu"` - Description pulumi.StringInput `pulumi:"description"` - Id pulumi.StringInput `pulumi:"id"` - Ram pulumi.IntInput `pulumi:"ram"` +type GetTelemetryrouterDestinationConfigOpentelemetryArgs struct { + // OpenTelemetry destination URI + Uri pulumi.StringInput `pulumi:"uri"` } -func (GetSqlserverflexInstanceFlavorArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSqlserverflexInstanceFlavor)(nil)).Elem() +func (GetTelemetryrouterDestinationConfigOpentelemetryArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfigOpentelemetry)(nil)).Elem() } -func (i GetSqlserverflexInstanceFlavorArgs) ToGetSqlserverflexInstanceFlavorOutput() GetSqlserverflexInstanceFlavorOutput { - return i.ToGetSqlserverflexInstanceFlavorOutputWithContext(context.Background()) +func (i GetTelemetryrouterDestinationConfigOpentelemetryArgs) ToGetTelemetryrouterDestinationConfigOpentelemetryOutput() GetTelemetryrouterDestinationConfigOpentelemetryOutput { + return i.ToGetTelemetryrouterDestinationConfigOpentelemetryOutputWithContext(context.Background()) } -func (i GetSqlserverflexInstanceFlavorArgs) ToGetSqlserverflexInstanceFlavorOutputWithContext(ctx context.Context) GetSqlserverflexInstanceFlavorOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceFlavorOutput) +func (i GetTelemetryrouterDestinationConfigOpentelemetryArgs) ToGetTelemetryrouterDestinationConfigOpentelemetryOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigOpentelemetryOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigOpentelemetryOutput) } -type GetSqlserverflexInstanceFlavorOutput struct{ *pulumi.OutputState } +type GetTelemetryrouterDestinationConfigOpentelemetryOutput struct{ *pulumi.OutputState } -func (GetSqlserverflexInstanceFlavorOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSqlserverflexInstanceFlavor)(nil)).Elem() +func (GetTelemetryrouterDestinationConfigOpentelemetryOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfigOpentelemetry)(nil)).Elem() } -func (o GetSqlserverflexInstanceFlavorOutput) ToGetSqlserverflexInstanceFlavorOutput() GetSqlserverflexInstanceFlavorOutput { +func (o GetTelemetryrouterDestinationConfigOpentelemetryOutput) ToGetTelemetryrouterDestinationConfigOpentelemetryOutput() GetTelemetryrouterDestinationConfigOpentelemetryOutput { return o } -func (o GetSqlserverflexInstanceFlavorOutput) ToGetSqlserverflexInstanceFlavorOutputWithContext(ctx context.Context) GetSqlserverflexInstanceFlavorOutput { +func (o GetTelemetryrouterDestinationConfigOpentelemetryOutput) ToGetTelemetryrouterDestinationConfigOpentelemetryOutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigOpentelemetryOutput { return o } -func (o GetSqlserverflexInstanceFlavorOutput) Cpu() pulumi.IntOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceFlavor) int { return v.Cpu }).(pulumi.IntOutput) +// OpenTelemetry destination URI +func (o GetTelemetryrouterDestinationConfigOpentelemetryOutput) Uri() pulumi.StringOutput { + return o.ApplyT(func(v GetTelemetryrouterDestinationConfigOpentelemetry) string { return v.Uri }).(pulumi.StringOutput) } -func (o GetSqlserverflexInstanceFlavorOutput) Description() pulumi.StringOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceFlavor) string { return v.Description }).(pulumi.StringOutput) +type GetTelemetryrouterDestinationConfigS3 struct { + // S3 bucket name + Bucket string `pulumi:"bucket"` + // S3 endpoint + Endpoint string `pulumi:"endpoint"` } -func (o GetSqlserverflexInstanceFlavorOutput) Id() pulumi.StringOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceFlavor) string { return v.Id }).(pulumi.StringOutput) +// GetTelemetryrouterDestinationConfigS3Input is an input type that accepts GetTelemetryrouterDestinationConfigS3Args and GetTelemetryrouterDestinationConfigS3Output values. +// You can construct a concrete instance of `GetTelemetryrouterDestinationConfigS3Input` via: +// +// GetTelemetryrouterDestinationConfigS3Args{...} +type GetTelemetryrouterDestinationConfigS3Input interface { + pulumi.Input + + ToGetTelemetryrouterDestinationConfigS3Output() GetTelemetryrouterDestinationConfigS3Output + ToGetTelemetryrouterDestinationConfigS3OutputWithContext(context.Context) GetTelemetryrouterDestinationConfigS3Output } -func (o GetSqlserverflexInstanceFlavorOutput) Ram() pulumi.IntOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceFlavor) int { return v.Ram }).(pulumi.IntOutput) +type GetTelemetryrouterDestinationConfigS3Args struct { + // S3 bucket name + Bucket pulumi.StringInput `pulumi:"bucket"` + // S3 endpoint + Endpoint pulumi.StringInput `pulumi:"endpoint"` } -type GetSqlserverflexInstanceOptions struct { - Edition string `pulumi:"edition"` - RetentionDays int `pulumi:"retentionDays"` +func (GetTelemetryrouterDestinationConfigS3Args) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfigS3)(nil)).Elem() } -// GetSqlserverflexInstanceOptionsInput is an input type that accepts GetSqlserverflexInstanceOptionsArgs and GetSqlserverflexInstanceOptionsOutput values. -// You can construct a concrete instance of `GetSqlserverflexInstanceOptionsInput` via: +func (i GetTelemetryrouterDestinationConfigS3Args) ToGetTelemetryrouterDestinationConfigS3Output() GetTelemetryrouterDestinationConfigS3Output { + return i.ToGetTelemetryrouterDestinationConfigS3OutputWithContext(context.Background()) +} + +func (i GetTelemetryrouterDestinationConfigS3Args) ToGetTelemetryrouterDestinationConfigS3OutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigS3Output { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterDestinationConfigS3Output) +} + +type GetTelemetryrouterDestinationConfigS3Output struct{ *pulumi.OutputState } + +func (GetTelemetryrouterDestinationConfigS3Output) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterDestinationConfigS3)(nil)).Elem() +} + +func (o GetTelemetryrouterDestinationConfigS3Output) ToGetTelemetryrouterDestinationConfigS3Output() GetTelemetryrouterDestinationConfigS3Output { + return o +} + +func (o GetTelemetryrouterDestinationConfigS3Output) ToGetTelemetryrouterDestinationConfigS3OutputWithContext(ctx context.Context) GetTelemetryrouterDestinationConfigS3Output { + return o +} + +// S3 bucket name +func (o GetTelemetryrouterDestinationConfigS3Output) Bucket() pulumi.StringOutput { + return o.ApplyT(func(v GetTelemetryrouterDestinationConfigS3) string { return v.Bucket }).(pulumi.StringOutput) +} + +// S3 endpoint +func (o GetTelemetryrouterDestinationConfigS3Output) Endpoint() pulumi.StringOutput { + return o.ApplyT(func(v GetTelemetryrouterDestinationConfigS3) string { return v.Endpoint }).(pulumi.StringOutput) +} + +type GetTelemetryrouterInstanceFilter struct { + // The TelemetryRouter global filter attributes + Attributes []GetTelemetryrouterInstanceFilterAttribute `pulumi:"attributes"` +} + +// GetTelemetryrouterInstanceFilterInput is an input type that accepts GetTelemetryrouterInstanceFilterArgs and GetTelemetryrouterInstanceFilterOutput values. +// You can construct a concrete instance of `GetTelemetryrouterInstanceFilterInput` via: // -// GetSqlserverflexInstanceOptionsArgs{...} -type GetSqlserverflexInstanceOptionsInput interface { +// GetTelemetryrouterInstanceFilterArgs{...} +type GetTelemetryrouterInstanceFilterInput interface { pulumi.Input - ToGetSqlserverflexInstanceOptionsOutput() GetSqlserverflexInstanceOptionsOutput - ToGetSqlserverflexInstanceOptionsOutputWithContext(context.Context) GetSqlserverflexInstanceOptionsOutput + ToGetTelemetryrouterInstanceFilterOutput() GetTelemetryrouterInstanceFilterOutput + ToGetTelemetryrouterInstanceFilterOutputWithContext(context.Context) GetTelemetryrouterInstanceFilterOutput } -type GetSqlserverflexInstanceOptionsArgs struct { - Edition pulumi.StringInput `pulumi:"edition"` - RetentionDays pulumi.IntInput `pulumi:"retentionDays"` +type GetTelemetryrouterInstanceFilterArgs struct { + // The TelemetryRouter global filter attributes + Attributes GetTelemetryrouterInstanceFilterAttributeArrayInput `pulumi:"attributes"` } -func (GetSqlserverflexInstanceOptionsArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSqlserverflexInstanceOptions)(nil)).Elem() +func (GetTelemetryrouterInstanceFilterArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterInstanceFilter)(nil)).Elem() } -func (i GetSqlserverflexInstanceOptionsArgs) ToGetSqlserverflexInstanceOptionsOutput() GetSqlserverflexInstanceOptionsOutput { - return i.ToGetSqlserverflexInstanceOptionsOutputWithContext(context.Background()) +func (i GetTelemetryrouterInstanceFilterArgs) ToGetTelemetryrouterInstanceFilterOutput() GetTelemetryrouterInstanceFilterOutput { + return i.ToGetTelemetryrouterInstanceFilterOutputWithContext(context.Background()) } -func (i GetSqlserverflexInstanceOptionsArgs) ToGetSqlserverflexInstanceOptionsOutputWithContext(ctx context.Context) GetSqlserverflexInstanceOptionsOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceOptionsOutput) +func (i GetTelemetryrouterInstanceFilterArgs) ToGetTelemetryrouterInstanceFilterOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterInstanceFilterOutput) } -type GetSqlserverflexInstanceOptionsOutput struct{ *pulumi.OutputState } +type GetTelemetryrouterInstanceFilterOutput struct{ *pulumi.OutputState } -func (GetSqlserverflexInstanceOptionsOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSqlserverflexInstanceOptions)(nil)).Elem() +func (GetTelemetryrouterInstanceFilterOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterInstanceFilter)(nil)).Elem() } -func (o GetSqlserverflexInstanceOptionsOutput) ToGetSqlserverflexInstanceOptionsOutput() GetSqlserverflexInstanceOptionsOutput { +func (o GetTelemetryrouterInstanceFilterOutput) ToGetTelemetryrouterInstanceFilterOutput() GetTelemetryrouterInstanceFilterOutput { return o } -func (o GetSqlserverflexInstanceOptionsOutput) ToGetSqlserverflexInstanceOptionsOutputWithContext(ctx context.Context) GetSqlserverflexInstanceOptionsOutput { +func (o GetTelemetryrouterInstanceFilterOutput) ToGetTelemetryrouterInstanceFilterOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterOutput { return o } -func (o GetSqlserverflexInstanceOptionsOutput) Edition() pulumi.StringOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceOptions) string { return v.Edition }).(pulumi.StringOutput) +// The TelemetryRouter global filter attributes +func (o GetTelemetryrouterInstanceFilterOutput) Attributes() GetTelemetryrouterInstanceFilterAttributeArrayOutput { + return o.ApplyT(func(v GetTelemetryrouterInstanceFilter) []GetTelemetryrouterInstanceFilterAttribute { + return v.Attributes + }).(GetTelemetryrouterInstanceFilterAttributeArrayOutput) } -func (o GetSqlserverflexInstanceOptionsOutput) RetentionDays() pulumi.IntOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceOptions) int { return v.RetentionDays }).(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 GetSqlserverflexInstanceStorage struct { - Class string `pulumi:"class"` - Size int `pulumi:"size"` +// GetTelemetryrouterInstanceFilterAttributeInput is an input type that accepts GetTelemetryrouterInstanceFilterAttributeArgs and GetTelemetryrouterInstanceFilterAttributeOutput values. +// You can construct a concrete instance of `GetTelemetryrouterInstanceFilterAttributeInput` via: +// +// GetTelemetryrouterInstanceFilterAttributeArgs{...} +type GetTelemetryrouterInstanceFilterAttributeInput interface { + pulumi.Input + + ToGetTelemetryrouterInstanceFilterAttributeOutput() GetTelemetryrouterInstanceFilterAttributeOutput + ToGetTelemetryrouterInstanceFilterAttributeOutputWithContext(context.Context) GetTelemetryrouterInstanceFilterAttributeOutput } -// GetSqlserverflexInstanceStorageInput is an input type that accepts GetSqlserverflexInstanceStorageArgs and GetSqlserverflexInstanceStorageOutput values. -// You can construct a concrete instance of `GetSqlserverflexInstanceStorageInput` via: +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 (GetTelemetryrouterInstanceFilterAttributeArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterInstanceFilterAttribute)(nil)).Elem() +} + +func (i GetTelemetryrouterInstanceFilterAttributeArgs) ToGetTelemetryrouterInstanceFilterAttributeOutput() GetTelemetryrouterInstanceFilterAttributeOutput { + return i.ToGetTelemetryrouterInstanceFilterAttributeOutputWithContext(context.Background()) +} + +func (i GetTelemetryrouterInstanceFilterAttributeArgs) ToGetTelemetryrouterInstanceFilterAttributeOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterAttributeOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterInstanceFilterAttributeOutput) +} + +// GetTelemetryrouterInstanceFilterAttributeArrayInput is an input type that accepts GetTelemetryrouterInstanceFilterAttributeArray and GetTelemetryrouterInstanceFilterAttributeArrayOutput values. +// You can construct a concrete instance of `GetTelemetryrouterInstanceFilterAttributeArrayInput` via: // -// GetSqlserverflexInstanceStorageArgs{...} -type GetSqlserverflexInstanceStorageInput interface { +// GetTelemetryrouterInstanceFilterAttributeArray{ GetTelemetryrouterInstanceFilterAttributeArgs{...} } +type GetTelemetryrouterInstanceFilterAttributeArrayInput interface { pulumi.Input - ToGetSqlserverflexInstanceStorageOutput() GetSqlserverflexInstanceStorageOutput - ToGetSqlserverflexInstanceStorageOutputWithContext(context.Context) GetSqlserverflexInstanceStorageOutput + ToGetTelemetryrouterInstanceFilterAttributeArrayOutput() GetTelemetryrouterInstanceFilterAttributeArrayOutput + ToGetTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(context.Context) GetTelemetryrouterInstanceFilterAttributeArrayOutput } -type GetSqlserverflexInstanceStorageArgs struct { - Class pulumi.StringInput `pulumi:"class"` - Size pulumi.IntInput `pulumi:"size"` -} +type GetTelemetryrouterInstanceFilterAttributeArray []GetTelemetryrouterInstanceFilterAttributeInput -func (GetSqlserverflexInstanceStorageArgs) ElementType() reflect.Type { - return reflect.TypeOf((*GetSqlserverflexInstanceStorage)(nil)).Elem() +func (GetTelemetryrouterInstanceFilterAttributeArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTelemetryrouterInstanceFilterAttribute)(nil)).Elem() } -func (i GetSqlserverflexInstanceStorageArgs) ToGetSqlserverflexInstanceStorageOutput() GetSqlserverflexInstanceStorageOutput { - return i.ToGetSqlserverflexInstanceStorageOutputWithContext(context.Background()) +func (i GetTelemetryrouterInstanceFilterAttributeArray) ToGetTelemetryrouterInstanceFilterAttributeArrayOutput() GetTelemetryrouterInstanceFilterAttributeArrayOutput { + return i.ToGetTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(context.Background()) } -func (i GetSqlserverflexInstanceStorageArgs) ToGetSqlserverflexInstanceStorageOutputWithContext(ctx context.Context) GetSqlserverflexInstanceStorageOutput { - return pulumi.ToOutputWithContext(ctx, i).(GetSqlserverflexInstanceStorageOutput) +func (i GetTelemetryrouterInstanceFilterAttributeArray) ToGetTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterAttributeArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetTelemetryrouterInstanceFilterAttributeArrayOutput) } -type GetSqlserverflexInstanceStorageOutput struct{ *pulumi.OutputState } +type GetTelemetryrouterInstanceFilterAttributeOutput struct{ *pulumi.OutputState } -func (GetSqlserverflexInstanceStorageOutput) ElementType() reflect.Type { - return reflect.TypeOf((*GetSqlserverflexInstanceStorage)(nil)).Elem() +func (GetTelemetryrouterInstanceFilterAttributeOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetTelemetryrouterInstanceFilterAttribute)(nil)).Elem() } -func (o GetSqlserverflexInstanceStorageOutput) ToGetSqlserverflexInstanceStorageOutput() GetSqlserverflexInstanceStorageOutput { +func (o GetTelemetryrouterInstanceFilterAttributeOutput) ToGetTelemetryrouterInstanceFilterAttributeOutput() GetTelemetryrouterInstanceFilterAttributeOutput { return o } -func (o GetSqlserverflexInstanceStorageOutput) ToGetSqlserverflexInstanceStorageOutputWithContext(ctx context.Context) GetSqlserverflexInstanceStorageOutput { +func (o GetTelemetryrouterInstanceFilterAttributeOutput) ToGetTelemetryrouterInstanceFilterAttributeOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterAttributeOutput { return o } -func (o GetSqlserverflexInstanceStorageOutput) Class() pulumi.StringOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceStorage) string { return v.Class }).(pulumi.StringOutput) +// 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 (o GetSqlserverflexInstanceStorageOutput) Size() pulumi.IntOutput { - return o.ApplyT(func(v GetSqlserverflexInstanceStorage) int { return v.Size }).(pulumi.IntOutput) +// 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) +} + +// 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) +} + +// The TelemetryRouter global filter attributes +func (o GetTelemetryrouterInstanceFilterAttributeOutput) Values() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetTelemetryrouterInstanceFilterAttribute) []string { return v.Values }).(pulumi.StringArrayOutput) +} + +type GetTelemetryrouterInstanceFilterAttributeArrayOutput struct{ *pulumi.OutputState } + +func (GetTelemetryrouterInstanceFilterAttributeArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]GetTelemetryrouterInstanceFilterAttribute)(nil)).Elem() +} + +func (o GetTelemetryrouterInstanceFilterAttributeArrayOutput) ToGetTelemetryrouterInstanceFilterAttributeArrayOutput() GetTelemetryrouterInstanceFilterAttributeArrayOutput { + return o +} + +func (o GetTelemetryrouterInstanceFilterAttributeArrayOutput) ToGetTelemetryrouterInstanceFilterAttributeArrayOutputWithContext(ctx context.Context) GetTelemetryrouterInstanceFilterAttributeArrayOutput { + 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) } type GetVolumeSource struct { @@ -31001,6 +35226,128 @@ func (o GetVolumeSourceOutput) Type() pulumi.StringOutput { return o.ApplyT(func(v GetVolumeSource) string { return v.Type }).(pulumi.StringOutput) } +type GetVpnGatewayAvailabilityZones struct { + // Availability zone for tunnel 1. + Tunnel1 string `pulumi:"tunnel1"` + // Availability zone for tunnel 2. + Tunnel2 string `pulumi:"tunnel2"` +} + +// GetVpnGatewayAvailabilityZonesInput is an input type that accepts GetVpnGatewayAvailabilityZonesArgs and GetVpnGatewayAvailabilityZonesOutput values. +// You can construct a concrete instance of `GetVpnGatewayAvailabilityZonesInput` via: +// +// GetVpnGatewayAvailabilityZonesArgs{...} +type GetVpnGatewayAvailabilityZonesInput interface { + pulumi.Input + + ToGetVpnGatewayAvailabilityZonesOutput() GetVpnGatewayAvailabilityZonesOutput + ToGetVpnGatewayAvailabilityZonesOutputWithContext(context.Context) GetVpnGatewayAvailabilityZonesOutput +} + +type GetVpnGatewayAvailabilityZonesArgs struct { + // Availability zone for tunnel 1. + Tunnel1 pulumi.StringInput `pulumi:"tunnel1"` + // Availability zone for tunnel 2. + Tunnel2 pulumi.StringInput `pulumi:"tunnel2"` +} + +func (GetVpnGatewayAvailabilityZonesArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnGatewayAvailabilityZones)(nil)).Elem() +} + +func (i GetVpnGatewayAvailabilityZonesArgs) ToGetVpnGatewayAvailabilityZonesOutput() GetVpnGatewayAvailabilityZonesOutput { + return i.ToGetVpnGatewayAvailabilityZonesOutputWithContext(context.Background()) +} + +func (i GetVpnGatewayAvailabilityZonesArgs) ToGetVpnGatewayAvailabilityZonesOutputWithContext(ctx context.Context) GetVpnGatewayAvailabilityZonesOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnGatewayAvailabilityZonesOutput) +} + +type GetVpnGatewayAvailabilityZonesOutput struct{ *pulumi.OutputState } + +func (GetVpnGatewayAvailabilityZonesOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnGatewayAvailabilityZones)(nil)).Elem() +} + +func (o GetVpnGatewayAvailabilityZonesOutput) ToGetVpnGatewayAvailabilityZonesOutput() GetVpnGatewayAvailabilityZonesOutput { + return o +} + +func (o GetVpnGatewayAvailabilityZonesOutput) ToGetVpnGatewayAvailabilityZonesOutputWithContext(ctx context.Context) GetVpnGatewayAvailabilityZonesOutput { + return o +} + +// Availability zone for tunnel 1. +func (o GetVpnGatewayAvailabilityZonesOutput) Tunnel1() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnGatewayAvailabilityZones) string { return v.Tunnel1 }).(pulumi.StringOutput) +} + +// Availability zone for tunnel 2. +func (o GetVpnGatewayAvailabilityZonesOutput) Tunnel2() pulumi.StringOutput { + return o.ApplyT(func(v GetVpnGatewayAvailabilityZones) string { return v.Tunnel2 }).(pulumi.StringOutput) +} + +type GetVpnGatewayBgp 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"` +} + +// GetVpnGatewayBgpInput is an input type that accepts GetVpnGatewayBgpArgs and GetVpnGatewayBgpOutput values. +// You can construct a concrete instance of `GetVpnGatewayBgpInput` via: +// +// GetVpnGatewayBgpArgs{...} +type GetVpnGatewayBgpInput interface { + pulumi.Input + + ToGetVpnGatewayBgpOutput() GetVpnGatewayBgpOutput + ToGetVpnGatewayBgpOutputWithContext(context.Context) GetVpnGatewayBgpOutput +} + +type GetVpnGatewayBgpArgs 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 (GetVpnGatewayBgpArgs) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnGatewayBgp)(nil)).Elem() +} + +func (i GetVpnGatewayBgpArgs) ToGetVpnGatewayBgpOutput() GetVpnGatewayBgpOutput { + return i.ToGetVpnGatewayBgpOutputWithContext(context.Background()) +} + +func (i GetVpnGatewayBgpArgs) ToGetVpnGatewayBgpOutputWithContext(ctx context.Context) GetVpnGatewayBgpOutput { + return pulumi.ToOutputWithContext(ctx, i).(GetVpnGatewayBgpOutput) +} + +type GetVpnGatewayBgpOutput struct{ *pulumi.OutputState } + +func (GetVpnGatewayBgpOutput) ElementType() reflect.Type { + return reflect.TypeOf((*GetVpnGatewayBgp)(nil)).Elem() +} + +func (o GetVpnGatewayBgpOutput) ToGetVpnGatewayBgpOutput() GetVpnGatewayBgpOutput { + return o +} + +func (o GetVpnGatewayBgpOutput) ToGetVpnGatewayBgpOutputWithContext(ctx context.Context) GetVpnGatewayBgpOutput { + return o +} + +// Local ASN for BGP (private ASN range, 64512-4294967294). +func (o GetVpnGatewayBgpOutput) LocalAsn() pulumi.IntOutput { + return o.ApplyT(func(v GetVpnGatewayBgp) int { return v.LocalAsn }).(pulumi.IntOutput) +} + +// List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. +func (o GetVpnGatewayBgpOutput) OverrideAdvertisedRoutes() pulumi.StringArrayOutput { + return o.ApplyT(func(v GetVpnGatewayBgp) []string { return v.OverrideAdvertisedRoutes }).(pulumi.StringArrayOutput) +} + func init() { pulumi.RegisterInputType(reflect.TypeOf((*ApplicationLoadBalancerErrorInput)(nil)).Elem(), ApplicationLoadBalancerErrorArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ApplicationLoadBalancerErrorArrayInput)(nil)).Elem(), ApplicationLoadBalancerErrorArray{}) @@ -31073,6 +35420,22 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*DnsRecordSetTimeoutsPtrInput)(nil)).Elem(), DnsRecordSetTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DnsZoneTimeoutsInput)(nil)).Elem(), DnsZoneTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*DnsZoneTimeoutsPtrInput)(nil)).Elem(), DnsZoneTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DremioInstanceAuthenticationInput)(nil)).Elem(), DremioInstanceAuthenticationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DremioInstanceAuthenticationPtrInput)(nil)).Elem(), DremioInstanceAuthenticationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DremioInstanceAuthenticationAzureadInput)(nil)).Elem(), DremioInstanceAuthenticationAzureadArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DremioInstanceAuthenticationAzureadPtrInput)(nil)).Elem(), DremioInstanceAuthenticationAzureadArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DremioInstanceAuthenticationOauthInput)(nil)).Elem(), DremioInstanceAuthenticationOauthArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DremioInstanceAuthenticationOauthPtrInput)(nil)).Elem(), DremioInstanceAuthenticationOauthArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DremioInstanceAuthenticationOauthJwtClaimsInput)(nil)).Elem(), DremioInstanceAuthenticationOauthJwtClaimsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DremioInstanceAuthenticationOauthJwtClaimsPtrInput)(nil)).Elem(), DremioInstanceAuthenticationOauthJwtClaimsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DremioInstanceAuthenticationOauthParameterInput)(nil)).Elem(), DremioInstanceAuthenticationOauthParameterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DremioInstanceAuthenticationOauthParameterArrayInput)(nil)).Elem(), DremioInstanceAuthenticationOauthParameterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*DremioInstanceEndpointsInput)(nil)).Elem(), DremioInstanceEndpointsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DremioInstanceEndpointsPtrInput)(nil)).Elem(), DremioInstanceEndpointsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DremioInstanceTimeoutsInput)(nil)).Elem(), DremioInstanceTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DremioInstanceTimeoutsPtrInput)(nil)).Elem(), DremioInstanceTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DremioUserTimeoutsInput)(nil)).Elem(), DremioUserTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*DremioUserTimeoutsPtrInput)(nil)).Elem(), DremioUserTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ImageChecksumInput)(nil)).Elem(), ImageChecksumArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ImageChecksumPtrInput)(nil)).Elem(), ImageChecksumArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*ImageConfigInput)(nil)).Elem(), ImageConfigArgs{}) @@ -31211,10 +35574,32 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*SqlserverflexInstanceOptionsPtrInput)(nil)).Elem(), SqlserverflexInstanceOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SqlserverflexInstanceStorageInput)(nil)).Elem(), SqlserverflexInstanceStorageArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*SqlserverflexInstanceStoragePtrInput)(nil)).Elem(), SqlserverflexInstanceStorageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterDestinationConfigInput)(nil)).Elem(), TelemetryrouterDestinationConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterDestinationConfigPtrInput)(nil)).Elem(), TelemetryrouterDestinationConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterDestinationConfigFilterInput)(nil)).Elem(), TelemetryrouterDestinationConfigFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterDestinationConfigFilterPtrInput)(nil)).Elem(), TelemetryrouterDestinationConfigFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterDestinationConfigFilterAttributeInput)(nil)).Elem(), TelemetryrouterDestinationConfigFilterAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterDestinationConfigFilterAttributeArrayInput)(nil)).Elem(), TelemetryrouterDestinationConfigFilterAttributeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterDestinationConfigOpentelemetryInput)(nil)).Elem(), TelemetryrouterDestinationConfigOpentelemetryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterDestinationConfigOpentelemetryPtrInput)(nil)).Elem(), TelemetryrouterDestinationConfigOpentelemetryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterDestinationConfigOpentelemetryBasicAuthInput)(nil)).Elem(), TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrInput)(nil)).Elem(), TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterDestinationConfigS3Input)(nil)).Elem(), TelemetryrouterDestinationConfigS3Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterDestinationConfigS3PtrInput)(nil)).Elem(), TelemetryrouterDestinationConfigS3Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterDestinationConfigS3AccessKeyInput)(nil)).Elem(), TelemetryrouterDestinationConfigS3AccessKeyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterDestinationConfigS3AccessKeyPtrInput)(nil)).Elem(), TelemetryrouterDestinationConfigS3AccessKeyArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterInstanceFilterInput)(nil)).Elem(), TelemetryrouterInstanceFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterInstanceFilterPtrInput)(nil)).Elem(), TelemetryrouterInstanceFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterInstanceFilterAttributeInput)(nil)).Elem(), TelemetryrouterInstanceFilterAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterInstanceFilterAttributeArrayInput)(nil)).Elem(), TelemetryrouterInstanceFilterAttributeArray{}) pulumi.RegisterInputType(reflect.TypeOf((*VolumeEncryptionParametersInput)(nil)).Elem(), VolumeEncryptionParametersArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VolumeEncryptionParametersPtrInput)(nil)).Elem(), VolumeEncryptionParametersArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VolumeSourceInput)(nil)).Elem(), VolumeSourceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*VolumeSourcePtrInput)(nil)).Elem(), VolumeSourceArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnGatewayAvailabilityZonesInput)(nil)).Elem(), VpnGatewayAvailabilityZonesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnGatewayAvailabilityZonesPtrInput)(nil)).Elem(), VpnGatewayAvailabilityZonesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnGatewayBgpInput)(nil)).Elem(), VpnGatewayBgpArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnGatewayBgpPtrInput)(nil)).Elem(), VpnGatewayBgpArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetApplicationLoadBalancerErrorInput)(nil)).Elem(), GetApplicationLoadBalancerErrorArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetApplicationLoadBalancerErrorArrayInput)(nil)).Elem(), GetApplicationLoadBalancerErrorArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetApplicationLoadBalancerListenerInput)(nil)).Elem(), GetApplicationLoadBalancerListenerArgs{}) @@ -31265,6 +35650,13 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetDnsRecordSetTimeoutsPtrInput)(nil)).Elem(), GetDnsRecordSetTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDnsZoneTimeoutsInput)(nil)).Elem(), GetDnsZoneTimeoutsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetDnsZoneTimeoutsPtrInput)(nil)).Elem(), GetDnsZoneTimeoutsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetDremioInstanceAuthenticationInput)(nil)).Elem(), GetDremioInstanceAuthenticationArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetDremioInstanceAuthenticationAzureadInput)(nil)).Elem(), GetDremioInstanceAuthenticationAzureadArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetDremioInstanceAuthenticationOauthInput)(nil)).Elem(), GetDremioInstanceAuthenticationOauthArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetDremioInstanceAuthenticationOauthJwtClaimsInput)(nil)).Elem(), GetDremioInstanceAuthenticationOauthJwtClaimsArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetDremioInstanceAuthenticationOauthParameterInput)(nil)).Elem(), GetDremioInstanceAuthenticationOauthParameterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetDremioInstanceAuthenticationOauthParameterArrayInput)(nil)).Elem(), GetDremioInstanceAuthenticationOauthParameterArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetDremioInstanceEndpointsInput)(nil)).Elem(), GetDremioInstanceEndpointsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetEdgecloudInstancesInstanceInput)(nil)).Elem(), GetEdgecloudInstancesInstanceArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetEdgecloudInstancesInstanceArrayInput)(nil)).Elem(), GetEdgecloudInstancesInstanceArray{}) pulumi.RegisterInputType(reflect.TypeOf((*GetEdgecloudPlansPlanInput)(nil)).Elem(), GetEdgecloudPlansPlanArgs{}) @@ -31393,7 +35785,18 @@ func init() { pulumi.RegisterInputType(reflect.TypeOf((*GetSqlserverflexInstanceFlavorInput)(nil)).Elem(), GetSqlserverflexInstanceFlavorArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSqlserverflexInstanceOptionsInput)(nil)).Elem(), GetSqlserverflexInstanceOptionsArgs{}) pulumi.RegisterInputType(reflect.TypeOf((*GetSqlserverflexInstanceStorageInput)(nil)).Elem(), GetSqlserverflexInstanceStorageArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTelemetryrouterDestinationConfigInput)(nil)).Elem(), GetTelemetryrouterDestinationConfigArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTelemetryrouterDestinationConfigFilterInput)(nil)).Elem(), GetTelemetryrouterDestinationConfigFilterArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTelemetryrouterDestinationConfigFilterAttributeInput)(nil)).Elem(), GetTelemetryrouterDestinationConfigFilterAttributeArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTelemetryrouterDestinationConfigFilterAttributeArrayInput)(nil)).Elem(), GetTelemetryrouterDestinationConfigFilterAttributeArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTelemetryrouterDestinationConfigOpentelemetryInput)(nil)).Elem(), GetTelemetryrouterDestinationConfigOpentelemetryArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTelemetryrouterDestinationConfigS3Input)(nil)).Elem(), GetTelemetryrouterDestinationConfigS3Args{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetTelemetryrouterInstanceFilterInput)(nil)).Elem(), GetTelemetryrouterInstanceFilterArgs{}) + 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((*GetVpnGatewayAvailabilityZonesInput)(nil)).Elem(), GetVpnGatewayAvailabilityZonesArgs{}) + pulumi.RegisterInputType(reflect.TypeOf((*GetVpnGatewayBgpInput)(nil)).Elem(), GetVpnGatewayBgpArgs{}) pulumi.RegisterOutputType(ApplicationLoadBalancerErrorOutput{}) pulumi.RegisterOutputType(ApplicationLoadBalancerErrorArrayOutput{}) pulumi.RegisterOutputType(ApplicationLoadBalancerListenerOutput{}) @@ -31465,6 +35868,22 @@ func init() { pulumi.RegisterOutputType(DnsRecordSetTimeoutsPtrOutput{}) pulumi.RegisterOutputType(DnsZoneTimeoutsOutput{}) pulumi.RegisterOutputType(DnsZoneTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(DremioInstanceAuthenticationOutput{}) + pulumi.RegisterOutputType(DremioInstanceAuthenticationPtrOutput{}) + pulumi.RegisterOutputType(DremioInstanceAuthenticationAzureadOutput{}) + pulumi.RegisterOutputType(DremioInstanceAuthenticationAzureadPtrOutput{}) + pulumi.RegisterOutputType(DremioInstanceAuthenticationOauthOutput{}) + pulumi.RegisterOutputType(DremioInstanceAuthenticationOauthPtrOutput{}) + pulumi.RegisterOutputType(DremioInstanceAuthenticationOauthJwtClaimsOutput{}) + pulumi.RegisterOutputType(DremioInstanceAuthenticationOauthJwtClaimsPtrOutput{}) + pulumi.RegisterOutputType(DremioInstanceAuthenticationOauthParameterOutput{}) + pulumi.RegisterOutputType(DremioInstanceAuthenticationOauthParameterArrayOutput{}) + pulumi.RegisterOutputType(DremioInstanceEndpointsOutput{}) + pulumi.RegisterOutputType(DremioInstanceEndpointsPtrOutput{}) + pulumi.RegisterOutputType(DremioInstanceTimeoutsOutput{}) + pulumi.RegisterOutputType(DremioInstanceTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(DremioUserTimeoutsOutput{}) + pulumi.RegisterOutputType(DremioUserTimeoutsPtrOutput{}) pulumi.RegisterOutputType(ImageChecksumOutput{}) pulumi.RegisterOutputType(ImageChecksumPtrOutput{}) pulumi.RegisterOutputType(ImageConfigOutput{}) @@ -31603,10 +36022,32 @@ func init() { pulumi.RegisterOutputType(SqlserverflexInstanceOptionsPtrOutput{}) pulumi.RegisterOutputType(SqlserverflexInstanceStorageOutput{}) pulumi.RegisterOutputType(SqlserverflexInstanceStoragePtrOutput{}) + pulumi.RegisterOutputType(TelemetryrouterDestinationConfigOutput{}) + pulumi.RegisterOutputType(TelemetryrouterDestinationConfigPtrOutput{}) + pulumi.RegisterOutputType(TelemetryrouterDestinationConfigFilterOutput{}) + pulumi.RegisterOutputType(TelemetryrouterDestinationConfigFilterPtrOutput{}) + pulumi.RegisterOutputType(TelemetryrouterDestinationConfigFilterAttributeOutput{}) + pulumi.RegisterOutputType(TelemetryrouterDestinationConfigFilterAttributeArrayOutput{}) + pulumi.RegisterOutputType(TelemetryrouterDestinationConfigOpentelemetryOutput{}) + pulumi.RegisterOutputType(TelemetryrouterDestinationConfigOpentelemetryPtrOutput{}) + pulumi.RegisterOutputType(TelemetryrouterDestinationConfigOpentelemetryBasicAuthOutput{}) + pulumi.RegisterOutputType(TelemetryrouterDestinationConfigOpentelemetryBasicAuthPtrOutput{}) + pulumi.RegisterOutputType(TelemetryrouterDestinationConfigS3Output{}) + pulumi.RegisterOutputType(TelemetryrouterDestinationConfigS3PtrOutput{}) + pulumi.RegisterOutputType(TelemetryrouterDestinationConfigS3AccessKeyOutput{}) + pulumi.RegisterOutputType(TelemetryrouterDestinationConfigS3AccessKeyPtrOutput{}) + pulumi.RegisterOutputType(TelemetryrouterInstanceFilterOutput{}) + pulumi.RegisterOutputType(TelemetryrouterInstanceFilterPtrOutput{}) + pulumi.RegisterOutputType(TelemetryrouterInstanceFilterAttributeOutput{}) + pulumi.RegisterOutputType(TelemetryrouterInstanceFilterAttributeArrayOutput{}) pulumi.RegisterOutputType(VolumeEncryptionParametersOutput{}) pulumi.RegisterOutputType(VolumeEncryptionParametersPtrOutput{}) pulumi.RegisterOutputType(VolumeSourceOutput{}) pulumi.RegisterOutputType(VolumeSourcePtrOutput{}) + pulumi.RegisterOutputType(VpnGatewayAvailabilityZonesOutput{}) + pulumi.RegisterOutputType(VpnGatewayAvailabilityZonesPtrOutput{}) + pulumi.RegisterOutputType(VpnGatewayBgpOutput{}) + pulumi.RegisterOutputType(VpnGatewayBgpPtrOutput{}) pulumi.RegisterOutputType(GetApplicationLoadBalancerErrorOutput{}) pulumi.RegisterOutputType(GetApplicationLoadBalancerErrorArrayOutput{}) pulumi.RegisterOutputType(GetApplicationLoadBalancerListenerOutput{}) @@ -31657,6 +36098,13 @@ func init() { pulumi.RegisterOutputType(GetDnsRecordSetTimeoutsPtrOutput{}) pulumi.RegisterOutputType(GetDnsZoneTimeoutsOutput{}) pulumi.RegisterOutputType(GetDnsZoneTimeoutsPtrOutput{}) + pulumi.RegisterOutputType(GetDremioInstanceAuthenticationOutput{}) + pulumi.RegisterOutputType(GetDremioInstanceAuthenticationAzureadOutput{}) + pulumi.RegisterOutputType(GetDremioInstanceAuthenticationOauthOutput{}) + pulumi.RegisterOutputType(GetDremioInstanceAuthenticationOauthJwtClaimsOutput{}) + pulumi.RegisterOutputType(GetDremioInstanceAuthenticationOauthParameterOutput{}) + pulumi.RegisterOutputType(GetDremioInstanceAuthenticationOauthParameterArrayOutput{}) + pulumi.RegisterOutputType(GetDremioInstanceEndpointsOutput{}) pulumi.RegisterOutputType(GetEdgecloudInstancesInstanceOutput{}) pulumi.RegisterOutputType(GetEdgecloudInstancesInstanceArrayOutput{}) pulumi.RegisterOutputType(GetEdgecloudPlansPlanOutput{}) @@ -31785,5 +36233,16 @@ func init() { pulumi.RegisterOutputType(GetSqlserverflexInstanceFlavorOutput{}) pulumi.RegisterOutputType(GetSqlserverflexInstanceOptionsOutput{}) pulumi.RegisterOutputType(GetSqlserverflexInstanceStorageOutput{}) + pulumi.RegisterOutputType(GetTelemetryrouterDestinationConfigOutput{}) + pulumi.RegisterOutputType(GetTelemetryrouterDestinationConfigFilterOutput{}) + pulumi.RegisterOutputType(GetTelemetryrouterDestinationConfigFilterAttributeOutput{}) + pulumi.RegisterOutputType(GetTelemetryrouterDestinationConfigFilterAttributeArrayOutput{}) + pulumi.RegisterOutputType(GetTelemetryrouterDestinationConfigOpentelemetryOutput{}) + pulumi.RegisterOutputType(GetTelemetryrouterDestinationConfigS3Output{}) + pulumi.RegisterOutputType(GetTelemetryrouterInstanceFilterOutput{}) + pulumi.RegisterOutputType(GetTelemetryrouterInstanceFilterAttributeOutput{}) + pulumi.RegisterOutputType(GetTelemetryrouterInstanceFilterAttributeArrayOutput{}) pulumi.RegisterOutputType(GetVolumeSourceOutput{}) + pulumi.RegisterOutputType(GetVpnGatewayAvailabilityZonesOutput{}) + pulumi.RegisterOutputType(GetVpnGatewayBgpOutput{}) } diff --git a/sdk/go/stackit/rabbitmqCredential.go b/sdk/go/stackit/rabbitmqCredential.go index 216a138..caddcfb 100644 --- a/sdk/go/stackit/rabbitmqCredential.go +++ b/sdk/go/stackit/rabbitmqCredential.go @@ -30,10 +30,12 @@ type RabbitmqCredential struct { Password pulumi.StringOutput `pulumi:"password"` Port pulumi.IntOutput `pulumi:"port"` // STACKIT Project ID to which the instance is associated. - ProjectId pulumi.StringOutput `pulumi:"projectId"` - Uri pulumi.StringOutput `pulumi:"uri"` - Uris pulumi.StringArrayOutput `pulumi:"uris"` - Username pulumi.StringOutput `pulumi:"username"` + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapOutput `pulumi:"rotateWhenChanged"` + Uri pulumi.StringOutput `pulumi:"uri"` + Uris pulumi.StringArrayOutput `pulumi:"uris"` + Username pulumi.StringOutput `pulumi:"username"` } // NewRabbitmqCredential registers a new resource with the given unique name, arguments, and options. @@ -89,10 +91,12 @@ type rabbitmqCredentialState struct { Password *string `pulumi:"password"` Port *int `pulumi:"port"` // STACKIT Project ID to which the instance is associated. - ProjectId *string `pulumi:"projectId"` - Uri *string `pulumi:"uri"` - Uris []string `pulumi:"uris"` - Username *string `pulumi:"username"` + ProjectId *string `pulumi:"projectId"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` + Uri *string `pulumi:"uri"` + Uris []string `pulumi:"uris"` + Username *string `pulumi:"username"` } type RabbitmqCredentialState struct { @@ -109,9 +113,11 @@ type RabbitmqCredentialState struct { Port pulumi.IntPtrInput // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringPtrInput - Uri pulumi.StringPtrInput - Uris pulumi.StringArrayInput - Username pulumi.StringPtrInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput + Uri pulumi.StringPtrInput + Uris pulumi.StringArrayInput + Username pulumi.StringPtrInput } func (RabbitmqCredentialState) ElementType() reflect.Type { @@ -123,6 +129,8 @@ type rabbitmqCredentialArgs struct { InstanceId string `pulumi:"instanceId"` // STACKIT Project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` } // The set of arguments for constructing a RabbitmqCredential resource. @@ -131,6 +139,8 @@ type RabbitmqCredentialArgs struct { InstanceId pulumi.StringInput // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput } func (RabbitmqCredentialArgs) ElementType() reflect.Type { @@ -263,6 +273,11 @@ func (o RabbitmqCredentialOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *RabbitmqCredential) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } +// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. +func (o RabbitmqCredentialOutput) RotateWhenChanged() pulumi.StringMapOutput { + return o.ApplyT(func(v *RabbitmqCredential) pulumi.StringMapOutput { return v.RotateWhenChanged }).(pulumi.StringMapOutput) +} + func (o RabbitmqCredentialOutput) Uri() pulumi.StringOutput { return o.ApplyT(func(v *RabbitmqCredential) pulumi.StringOutput { return v.Uri }).(pulumi.StringOutput) } diff --git a/sdk/go/stackit/redisCredential.go b/sdk/go/stackit/redisCredential.go index 3881891..511eafe 100644 --- a/sdk/go/stackit/redisCredential.go +++ b/sdk/go/stackit/redisCredential.go @@ -29,6 +29,8 @@ type RedisCredential struct { Port pulumi.IntOutput `pulumi:"port"` // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapOutput `pulumi:"rotateWhenChanged"` // Connection URI. Uri pulumi.StringOutput `pulumi:"uri"` Username pulumi.StringOutput `pulumi:"username"` @@ -86,6 +88,8 @@ type redisCredentialState struct { Port *int `pulumi:"port"` // STACKIT Project ID to which the instance is associated. ProjectId *string `pulumi:"projectId"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` // Connection URI. Uri *string `pulumi:"uri"` Username *string `pulumi:"username"` @@ -103,6 +107,8 @@ type RedisCredentialState struct { Port pulumi.IntPtrInput // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringPtrInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput // Connection URI. Uri pulumi.StringPtrInput Username pulumi.StringPtrInput @@ -117,6 +123,8 @@ type redisCredentialArgs struct { InstanceId string `pulumi:"instanceId"` // STACKIT Project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` } // The set of arguments for constructing a RedisCredential resource. @@ -125,6 +133,8 @@ type RedisCredentialArgs struct { InstanceId pulumi.StringInput // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput } func (RedisCredentialArgs) ElementType() reflect.Type { @@ -249,6 +259,11 @@ func (o RedisCredentialOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *RedisCredential) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } +// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. +func (o RedisCredentialOutput) RotateWhenChanged() pulumi.StringMapOutput { + return o.ApplyT(func(v *RedisCredential) pulumi.StringMapOutput { return v.RotateWhenChanged }).(pulumi.StringMapOutput) +} + // Connection URI. func (o RedisCredentialOutput) Uri() pulumi.StringOutput { return o.ApplyT(func(v *RedisCredential) pulumi.StringOutput { return v.Uri }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/secretsmanagerUser.go b/sdk/go/stackit/secretsmanagerUser.go index b53303f..806378e 100644 --- a/sdk/go/stackit/secretsmanagerUser.go +++ b/sdk/go/stackit/secretsmanagerUser.go @@ -26,6 +26,8 @@ type SecretsmanagerUser struct { Password pulumi.StringOutput `pulumi:"password"` // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringOutput `pulumi:"projectId"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapOutput `pulumi:"rotateWhenChanged"` // The user's ID. UserId pulumi.StringOutput `pulumi:"userId"` // An auto-generated user name. @@ -88,6 +90,8 @@ type secretsmanagerUserState struct { Password *string `pulumi:"password"` // STACKIT Project ID to which the instance is associated. ProjectId *string `pulumi:"projectId"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` // The user's ID. UserId *string `pulumi:"userId"` // An auto-generated user name. @@ -105,6 +109,8 @@ type SecretsmanagerUserState struct { Password pulumi.StringPtrInput // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringPtrInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput // The user's ID. UserId pulumi.StringPtrInput // An auto-generated user name. @@ -124,6 +130,8 @@ type secretsmanagerUserArgs struct { InstanceId string `pulumi:"instanceId"` // STACKIT Project ID to which the instance is associated. ProjectId string `pulumi:"projectId"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` // If true, the user has writeaccess to the secrets engine. WriteEnabled bool `pulumi:"writeEnabled"` } @@ -136,6 +144,8 @@ type SecretsmanagerUserArgs struct { InstanceId pulumi.StringInput // STACKIT Project ID to which the instance is associated. ProjectId pulumi.StringInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput // If true, the user has writeaccess to the secrets engine. WriteEnabled pulumi.BoolInput } @@ -247,6 +257,11 @@ func (o SecretsmanagerUserOutput) ProjectId() pulumi.StringOutput { return o.ApplyT(func(v *SecretsmanagerUser) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) } +// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. +func (o SecretsmanagerUserOutput) RotateWhenChanged() pulumi.StringMapOutput { + return o.ApplyT(func(v *SecretsmanagerUser) pulumi.StringMapOutput { return v.RotateWhenChanged }).(pulumi.StringMapOutput) +} + // The user's ID. func (o SecretsmanagerUserOutput) UserId() pulumi.StringOutput { return o.ApplyT(func(v *SecretsmanagerUser) pulumi.StringOutput { return v.UserId }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/serviceAccount.go b/sdk/go/stackit/serviceAccount.go index 647c1a2..ef523b3 100644 --- a/sdk/go/stackit/serviceAccount.go +++ b/sdk/go/stackit/serviceAccount.go @@ -12,7 +12,7 @@ import ( "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" ) -// Service account resource schema. +// Manages a STACKIT service account in a project. // // ## Example Usage type ServiceAccount struct { diff --git a/sdk/go/stackit/serviceAccountFederatedIdentityProvider.go b/sdk/go/stackit/serviceAccountFederatedIdentityProvider.go index 86a1af8..743134b 100644 --- a/sdk/go/stackit/serviceAccountFederatedIdentityProvider.go +++ b/sdk/go/stackit/serviceAccountFederatedIdentityProvider.go @@ -12,7 +12,7 @@ import ( "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" ) -// Service account federated identity provider schema. +// Manages a federated identity provider for a STACKIT service account to enable workload identity federation. // ## Example Usage // // ### Create a federated identity provider diff --git a/sdk/go/stackit/serviceAccountKey.go b/sdk/go/stackit/serviceAccountKey.go index 621a714..1ab3a62 100644 --- a/sdk/go/stackit/serviceAccountKey.go +++ b/sdk/go/stackit/serviceAccountKey.go @@ -12,7 +12,7 @@ import ( "github.com/stackitcloud/pulumi-stackit/sdk/go/stackit/internal" ) -// Service account key schema. +// Creates and manages a key for a STACKIT service account. // ## Example Usage // // ### Automatically rotate service account keys diff --git a/sdk/go/stackit/sfsExportPolicy.go b/sdk/go/stackit/sfsExportPolicy.go index d1aa87f..5eab434 100644 --- a/sdk/go/stackit/sfsExportPolicy.go +++ b/sdk/go/stackit/sfsExportPolicy.go @@ -20,6 +20,8 @@ import ( type SfsExportPolicy struct { pulumi.CustomResourceState + // Labels are key-value string pairs which can be attached to the resource. + Labels pulumi.StringMapOutput `pulumi:"labels"` // Name of the export policy. Name pulumi.StringOutput `pulumi:"name"` // Export policy ID @@ -64,6 +66,8 @@ func GetSfsExportPolicy(ctx *pulumi.Context, // Input properties used for looking up and filtering SfsExportPolicy resources. type sfsExportPolicyState struct { + // Labels are key-value string pairs which can be attached to the resource. + Labels map[string]string `pulumi:"labels"` // Name of the export policy. Name *string `pulumi:"name"` // Export policy ID @@ -76,6 +80,8 @@ type sfsExportPolicyState struct { } type SfsExportPolicyState struct { + // Labels are key-value string pairs which can be attached to the resource. + Labels pulumi.StringMapInput // Name of the export policy. Name pulumi.StringPtrInput // Export policy ID @@ -92,6 +98,8 @@ func (SfsExportPolicyState) ElementType() reflect.Type { } type sfsExportPolicyArgs struct { + // Labels are key-value string pairs which can be attached to the resource. + Labels map[string]string `pulumi:"labels"` // Name of the export policy. Name *string `pulumi:"name"` // STACKIT project ID to which the export policy is associated. @@ -103,6 +111,8 @@ type sfsExportPolicyArgs struct { // The set of arguments for constructing a SfsExportPolicy resource. type SfsExportPolicyArgs struct { + // Labels are key-value string pairs which can be attached to the resource. + Labels pulumi.StringMapInput // Name of the export policy. Name pulumi.StringPtrInput // STACKIT project ID to which the export policy is associated. @@ -199,6 +209,11 @@ func (o SfsExportPolicyOutput) ToSfsExportPolicyOutputWithContext(ctx context.Co return o } +// Labels are key-value string pairs which can be attached to the resource. +func (o SfsExportPolicyOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v *SfsExportPolicy) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) +} + // Name of the export policy. func (o SfsExportPolicyOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *SfsExportPolicy) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/sfsResourcePool.go b/sdk/go/stackit/sfsResourcePool.go index 256cd12..4590093 100644 --- a/sdk/go/stackit/sfsResourcePool.go +++ b/sdk/go/stackit/sfsResourcePool.go @@ -24,6 +24,8 @@ type SfsResourcePool struct { AvailabilityZone pulumi.StringOutput `pulumi:"availabilityZone"` // List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). IpAcls pulumi.StringArrayOutput `pulumi:"ipAcls"` + // Labels are key-value string pairs which can be attached to the resource. + Labels pulumi.StringMapOutput `pulumi:"labels"` // Name of the resource pool. Name pulumi.StringOutput `pulumi:"name"` // Name of the performance class. @@ -91,6 +93,8 @@ type sfsResourcePoolState struct { AvailabilityZone *string `pulumi:"availabilityZone"` // List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). IpAcls []string `pulumi:"ipAcls"` + // Labels are key-value string pairs which can be attached to the resource. + Labels map[string]string `pulumi:"labels"` // Name of the resource pool. Name *string `pulumi:"name"` // Name of the performance class. @@ -114,6 +118,8 @@ type SfsResourcePoolState struct { AvailabilityZone pulumi.StringPtrInput // List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). IpAcls pulumi.StringArrayInput + // Labels are key-value string pairs which can be attached to the resource. + Labels pulumi.StringMapInput // Name of the resource pool. Name pulumi.StringPtrInput // Name of the performance class. @@ -141,6 +147,8 @@ type sfsResourcePoolArgs struct { AvailabilityZone string `pulumi:"availabilityZone"` // List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). IpAcls []string `pulumi:"ipAcls"` + // Labels are key-value string pairs which can be attached to the resource. + Labels map[string]string `pulumi:"labels"` // Name of the resource pool. Name *string `pulumi:"name"` // Name of the performance class. @@ -163,6 +171,8 @@ type SfsResourcePoolArgs struct { AvailabilityZone pulumi.StringInput // List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). IpAcls pulumi.StringArrayInput + // Labels are key-value string pairs which can be attached to the resource. + Labels pulumi.StringMapInput // Name of the resource pool. Name pulumi.StringPtrInput // Name of the performance class. @@ -276,6 +286,11 @@ func (o SfsResourcePoolOutput) IpAcls() pulumi.StringArrayOutput { return o.ApplyT(func(v *SfsResourcePool) pulumi.StringArrayOutput { return v.IpAcls }).(pulumi.StringArrayOutput) } +// Labels are key-value string pairs which can be attached to the resource. +func (o SfsResourcePoolOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v *SfsResourcePool) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) +} + // Name of the resource pool. func (o SfsResourcePoolOutput) Name() pulumi.StringOutput { return o.ApplyT(func(v *SfsResourcePool) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/sfsShare.go b/sdk/go/stackit/sfsShare.go index 4d95984..29d3dec 100644 --- a/sdk/go/stackit/sfsShare.go +++ b/sdk/go/stackit/sfsShare.go @@ -25,6 +25,8 @@ type SfsShare struct { // clients with IPs matching the IP ACL of the Resource Pool hosting this Share. // You can also assign a Share Export Policy after creating the Share ExportPolicy pulumi.StringPtrOutput `pulumi:"exportPolicy"` + // Labels are key-value string pairs which can be attached to the resource. + Labels pulumi.StringMapOutput `pulumi:"labels"` // Mount path of the Share, used to mount the Share MountPath pulumi.StringOutput `pulumi:"mountPath"` // Name of the share. @@ -87,6 +89,8 @@ type sfsShareState struct { // clients with IPs matching the IP ACL of the Resource Pool hosting this Share. // You can also assign a Share Export Policy after creating the Share ExportPolicy *string `pulumi:"exportPolicy"` + // Labels are key-value string pairs which can be attached to the resource. + Labels map[string]string `pulumi:"labels"` // Mount path of the Share, used to mount the Share MountPath *string `pulumi:"mountPath"` // Name of the share. @@ -111,6 +115,8 @@ type SfsShareState struct { // clients with IPs matching the IP ACL of the Resource Pool hosting this Share. // You can also assign a Share Export Policy after creating the Share ExportPolicy pulumi.StringPtrInput + // Labels are key-value string pairs which can be attached to the resource. + Labels pulumi.StringMapInput // Mount path of the Share, used to mount the Share MountPath pulumi.StringPtrInput // Name of the share. @@ -139,6 +145,8 @@ type sfsShareArgs struct { // clients with IPs matching the IP ACL of the Resource Pool hosting this Share. // You can also assign a Share Export Policy after creating the Share ExportPolicy *string `pulumi:"exportPolicy"` + // Labels are key-value string pairs which can be attached to the resource. + Labels map[string]string `pulumi:"labels"` // Name of the share. Name *string `pulumi:"name"` // STACKIT project ID to which the share is associated. @@ -160,6 +168,8 @@ type SfsShareArgs struct { // clients with IPs matching the IP ACL of the Resource Pool hosting this Share. // You can also assign a Share Export Policy after creating the Share ExportPolicy pulumi.StringPtrInput + // Labels are key-value string pairs which can be attached to the resource. + Labels pulumi.StringMapInput // Name of the share. Name pulumi.StringPtrInput // STACKIT project ID to which the share is associated. @@ -269,6 +279,11 @@ func (o SfsShareOutput) ExportPolicy() pulumi.StringPtrOutput { return o.ApplyT(func(v *SfsShare) pulumi.StringPtrOutput { return v.ExportPolicy }).(pulumi.StringPtrOutput) } +// Labels are key-value string pairs which can be attached to the resource. +func (o SfsShareOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v *SfsShare) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) +} + // Mount path of the Share, used to mount the Share func (o SfsShareOutput) MountPath() pulumi.StringOutput { return o.ApplyT(func(v *SfsShare) pulumi.StringOutput { return v.MountPath }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/sqlserverflexUser.go b/sdk/go/stackit/sqlserverflexUser.go index 35acebb..003fdd8 100644 --- a/sdk/go/stackit/sqlserverflexUser.go +++ b/sdk/go/stackit/sqlserverflexUser.go @@ -29,6 +29,8 @@ type SqlserverflexUser struct { Region pulumi.StringOutput `pulumi:"region"` // Database access levels for the user. The values for the default roles are: `##STACKIT_DatabaseManager##`, `##STACKIT_LoginManager##`, `##STACKIT_ProcessManager##`, `##STACKIT_ServerManager##`, `##STACKIT_SQLAgentManager##`, `##STACKIT_SQLAgentUser##` Roles pulumi.StringArrayOutput `pulumi:"roles"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapOutput `pulumi:"rotateWhenChanged"` // User ID. UserId pulumi.StringOutput `pulumi:"userId"` // Username of the SQLServer Flex instance. @@ -92,6 +94,8 @@ type sqlserverflexUserState struct { Region *string `pulumi:"region"` // Database access levels for the user. The values for the default roles are: `##STACKIT_DatabaseManager##`, `##STACKIT_LoginManager##`, `##STACKIT_ProcessManager##`, `##STACKIT_ServerManager##`, `##STACKIT_SQLAgentManager##`, `##STACKIT_SQLAgentUser##` Roles []string `pulumi:"roles"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` // User ID. UserId *string `pulumi:"userId"` // Username of the SQLServer Flex instance. @@ -110,6 +114,8 @@ type SqlserverflexUserState struct { Region pulumi.StringPtrInput // Database access levels for the user. The values for the default roles are: `##STACKIT_DatabaseManager##`, `##STACKIT_LoginManager##`, `##STACKIT_ProcessManager##`, `##STACKIT_ServerManager##`, `##STACKIT_SQLAgentManager##`, `##STACKIT_SQLAgentUser##` Roles pulumi.StringArrayInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput // User ID. UserId pulumi.StringPtrInput // Username of the SQLServer Flex instance. @@ -128,6 +134,8 @@ type sqlserverflexUserArgs struct { Region *string `pulumi:"region"` // Database access levels for the user. The values for the default roles are: `##STACKIT_DatabaseManager##`, `##STACKIT_LoginManager##`, `##STACKIT_ProcessManager##`, `##STACKIT_ServerManager##`, `##STACKIT_SQLAgentManager##`, `##STACKIT_SQLAgentUser##` Roles []string `pulumi:"roles"` + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged map[string]string `pulumi:"rotateWhenChanged"` // Username of the SQLServer Flex instance. Username string `pulumi:"username"` } @@ -141,6 +149,8 @@ type SqlserverflexUserArgs struct { Region pulumi.StringPtrInput // Database access levels for the user. The values for the default roles are: `##STACKIT_DatabaseManager##`, `##STACKIT_LoginManager##`, `##STACKIT_ProcessManager##`, `##STACKIT_ServerManager##`, `##STACKIT_SQLAgentManager##`, `##STACKIT_SQLAgentUser##` Roles pulumi.StringArrayInput + // A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + RotateWhenChanged pulumi.StringMapInput // Username of the SQLServer Flex instance. Username pulumi.StringInput } @@ -264,6 +274,11 @@ func (o SqlserverflexUserOutput) Roles() pulumi.StringArrayOutput { return o.ApplyT(func(v *SqlserverflexUser) pulumi.StringArrayOutput { return v.Roles }).(pulumi.StringArrayOutput) } +// A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. +func (o SqlserverflexUserOutput) RotateWhenChanged() pulumi.StringMapOutput { + return o.ApplyT(func(v *SqlserverflexUser) pulumi.StringMapOutput { return v.RotateWhenChanged }).(pulumi.StringMapOutput) +} + // User ID. func (o SqlserverflexUserOutput) UserId() pulumi.StringOutput { return o.ApplyT(func(v *SqlserverflexUser) pulumi.StringOutput { return v.UserId }).(pulumi.StringOutput) diff --git a/sdk/go/stackit/telemetrylink.go b/sdk/go/stackit/telemetrylink.go new file mode 100644 index 0000000..eb014be --- /dev/null +++ b/sdk/go/stackit/telemetrylink.go @@ -0,0 +1,349 @@ +// 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" +) + +// TelemetryLink instance 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 Telemetrylink struct { + pulumi.CustomResourceState + + // The access token of the Telemetry Router instance. + AccessToken pulumi.StringPtrOutput `pulumi:"accessToken"` + // The time the Telemetry Link was created. + CreateTime pulumi.StringOutput `pulumi:"createTime"` + // The description of the Telemetry Link resource. + Description pulumi.StringPtrOutput `pulumi:"description"` + // The displayed name of the Telemetry Link resource. + DisplayName pulumi.StringOutput `pulumi:"displayName"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` + // STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + ResourceId pulumi.StringOutput `pulumi:"resourceId"` + // The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + ResourceType pulumi.StringOutput `pulumi:"resourceType"` + // The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. + Status pulumi.StringOutput `pulumi:"status"` + // The Telemetry Router ID. + TelemetryRouterId pulumi.StringOutput `pulumi:"telemetryRouterId"` +} + +// NewTelemetrylink registers a new resource with the given unique name, arguments, and options. +func NewTelemetrylink(ctx *pulumi.Context, + name string, args *TelemetrylinkArgs, opts ...pulumi.ResourceOption) (*Telemetrylink, 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.ResourceId == nil { + return nil, errors.New("invalid value for required argument 'ResourceId'") + } + if args.ResourceType == nil { + return nil, errors.New("invalid value for required argument 'ResourceType'") + } + if args.TelemetryRouterId == nil { + return nil, errors.New("invalid value for required argument 'TelemetryRouterId'") + } + if args.AccessToken != nil { + args.AccessToken = pulumi.ToSecret(args.AccessToken).(pulumi.StringPtrInput) + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "accessToken", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource Telemetrylink + err := ctx.RegisterResource("stackit:index/telemetrylink:Telemetrylink", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetTelemetrylink gets an existing Telemetrylink 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 GetTelemetrylink(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *TelemetrylinkState, opts ...pulumi.ResourceOption) (*Telemetrylink, error) { + var resource Telemetrylink + err := ctx.ReadResource("stackit:index/telemetrylink:Telemetrylink", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering Telemetrylink resources. +type telemetrylinkState struct { + // The access token of the Telemetry Router instance. + AccessToken *string `pulumi:"accessToken"` + // The time the Telemetry Link was created. + CreateTime *string `pulumi:"createTime"` + // The description of the Telemetry Link resource. + Description *string `pulumi:"description"` + // The displayed name of the Telemetry Link resource. + DisplayName *string `pulumi:"displayName"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + ResourceId *string `pulumi:"resourceId"` + // The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + ResourceType *string `pulumi:"resourceType"` + // The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. + Status *string `pulumi:"status"` + // The Telemetry Router ID. + TelemetryRouterId *string `pulumi:"telemetryRouterId"` +} + +type TelemetrylinkState struct { + // The access token of the Telemetry Router instance. + AccessToken pulumi.StringPtrInput + // The time the Telemetry Link was created. + CreateTime pulumi.StringPtrInput + // The description of the Telemetry Link resource. + Description pulumi.StringPtrInput + // The displayed name of the Telemetry Link resource. + DisplayName pulumi.StringPtrInput + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + ResourceId pulumi.StringPtrInput + // The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + ResourceType pulumi.StringPtrInput + // The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. + Status pulumi.StringPtrInput + // The Telemetry Router ID. + TelemetryRouterId pulumi.StringPtrInput +} + +func (TelemetrylinkState) ElementType() reflect.Type { + return reflect.TypeOf((*telemetrylinkState)(nil)).Elem() +} + +type telemetrylinkArgs struct { + // The access token of the Telemetry Router instance. + AccessToken *string `pulumi:"accessToken"` + // The description of the Telemetry Link resource. + Description *string `pulumi:"description"` + // The displayed name of the Telemetry Link resource. + DisplayName string `pulumi:"displayName"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + ResourceId string `pulumi:"resourceId"` + // The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + ResourceType string `pulumi:"resourceType"` + // The Telemetry Router ID. + TelemetryRouterId string `pulumi:"telemetryRouterId"` +} + +// The set of arguments for constructing a Telemetrylink resource. +type TelemetrylinkArgs struct { + // The access token of the Telemetry Router instance. + AccessToken pulumi.StringPtrInput + // The description of the Telemetry Link resource. + Description pulumi.StringPtrInput + // The displayed name of the Telemetry Link resource. + DisplayName pulumi.StringInput + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + ResourceId pulumi.StringInput + // The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + ResourceType pulumi.StringInput + // The Telemetry Router ID. + TelemetryRouterId pulumi.StringInput +} + +func (TelemetrylinkArgs) ElementType() reflect.Type { + return reflect.TypeOf((*telemetrylinkArgs)(nil)).Elem() +} + +type TelemetrylinkInput interface { + pulumi.Input + + ToTelemetrylinkOutput() TelemetrylinkOutput + ToTelemetrylinkOutputWithContext(ctx context.Context) TelemetrylinkOutput +} + +func (*Telemetrylink) ElementType() reflect.Type { + return reflect.TypeOf((**Telemetrylink)(nil)).Elem() +} + +func (i *Telemetrylink) ToTelemetrylinkOutput() TelemetrylinkOutput { + return i.ToTelemetrylinkOutputWithContext(context.Background()) +} + +func (i *Telemetrylink) ToTelemetrylinkOutputWithContext(ctx context.Context) TelemetrylinkOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetrylinkOutput) +} + +// TelemetrylinkArrayInput is an input type that accepts TelemetrylinkArray and TelemetrylinkArrayOutput values. +// You can construct a concrete instance of `TelemetrylinkArrayInput` via: +// +// TelemetrylinkArray{ TelemetrylinkArgs{...} } +type TelemetrylinkArrayInput interface { + pulumi.Input + + ToTelemetrylinkArrayOutput() TelemetrylinkArrayOutput + ToTelemetrylinkArrayOutputWithContext(context.Context) TelemetrylinkArrayOutput +} + +type TelemetrylinkArray []TelemetrylinkInput + +func (TelemetrylinkArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Telemetrylink)(nil)).Elem() +} + +func (i TelemetrylinkArray) ToTelemetrylinkArrayOutput() TelemetrylinkArrayOutput { + return i.ToTelemetrylinkArrayOutputWithContext(context.Background()) +} + +func (i TelemetrylinkArray) ToTelemetrylinkArrayOutputWithContext(ctx context.Context) TelemetrylinkArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetrylinkArrayOutput) +} + +// TelemetrylinkMapInput is an input type that accepts TelemetrylinkMap and TelemetrylinkMapOutput values. +// You can construct a concrete instance of `TelemetrylinkMapInput` via: +// +// TelemetrylinkMap{ "key": TelemetrylinkArgs{...} } +type TelemetrylinkMapInput interface { + pulumi.Input + + ToTelemetrylinkMapOutput() TelemetrylinkMapOutput + ToTelemetrylinkMapOutputWithContext(context.Context) TelemetrylinkMapOutput +} + +type TelemetrylinkMap map[string]TelemetrylinkInput + +func (TelemetrylinkMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Telemetrylink)(nil)).Elem() +} + +func (i TelemetrylinkMap) ToTelemetrylinkMapOutput() TelemetrylinkMapOutput { + return i.ToTelemetrylinkMapOutputWithContext(context.Background()) +} + +func (i TelemetrylinkMap) ToTelemetrylinkMapOutputWithContext(ctx context.Context) TelemetrylinkMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetrylinkMapOutput) +} + +type TelemetrylinkOutput struct{ *pulumi.OutputState } + +func (TelemetrylinkOutput) ElementType() reflect.Type { + return reflect.TypeOf((**Telemetrylink)(nil)).Elem() +} + +func (o TelemetrylinkOutput) ToTelemetrylinkOutput() TelemetrylinkOutput { + return o +} + +func (o TelemetrylinkOutput) ToTelemetrylinkOutputWithContext(ctx context.Context) TelemetrylinkOutput { + return o +} + +// The access token of the Telemetry Router instance. +func (o TelemetrylinkOutput) AccessToken() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Telemetrylink) pulumi.StringPtrOutput { return v.AccessToken }).(pulumi.StringPtrOutput) +} + +// The time the Telemetry Link was created. +func (o TelemetrylinkOutput) CreateTime() pulumi.StringOutput { + return o.ApplyT(func(v *Telemetrylink) pulumi.StringOutput { return v.CreateTime }).(pulumi.StringOutput) +} + +// The description of the Telemetry Link resource. +func (o TelemetrylinkOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *Telemetrylink) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The displayed name of the Telemetry Link resource. +func (o TelemetrylinkOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *Telemetrylink) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o TelemetrylinkOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *Telemetrylink) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. +func (o TelemetrylinkOutput) ResourceId() pulumi.StringOutput { + return o.ApplyT(func(v *Telemetrylink) pulumi.StringOutput { return v.ResourceId }).(pulumi.StringOutput) +} + +// The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. +func (o TelemetrylinkOutput) ResourceType() pulumi.StringOutput { + return o.ApplyT(func(v *Telemetrylink) pulumi.StringOutput { return v.ResourceType }).(pulumi.StringOutput) +} + +// The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. +func (o TelemetrylinkOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *Telemetrylink) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The Telemetry Router ID. +func (o TelemetrylinkOutput) TelemetryRouterId() pulumi.StringOutput { + return o.ApplyT(func(v *Telemetrylink) pulumi.StringOutput { return v.TelemetryRouterId }).(pulumi.StringOutput) +} + +type TelemetrylinkArrayOutput struct{ *pulumi.OutputState } + +func (TelemetrylinkArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*Telemetrylink)(nil)).Elem() +} + +func (o TelemetrylinkArrayOutput) ToTelemetrylinkArrayOutput() TelemetrylinkArrayOutput { + return o +} + +func (o TelemetrylinkArrayOutput) ToTelemetrylinkArrayOutputWithContext(ctx context.Context) TelemetrylinkArrayOutput { + return o +} + +func (o TelemetrylinkArrayOutput) Index(i pulumi.IntInput) TelemetrylinkOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *Telemetrylink { + return vs[0].([]*Telemetrylink)[vs[1].(int)] + }).(TelemetrylinkOutput) +} + +type TelemetrylinkMapOutput struct{ *pulumi.OutputState } + +func (TelemetrylinkMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*Telemetrylink)(nil)).Elem() +} + +func (o TelemetrylinkMapOutput) ToTelemetrylinkMapOutput() TelemetrylinkMapOutput { + return o +} + +func (o TelemetrylinkMapOutput) ToTelemetrylinkMapOutputWithContext(ctx context.Context) TelemetrylinkMapOutput { + return o +} + +func (o TelemetrylinkMapOutput) MapIndex(k pulumi.StringInput) TelemetrylinkOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *Telemetrylink { + return vs[0].(map[string]*Telemetrylink)[vs[1].(string)] + }).(TelemetrylinkOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TelemetrylinkInput)(nil)).Elem(), &Telemetrylink{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetrylinkArrayInput)(nil)).Elem(), TelemetrylinkArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetrylinkMapInput)(nil)).Elem(), TelemetrylinkMap{}) + pulumi.RegisterOutputType(TelemetrylinkOutput{}) + pulumi.RegisterOutputType(TelemetrylinkArrayOutput{}) + pulumi.RegisterOutputType(TelemetrylinkMapOutput{}) +} diff --git a/sdk/go/stackit/telemetryrouterAccessToken.go b/sdk/go/stackit/telemetryrouterAccessToken.go new file mode 100644 index 0000000..b478a41 --- /dev/null +++ b/sdk/go/stackit/telemetryrouterAccessToken.go @@ -0,0 +1,361 @@ +// 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" +) + +// TelemetryRouter access token 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 TelemetryrouterAccessToken struct { + pulumi.CustomResourceState + + // The generated access token + AccessToken pulumi.StringOutput `pulumi:"accessToken"` + // The access token ID + AccessTokenId pulumi.StringOutput `pulumi:"accessTokenId"` + // The user who created the access token + CreatorId pulumi.StringOutput `pulumi:"creatorId"` + // The description of the access token + Description pulumi.StringPtrOutput `pulumi:"description"` + // The displayed name of the access token + DisplayName pulumi.StringOutput `pulumi:"displayName"` + // The date and time an access token will expire at (inclusively) + ExpirationTime pulumi.StringOutput `pulumi:"expirationTime"` + // The TelemetryRouter instance ID associated with the access token + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // STACKIT project ID associated with the TelemetryRouter access token + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` + // The status of the access token. Possible values are: `active`, `expired`, `deleting`. + Status pulumi.StringOutput `pulumi:"status"` + // The time-to-live (TTL) in days for the access token. If not set, token will not expire + Ttl pulumi.IntPtrOutput `pulumi:"ttl"` +} + +// NewTelemetryrouterAccessToken registers a new resource with the given unique name, arguments, and options. +func NewTelemetryrouterAccessToken(ctx *pulumi.Context, + name string, args *TelemetryrouterAccessTokenArgs, opts ...pulumi.ResourceOption) (*TelemetryrouterAccessToken, 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.InstanceId == nil { + return nil, errors.New("invalid value for required argument 'InstanceId'") + } + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + secrets := pulumi.AdditionalSecretOutputs([]string{ + "accessToken", + }) + opts = append(opts, secrets) + opts = internal.PkgResourceDefaultOpts(opts) + var resource TelemetryrouterAccessToken + err := ctx.RegisterResource("stackit:index/telemetryrouterAccessToken:TelemetryrouterAccessToken", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetTelemetryrouterAccessToken gets an existing TelemetryrouterAccessToken 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 GetTelemetryrouterAccessToken(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *TelemetryrouterAccessTokenState, opts ...pulumi.ResourceOption) (*TelemetryrouterAccessToken, error) { + var resource TelemetryrouterAccessToken + err := ctx.ReadResource("stackit:index/telemetryrouterAccessToken:TelemetryrouterAccessToken", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering TelemetryrouterAccessToken resources. +type telemetryrouterAccessTokenState struct { + // The generated access token + AccessToken *string `pulumi:"accessToken"` + // The access token ID + AccessTokenId *string `pulumi:"accessTokenId"` + // The user who created the access token + CreatorId *string `pulumi:"creatorId"` + // The description of the access token + Description *string `pulumi:"description"` + // The displayed name of the access token + DisplayName *string `pulumi:"displayName"` + // The date and time an access token will expire at (inclusively) + ExpirationTime *string `pulumi:"expirationTime"` + // The TelemetryRouter instance ID associated with the access token + InstanceId *string `pulumi:"instanceId"` + // STACKIT project ID associated with the TelemetryRouter access token + ProjectId *string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // The status of the access token. Possible values are: `active`, `expired`, `deleting`. + Status *string `pulumi:"status"` + // The time-to-live (TTL) in days for the access token. If not set, token will not expire + Ttl *int `pulumi:"ttl"` +} + +type TelemetryrouterAccessTokenState struct { + // The generated access token + AccessToken pulumi.StringPtrInput + // The access token ID + AccessTokenId pulumi.StringPtrInput + // The user who created the access token + CreatorId pulumi.StringPtrInput + // The description of the access token + Description pulumi.StringPtrInput + // The displayed name of the access token + DisplayName pulumi.StringPtrInput + // The date and time an access token will expire at (inclusively) + ExpirationTime pulumi.StringPtrInput + // The TelemetryRouter instance ID associated with the access token + InstanceId pulumi.StringPtrInput + // STACKIT project ID associated with the TelemetryRouter access token + ProjectId pulumi.StringPtrInput + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // The status of the access token. Possible values are: `active`, `expired`, `deleting`. + Status pulumi.StringPtrInput + // The time-to-live (TTL) in days for the access token. If not set, token will not expire + Ttl pulumi.IntPtrInput +} + +func (TelemetryrouterAccessTokenState) ElementType() reflect.Type { + return reflect.TypeOf((*telemetryrouterAccessTokenState)(nil)).Elem() +} + +type telemetryrouterAccessTokenArgs struct { + // The description of the access token + Description *string `pulumi:"description"` + // The displayed name of the access token + DisplayName string `pulumi:"displayName"` + // The TelemetryRouter instance ID associated with the access token + InstanceId string `pulumi:"instanceId"` + // STACKIT project ID associated with the TelemetryRouter access token + ProjectId string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // The time-to-live (TTL) in days for the access token. If not set, token will not expire + Ttl *int `pulumi:"ttl"` +} + +// The set of arguments for constructing a TelemetryrouterAccessToken resource. +type TelemetryrouterAccessTokenArgs struct { + // The description of the access token + Description pulumi.StringPtrInput + // The displayed name of the access token + DisplayName pulumi.StringInput + // The TelemetryRouter instance ID associated with the access token + InstanceId pulumi.StringInput + // STACKIT project ID associated with the TelemetryRouter access token + ProjectId pulumi.StringInput + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // The time-to-live (TTL) in days for the access token. If not set, token will not expire + Ttl pulumi.IntPtrInput +} + +func (TelemetryrouterAccessTokenArgs) ElementType() reflect.Type { + return reflect.TypeOf((*telemetryrouterAccessTokenArgs)(nil)).Elem() +} + +type TelemetryrouterAccessTokenInput interface { + pulumi.Input + + ToTelemetryrouterAccessTokenOutput() TelemetryrouterAccessTokenOutput + ToTelemetryrouterAccessTokenOutputWithContext(ctx context.Context) TelemetryrouterAccessTokenOutput +} + +func (*TelemetryrouterAccessToken) ElementType() reflect.Type { + return reflect.TypeOf((**TelemetryrouterAccessToken)(nil)).Elem() +} + +func (i *TelemetryrouterAccessToken) ToTelemetryrouterAccessTokenOutput() TelemetryrouterAccessTokenOutput { + return i.ToTelemetryrouterAccessTokenOutputWithContext(context.Background()) +} + +func (i *TelemetryrouterAccessToken) ToTelemetryrouterAccessTokenOutputWithContext(ctx context.Context) TelemetryrouterAccessTokenOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterAccessTokenOutput) +} + +// TelemetryrouterAccessTokenArrayInput is an input type that accepts TelemetryrouterAccessTokenArray and TelemetryrouterAccessTokenArrayOutput values. +// You can construct a concrete instance of `TelemetryrouterAccessTokenArrayInput` via: +// +// TelemetryrouterAccessTokenArray{ TelemetryrouterAccessTokenArgs{...} } +type TelemetryrouterAccessTokenArrayInput interface { + pulumi.Input + + ToTelemetryrouterAccessTokenArrayOutput() TelemetryrouterAccessTokenArrayOutput + ToTelemetryrouterAccessTokenArrayOutputWithContext(context.Context) TelemetryrouterAccessTokenArrayOutput +} + +type TelemetryrouterAccessTokenArray []TelemetryrouterAccessTokenInput + +func (TelemetryrouterAccessTokenArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*TelemetryrouterAccessToken)(nil)).Elem() +} + +func (i TelemetryrouterAccessTokenArray) ToTelemetryrouterAccessTokenArrayOutput() TelemetryrouterAccessTokenArrayOutput { + return i.ToTelemetryrouterAccessTokenArrayOutputWithContext(context.Background()) +} + +func (i TelemetryrouterAccessTokenArray) ToTelemetryrouterAccessTokenArrayOutputWithContext(ctx context.Context) TelemetryrouterAccessTokenArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterAccessTokenArrayOutput) +} + +// TelemetryrouterAccessTokenMapInput is an input type that accepts TelemetryrouterAccessTokenMap and TelemetryrouterAccessTokenMapOutput values. +// You can construct a concrete instance of `TelemetryrouterAccessTokenMapInput` via: +// +// TelemetryrouterAccessTokenMap{ "key": TelemetryrouterAccessTokenArgs{...} } +type TelemetryrouterAccessTokenMapInput interface { + pulumi.Input + + ToTelemetryrouterAccessTokenMapOutput() TelemetryrouterAccessTokenMapOutput + ToTelemetryrouterAccessTokenMapOutputWithContext(context.Context) TelemetryrouterAccessTokenMapOutput +} + +type TelemetryrouterAccessTokenMap map[string]TelemetryrouterAccessTokenInput + +func (TelemetryrouterAccessTokenMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*TelemetryrouterAccessToken)(nil)).Elem() +} + +func (i TelemetryrouterAccessTokenMap) ToTelemetryrouterAccessTokenMapOutput() TelemetryrouterAccessTokenMapOutput { + return i.ToTelemetryrouterAccessTokenMapOutputWithContext(context.Background()) +} + +func (i TelemetryrouterAccessTokenMap) ToTelemetryrouterAccessTokenMapOutputWithContext(ctx context.Context) TelemetryrouterAccessTokenMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterAccessTokenMapOutput) +} + +type TelemetryrouterAccessTokenOutput struct{ *pulumi.OutputState } + +func (TelemetryrouterAccessTokenOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TelemetryrouterAccessToken)(nil)).Elem() +} + +func (o TelemetryrouterAccessTokenOutput) ToTelemetryrouterAccessTokenOutput() TelemetryrouterAccessTokenOutput { + return o +} + +func (o TelemetryrouterAccessTokenOutput) ToTelemetryrouterAccessTokenOutputWithContext(ctx context.Context) TelemetryrouterAccessTokenOutput { + return o +} + +// The generated access token +func (o TelemetryrouterAccessTokenOutput) AccessToken() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterAccessToken) pulumi.StringOutput { return v.AccessToken }).(pulumi.StringOutput) +} + +// The access token ID +func (o TelemetryrouterAccessTokenOutput) AccessTokenId() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterAccessToken) pulumi.StringOutput { return v.AccessTokenId }).(pulumi.StringOutput) +} + +// The user who created the access token +func (o TelemetryrouterAccessTokenOutput) CreatorId() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterAccessToken) pulumi.StringOutput { return v.CreatorId }).(pulumi.StringOutput) +} + +// The description of the access token +func (o TelemetryrouterAccessTokenOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TelemetryrouterAccessToken) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The displayed name of the access token +func (o TelemetryrouterAccessTokenOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterAccessToken) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// The date and time an access token will expire at (inclusively) +func (o TelemetryrouterAccessTokenOutput) ExpirationTime() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterAccessToken) pulumi.StringOutput { return v.ExpirationTime }).(pulumi.StringOutput) +} + +// The TelemetryRouter instance ID associated with the access token +func (o TelemetryrouterAccessTokenOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterAccessToken) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// STACKIT project ID associated with the TelemetryRouter access token +func (o TelemetryrouterAccessTokenOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterAccessToken) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o TelemetryrouterAccessTokenOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterAccessToken) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// The status of the access token. Possible values are: `active`, `expired`, `deleting`. +func (o TelemetryrouterAccessTokenOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterAccessToken) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The time-to-live (TTL) in days for the access token. If not set, token will not expire +func (o TelemetryrouterAccessTokenOutput) Ttl() pulumi.IntPtrOutput { + return o.ApplyT(func(v *TelemetryrouterAccessToken) pulumi.IntPtrOutput { return v.Ttl }).(pulumi.IntPtrOutput) +} + +type TelemetryrouterAccessTokenArrayOutput struct{ *pulumi.OutputState } + +func (TelemetryrouterAccessTokenArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*TelemetryrouterAccessToken)(nil)).Elem() +} + +func (o TelemetryrouterAccessTokenArrayOutput) ToTelemetryrouterAccessTokenArrayOutput() TelemetryrouterAccessTokenArrayOutput { + return o +} + +func (o TelemetryrouterAccessTokenArrayOutput) ToTelemetryrouterAccessTokenArrayOutputWithContext(ctx context.Context) TelemetryrouterAccessTokenArrayOutput { + return o +} + +func (o TelemetryrouterAccessTokenArrayOutput) Index(i pulumi.IntInput) TelemetryrouterAccessTokenOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *TelemetryrouterAccessToken { + return vs[0].([]*TelemetryrouterAccessToken)[vs[1].(int)] + }).(TelemetryrouterAccessTokenOutput) +} + +type TelemetryrouterAccessTokenMapOutput struct{ *pulumi.OutputState } + +func (TelemetryrouterAccessTokenMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*TelemetryrouterAccessToken)(nil)).Elem() +} + +func (o TelemetryrouterAccessTokenMapOutput) ToTelemetryrouterAccessTokenMapOutput() TelemetryrouterAccessTokenMapOutput { + return o +} + +func (o TelemetryrouterAccessTokenMapOutput) ToTelemetryrouterAccessTokenMapOutputWithContext(ctx context.Context) TelemetryrouterAccessTokenMapOutput { + return o +} + +func (o TelemetryrouterAccessTokenMapOutput) MapIndex(k pulumi.StringInput) TelemetryrouterAccessTokenOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *TelemetryrouterAccessToken { + return vs[0].(map[string]*TelemetryrouterAccessToken)[vs[1].(string)] + }).(TelemetryrouterAccessTokenOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterAccessTokenInput)(nil)).Elem(), &TelemetryrouterAccessToken{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterAccessTokenArrayInput)(nil)).Elem(), TelemetryrouterAccessTokenArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterAccessTokenMapInput)(nil)).Elem(), TelemetryrouterAccessTokenMap{}) + pulumi.RegisterOutputType(TelemetryrouterAccessTokenOutput{}) + pulumi.RegisterOutputType(TelemetryrouterAccessTokenArrayOutput{}) + pulumi.RegisterOutputType(TelemetryrouterAccessTokenMapOutput{}) +} diff --git a/sdk/go/stackit/telemetryrouterDestination.go b/sdk/go/stackit/telemetryrouterDestination.go new file mode 100644 index 0000000..af6083b --- /dev/null +++ b/sdk/go/stackit/telemetryrouterDestination.go @@ -0,0 +1,349 @@ +// 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" +) + +// TelemetryRouter destination 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 TelemetryrouterDestination struct { + pulumi.CustomResourceState + + // The configuration of the TelemetryRouter destination + Config TelemetryrouterDestinationConfigOutput `pulumi:"config"` + // The date and time the creation of the TelemetryRouter destination was initiated + CreationTime pulumi.StringOutput `pulumi:"creationTime"` + // The TelemetryRouter destination's credential type + CredentialType pulumi.StringOutput `pulumi:"credentialType"` + // The description of the TelemetryRouter destination + Description pulumi.StringPtrOutput `pulumi:"description"` + // The TelemetryRouter destination ID + DestinationId pulumi.StringOutput `pulumi:"destinationId"` + // The displayed name of the TelemetryRouter destination + DisplayName pulumi.StringOutput `pulumi:"displayName"` + // The TelemetryRouter instance ID + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // STACKIT project ID associated with the TelemetryRouter instance + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` + // The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. + Status pulumi.StringOutput `pulumi:"status"` +} + +// NewTelemetryrouterDestination registers a new resource with the given unique name, arguments, and options. +func NewTelemetryrouterDestination(ctx *pulumi.Context, + name string, args *TelemetryrouterDestinationArgs, opts ...pulumi.ResourceOption) (*TelemetryrouterDestination, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.Config == nil { + return nil, errors.New("invalid value for required argument 'Config'") + } + if args.DisplayName == nil { + return nil, errors.New("invalid value for required argument 'DisplayName'") + } + if args.InstanceId == nil { + return nil, errors.New("invalid value for required argument 'InstanceId'") + } + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource TelemetryrouterDestination + err := ctx.RegisterResource("stackit:index/telemetryrouterDestination:TelemetryrouterDestination", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetTelemetryrouterDestination gets an existing TelemetryrouterDestination 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 GetTelemetryrouterDestination(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *TelemetryrouterDestinationState, opts ...pulumi.ResourceOption) (*TelemetryrouterDestination, error) { + var resource TelemetryrouterDestination + err := ctx.ReadResource("stackit:index/telemetryrouterDestination:TelemetryrouterDestination", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering TelemetryrouterDestination resources. +type telemetryrouterDestinationState struct { + // The configuration of the TelemetryRouter destination + Config *TelemetryrouterDestinationConfig `pulumi:"config"` + // The date and time the creation of the TelemetryRouter destination was initiated + CreationTime *string `pulumi:"creationTime"` + // The TelemetryRouter destination's credential type + CredentialType *string `pulumi:"credentialType"` + // The description of the TelemetryRouter destination + Description *string `pulumi:"description"` + // The TelemetryRouter destination ID + DestinationId *string `pulumi:"destinationId"` + // The displayed name of the TelemetryRouter destination + DisplayName *string `pulumi:"displayName"` + // The TelemetryRouter instance ID + InstanceId *string `pulumi:"instanceId"` + // STACKIT project ID associated with the TelemetryRouter instance + ProjectId *string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. + Status *string `pulumi:"status"` +} + +type TelemetryrouterDestinationState struct { + // The configuration of the TelemetryRouter destination + Config TelemetryrouterDestinationConfigPtrInput + // The date and time the creation of the TelemetryRouter destination was initiated + CreationTime pulumi.StringPtrInput + // The TelemetryRouter destination's credential type + CredentialType pulumi.StringPtrInput + // The description of the TelemetryRouter destination + Description pulumi.StringPtrInput + // The TelemetryRouter destination ID + DestinationId pulumi.StringPtrInput + // The displayed name of the TelemetryRouter destination + DisplayName pulumi.StringPtrInput + // The TelemetryRouter instance ID + InstanceId pulumi.StringPtrInput + // STACKIT project ID associated with the TelemetryRouter instance + ProjectId pulumi.StringPtrInput + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. + Status pulumi.StringPtrInput +} + +func (TelemetryrouterDestinationState) ElementType() reflect.Type { + return reflect.TypeOf((*telemetryrouterDestinationState)(nil)).Elem() +} + +type telemetryrouterDestinationArgs struct { + // The configuration of the TelemetryRouter destination + Config TelemetryrouterDestinationConfig `pulumi:"config"` + // The description of the TelemetryRouter destination + Description *string `pulumi:"description"` + // The displayed name of the TelemetryRouter destination + DisplayName string `pulumi:"displayName"` + // The TelemetryRouter instance ID + InstanceId string `pulumi:"instanceId"` + // STACKIT project ID associated with the TelemetryRouter instance + ProjectId string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +// The set of arguments for constructing a TelemetryrouterDestination resource. +type TelemetryrouterDestinationArgs struct { + // The configuration of the TelemetryRouter destination + Config TelemetryrouterDestinationConfigInput + // The description of the TelemetryRouter destination + Description pulumi.StringPtrInput + // The displayed name of the TelemetryRouter destination + DisplayName pulumi.StringInput + // The TelemetryRouter instance ID + InstanceId pulumi.StringInput + // STACKIT project ID associated with the TelemetryRouter instance + ProjectId pulumi.StringInput + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput +} + +func (TelemetryrouterDestinationArgs) ElementType() reflect.Type { + return reflect.TypeOf((*telemetryrouterDestinationArgs)(nil)).Elem() +} + +type TelemetryrouterDestinationInput interface { + pulumi.Input + + ToTelemetryrouterDestinationOutput() TelemetryrouterDestinationOutput + ToTelemetryrouterDestinationOutputWithContext(ctx context.Context) TelemetryrouterDestinationOutput +} + +func (*TelemetryrouterDestination) ElementType() reflect.Type { + return reflect.TypeOf((**TelemetryrouterDestination)(nil)).Elem() +} + +func (i *TelemetryrouterDestination) ToTelemetryrouterDestinationOutput() TelemetryrouterDestinationOutput { + return i.ToTelemetryrouterDestinationOutputWithContext(context.Background()) +} + +func (i *TelemetryrouterDestination) ToTelemetryrouterDestinationOutputWithContext(ctx context.Context) TelemetryrouterDestinationOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationOutput) +} + +// TelemetryrouterDestinationArrayInput is an input type that accepts TelemetryrouterDestinationArray and TelemetryrouterDestinationArrayOutput values. +// You can construct a concrete instance of `TelemetryrouterDestinationArrayInput` via: +// +// TelemetryrouterDestinationArray{ TelemetryrouterDestinationArgs{...} } +type TelemetryrouterDestinationArrayInput interface { + pulumi.Input + + ToTelemetryrouterDestinationArrayOutput() TelemetryrouterDestinationArrayOutput + ToTelemetryrouterDestinationArrayOutputWithContext(context.Context) TelemetryrouterDestinationArrayOutput +} + +type TelemetryrouterDestinationArray []TelemetryrouterDestinationInput + +func (TelemetryrouterDestinationArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*TelemetryrouterDestination)(nil)).Elem() +} + +func (i TelemetryrouterDestinationArray) ToTelemetryrouterDestinationArrayOutput() TelemetryrouterDestinationArrayOutput { + return i.ToTelemetryrouterDestinationArrayOutputWithContext(context.Background()) +} + +func (i TelemetryrouterDestinationArray) ToTelemetryrouterDestinationArrayOutputWithContext(ctx context.Context) TelemetryrouterDestinationArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationArrayOutput) +} + +// TelemetryrouterDestinationMapInput is an input type that accepts TelemetryrouterDestinationMap and TelemetryrouterDestinationMapOutput values. +// You can construct a concrete instance of `TelemetryrouterDestinationMapInput` via: +// +// TelemetryrouterDestinationMap{ "key": TelemetryrouterDestinationArgs{...} } +type TelemetryrouterDestinationMapInput interface { + pulumi.Input + + ToTelemetryrouterDestinationMapOutput() TelemetryrouterDestinationMapOutput + ToTelemetryrouterDestinationMapOutputWithContext(context.Context) TelemetryrouterDestinationMapOutput +} + +type TelemetryrouterDestinationMap map[string]TelemetryrouterDestinationInput + +func (TelemetryrouterDestinationMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*TelemetryrouterDestination)(nil)).Elem() +} + +func (i TelemetryrouterDestinationMap) ToTelemetryrouterDestinationMapOutput() TelemetryrouterDestinationMapOutput { + return i.ToTelemetryrouterDestinationMapOutputWithContext(context.Background()) +} + +func (i TelemetryrouterDestinationMap) ToTelemetryrouterDestinationMapOutputWithContext(ctx context.Context) TelemetryrouterDestinationMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterDestinationMapOutput) +} + +type TelemetryrouterDestinationOutput struct{ *pulumi.OutputState } + +func (TelemetryrouterDestinationOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TelemetryrouterDestination)(nil)).Elem() +} + +func (o TelemetryrouterDestinationOutput) ToTelemetryrouterDestinationOutput() TelemetryrouterDestinationOutput { + return o +} + +func (o TelemetryrouterDestinationOutput) ToTelemetryrouterDestinationOutputWithContext(ctx context.Context) TelemetryrouterDestinationOutput { + return o +} + +// The configuration of the TelemetryRouter destination +func (o TelemetryrouterDestinationOutput) Config() TelemetryrouterDestinationConfigOutput { + return o.ApplyT(func(v *TelemetryrouterDestination) TelemetryrouterDestinationConfigOutput { return v.Config }).(TelemetryrouterDestinationConfigOutput) +} + +// The date and time the creation of the TelemetryRouter destination was initiated +func (o TelemetryrouterDestinationOutput) CreationTime() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterDestination) pulumi.StringOutput { return v.CreationTime }).(pulumi.StringOutput) +} + +// The TelemetryRouter destination's credential type +func (o TelemetryrouterDestinationOutput) CredentialType() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterDestination) pulumi.StringOutput { return v.CredentialType }).(pulumi.StringOutput) +} + +// The description of the TelemetryRouter destination +func (o TelemetryrouterDestinationOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TelemetryrouterDestination) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The TelemetryRouter destination ID +func (o TelemetryrouterDestinationOutput) DestinationId() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterDestination) pulumi.StringOutput { return v.DestinationId }).(pulumi.StringOutput) +} + +// The displayed name of the TelemetryRouter destination +func (o TelemetryrouterDestinationOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterDestination) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// The TelemetryRouter instance ID +func (o TelemetryrouterDestinationOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterDestination) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// STACKIT project ID associated with the TelemetryRouter instance +func (o TelemetryrouterDestinationOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterDestination) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o TelemetryrouterDestinationOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterDestination) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. +func (o TelemetryrouterDestinationOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterDestination) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +type TelemetryrouterDestinationArrayOutput struct{ *pulumi.OutputState } + +func (TelemetryrouterDestinationArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*TelemetryrouterDestination)(nil)).Elem() +} + +func (o TelemetryrouterDestinationArrayOutput) ToTelemetryrouterDestinationArrayOutput() TelemetryrouterDestinationArrayOutput { + return o +} + +func (o TelemetryrouterDestinationArrayOutput) ToTelemetryrouterDestinationArrayOutputWithContext(ctx context.Context) TelemetryrouterDestinationArrayOutput { + return o +} + +func (o TelemetryrouterDestinationArrayOutput) Index(i pulumi.IntInput) TelemetryrouterDestinationOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *TelemetryrouterDestination { + return vs[0].([]*TelemetryrouterDestination)[vs[1].(int)] + }).(TelemetryrouterDestinationOutput) +} + +type TelemetryrouterDestinationMapOutput struct{ *pulumi.OutputState } + +func (TelemetryrouterDestinationMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*TelemetryrouterDestination)(nil)).Elem() +} + +func (o TelemetryrouterDestinationMapOutput) ToTelemetryrouterDestinationMapOutput() TelemetryrouterDestinationMapOutput { + return o +} + +func (o TelemetryrouterDestinationMapOutput) ToTelemetryrouterDestinationMapOutputWithContext(ctx context.Context) TelemetryrouterDestinationMapOutput { + return o +} + +func (o TelemetryrouterDestinationMapOutput) MapIndex(k pulumi.StringInput) TelemetryrouterDestinationOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *TelemetryrouterDestination { + return vs[0].(map[string]*TelemetryrouterDestination)[vs[1].(string)] + }).(TelemetryrouterDestinationOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterDestinationInput)(nil)).Elem(), &TelemetryrouterDestination{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterDestinationArrayInput)(nil)).Elem(), TelemetryrouterDestinationArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterDestinationMapInput)(nil)).Elem(), TelemetryrouterDestinationMap{}) + pulumi.RegisterOutputType(TelemetryrouterDestinationOutput{}) + pulumi.RegisterOutputType(TelemetryrouterDestinationArrayOutput{}) + pulumi.RegisterOutputType(TelemetryrouterDestinationMapOutput{}) +} diff --git a/sdk/go/stackit/telemetryrouterInstance.go b/sdk/go/stackit/telemetryrouterInstance.go new file mode 100644 index 0000000..2677b1a --- /dev/null +++ b/sdk/go/stackit/telemetryrouterInstance.go @@ -0,0 +1,328 @@ +// 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" +) + +// TelemetryRouter instance 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 TelemetryrouterInstance struct { + pulumi.CustomResourceState + + // The date and time the creation of the TelemetryRouter instance was initiated + CreationTime pulumi.StringOutput `pulumi:"creationTime"` + // The description of the TelemetryRouter instance + Description pulumi.StringPtrOutput `pulumi:"description"` + // The display name of the TelemetryRouter instance + DisplayName pulumi.StringOutput `pulumi:"displayName"` + // The TelemetryRouter global filter settings + Filter TelemetryrouterInstanceFilterPtrOutput `pulumi:"filter"` + // The TelemetryRouter instance ID + InstanceId pulumi.StringOutput `pulumi:"instanceId"` + // STACKIT project ID associated with the TelemetryRouter instance + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` + // The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. + Status pulumi.StringOutput `pulumi:"status"` + // The TelemetryRouter instance's URI + Uri pulumi.StringOutput `pulumi:"uri"` +} + +// NewTelemetryrouterInstance registers a new resource with the given unique name, arguments, and options. +func NewTelemetryrouterInstance(ctx *pulumi.Context, + name string, args *TelemetryrouterInstanceArgs, opts ...pulumi.ResourceOption) (*TelemetryrouterInstance, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.DisplayName == nil { + return nil, errors.New("invalid value for required argument 'DisplayName'") + } + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource TelemetryrouterInstance + err := ctx.RegisterResource("stackit:index/telemetryrouterInstance:TelemetryrouterInstance", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetTelemetryrouterInstance gets an existing TelemetryrouterInstance 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 GetTelemetryrouterInstance(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *TelemetryrouterInstanceState, opts ...pulumi.ResourceOption) (*TelemetryrouterInstance, error) { + var resource TelemetryrouterInstance + err := ctx.ReadResource("stackit:index/telemetryrouterInstance:TelemetryrouterInstance", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering TelemetryrouterInstance resources. +type telemetryrouterInstanceState struct { + // The date and time the creation of the TelemetryRouter instance was initiated + CreationTime *string `pulumi:"creationTime"` + // The description of the TelemetryRouter instance + Description *string `pulumi:"description"` + // The display name of the TelemetryRouter instance + DisplayName *string `pulumi:"displayName"` + // The TelemetryRouter global filter settings + Filter *TelemetryrouterInstanceFilter `pulumi:"filter"` + // The TelemetryRouter instance ID + InstanceId *string `pulumi:"instanceId"` + // STACKIT project ID associated with the TelemetryRouter instance + ProjectId *string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` + // The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. + Status *string `pulumi:"status"` + // The TelemetryRouter instance's URI + Uri *string `pulumi:"uri"` +} + +type TelemetryrouterInstanceState struct { + // The date and time the creation of the TelemetryRouter instance was initiated + CreationTime pulumi.StringPtrInput + // The description of the TelemetryRouter instance + Description pulumi.StringPtrInput + // The display name of the TelemetryRouter instance + DisplayName pulumi.StringPtrInput + // The TelemetryRouter global filter settings + Filter TelemetryrouterInstanceFilterPtrInput + // The TelemetryRouter instance ID + InstanceId pulumi.StringPtrInput + // STACKIT project ID associated with the TelemetryRouter instance + ProjectId pulumi.StringPtrInput + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. + Status pulumi.StringPtrInput + // The TelemetryRouter instance's URI + Uri pulumi.StringPtrInput +} + +func (TelemetryrouterInstanceState) ElementType() reflect.Type { + return reflect.TypeOf((*telemetryrouterInstanceState)(nil)).Elem() +} + +type telemetryrouterInstanceArgs struct { + // The description of the TelemetryRouter instance + Description *string `pulumi:"description"` + // The display name of the TelemetryRouter instance + DisplayName string `pulumi:"displayName"` + // The TelemetryRouter global filter settings + Filter *TelemetryrouterInstanceFilter `pulumi:"filter"` + // STACKIT project ID associated with the TelemetryRouter instance + ProjectId string `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region *string `pulumi:"region"` +} + +// The set of arguments for constructing a TelemetryrouterInstance resource. +type TelemetryrouterInstanceArgs struct { + // The description of the TelemetryRouter instance + Description pulumi.StringPtrInput + // The display name of the TelemetryRouter instance + DisplayName pulumi.StringInput + // The TelemetryRouter global filter settings + Filter TelemetryrouterInstanceFilterPtrInput + // STACKIT project ID associated with the TelemetryRouter instance + ProjectId pulumi.StringInput + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput +} + +func (TelemetryrouterInstanceArgs) ElementType() reflect.Type { + return reflect.TypeOf((*telemetryrouterInstanceArgs)(nil)).Elem() +} + +type TelemetryrouterInstanceInput interface { + pulumi.Input + + ToTelemetryrouterInstanceOutput() TelemetryrouterInstanceOutput + ToTelemetryrouterInstanceOutputWithContext(ctx context.Context) TelemetryrouterInstanceOutput +} + +func (*TelemetryrouterInstance) ElementType() reflect.Type { + return reflect.TypeOf((**TelemetryrouterInstance)(nil)).Elem() +} + +func (i *TelemetryrouterInstance) ToTelemetryrouterInstanceOutput() TelemetryrouterInstanceOutput { + return i.ToTelemetryrouterInstanceOutputWithContext(context.Background()) +} + +func (i *TelemetryrouterInstance) ToTelemetryrouterInstanceOutputWithContext(ctx context.Context) TelemetryrouterInstanceOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterInstanceOutput) +} + +// TelemetryrouterInstanceArrayInput is an input type that accepts TelemetryrouterInstanceArray and TelemetryrouterInstanceArrayOutput values. +// You can construct a concrete instance of `TelemetryrouterInstanceArrayInput` via: +// +// TelemetryrouterInstanceArray{ TelemetryrouterInstanceArgs{...} } +type TelemetryrouterInstanceArrayInput interface { + pulumi.Input + + ToTelemetryrouterInstanceArrayOutput() TelemetryrouterInstanceArrayOutput + ToTelemetryrouterInstanceArrayOutputWithContext(context.Context) TelemetryrouterInstanceArrayOutput +} + +type TelemetryrouterInstanceArray []TelemetryrouterInstanceInput + +func (TelemetryrouterInstanceArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*TelemetryrouterInstance)(nil)).Elem() +} + +func (i TelemetryrouterInstanceArray) ToTelemetryrouterInstanceArrayOutput() TelemetryrouterInstanceArrayOutput { + return i.ToTelemetryrouterInstanceArrayOutputWithContext(context.Background()) +} + +func (i TelemetryrouterInstanceArray) ToTelemetryrouterInstanceArrayOutputWithContext(ctx context.Context) TelemetryrouterInstanceArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterInstanceArrayOutput) +} + +// TelemetryrouterInstanceMapInput is an input type that accepts TelemetryrouterInstanceMap and TelemetryrouterInstanceMapOutput values. +// You can construct a concrete instance of `TelemetryrouterInstanceMapInput` via: +// +// TelemetryrouterInstanceMap{ "key": TelemetryrouterInstanceArgs{...} } +type TelemetryrouterInstanceMapInput interface { + pulumi.Input + + ToTelemetryrouterInstanceMapOutput() TelemetryrouterInstanceMapOutput + ToTelemetryrouterInstanceMapOutputWithContext(context.Context) TelemetryrouterInstanceMapOutput +} + +type TelemetryrouterInstanceMap map[string]TelemetryrouterInstanceInput + +func (TelemetryrouterInstanceMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*TelemetryrouterInstance)(nil)).Elem() +} + +func (i TelemetryrouterInstanceMap) ToTelemetryrouterInstanceMapOutput() TelemetryrouterInstanceMapOutput { + return i.ToTelemetryrouterInstanceMapOutputWithContext(context.Background()) +} + +func (i TelemetryrouterInstanceMap) ToTelemetryrouterInstanceMapOutputWithContext(ctx context.Context) TelemetryrouterInstanceMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(TelemetryrouterInstanceMapOutput) +} + +type TelemetryrouterInstanceOutput struct{ *pulumi.OutputState } + +func (TelemetryrouterInstanceOutput) ElementType() reflect.Type { + return reflect.TypeOf((**TelemetryrouterInstance)(nil)).Elem() +} + +func (o TelemetryrouterInstanceOutput) ToTelemetryrouterInstanceOutput() TelemetryrouterInstanceOutput { + return o +} + +func (o TelemetryrouterInstanceOutput) ToTelemetryrouterInstanceOutputWithContext(ctx context.Context) TelemetryrouterInstanceOutput { + return o +} + +// The date and time the creation of the TelemetryRouter instance was initiated +func (o TelemetryrouterInstanceOutput) CreationTime() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterInstance) pulumi.StringOutput { return v.CreationTime }).(pulumi.StringOutput) +} + +// The description of the TelemetryRouter instance +func (o TelemetryrouterInstanceOutput) Description() pulumi.StringPtrOutput { + return o.ApplyT(func(v *TelemetryrouterInstance) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput) +} + +// The display name of the TelemetryRouter instance +func (o TelemetryrouterInstanceOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterInstance) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// The TelemetryRouter global filter settings +func (o TelemetryrouterInstanceOutput) Filter() TelemetryrouterInstanceFilterPtrOutput { + return o.ApplyT(func(v *TelemetryrouterInstance) TelemetryrouterInstanceFilterPtrOutput { return v.Filter }).(TelemetryrouterInstanceFilterPtrOutput) +} + +// The TelemetryRouter instance ID +func (o TelemetryrouterInstanceOutput) InstanceId() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterInstance) pulumi.StringOutput { return v.InstanceId }).(pulumi.StringOutput) +} + +// STACKIT project ID associated with the TelemetryRouter instance +func (o TelemetryrouterInstanceOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterInstance) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o TelemetryrouterInstanceOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterInstance) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. +func (o TelemetryrouterInstanceOutput) Status() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterInstance) pulumi.StringOutput { return v.Status }).(pulumi.StringOutput) +} + +// The TelemetryRouter instance's URI +func (o TelemetryrouterInstanceOutput) Uri() pulumi.StringOutput { + return o.ApplyT(func(v *TelemetryrouterInstance) pulumi.StringOutput { return v.Uri }).(pulumi.StringOutput) +} + +type TelemetryrouterInstanceArrayOutput struct{ *pulumi.OutputState } + +func (TelemetryrouterInstanceArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*TelemetryrouterInstance)(nil)).Elem() +} + +func (o TelemetryrouterInstanceArrayOutput) ToTelemetryrouterInstanceArrayOutput() TelemetryrouterInstanceArrayOutput { + return o +} + +func (o TelemetryrouterInstanceArrayOutput) ToTelemetryrouterInstanceArrayOutputWithContext(ctx context.Context) TelemetryrouterInstanceArrayOutput { + return o +} + +func (o TelemetryrouterInstanceArrayOutput) Index(i pulumi.IntInput) TelemetryrouterInstanceOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *TelemetryrouterInstance { + return vs[0].([]*TelemetryrouterInstance)[vs[1].(int)] + }).(TelemetryrouterInstanceOutput) +} + +type TelemetryrouterInstanceMapOutput struct{ *pulumi.OutputState } + +func (TelemetryrouterInstanceMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*TelemetryrouterInstance)(nil)).Elem() +} + +func (o TelemetryrouterInstanceMapOutput) ToTelemetryrouterInstanceMapOutput() TelemetryrouterInstanceMapOutput { + return o +} + +func (o TelemetryrouterInstanceMapOutput) ToTelemetryrouterInstanceMapOutputWithContext(ctx context.Context) TelemetryrouterInstanceMapOutput { + return o +} + +func (o TelemetryrouterInstanceMapOutput) MapIndex(k pulumi.StringInput) TelemetryrouterInstanceOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *TelemetryrouterInstance { + return vs[0].(map[string]*TelemetryrouterInstance)[vs[1].(string)] + }).(TelemetryrouterInstanceOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterInstanceInput)(nil)).Elem(), &TelemetryrouterInstance{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterInstanceArrayInput)(nil)).Elem(), TelemetryrouterInstanceArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*TelemetryrouterInstanceMapInput)(nil)).Elem(), TelemetryrouterInstanceMap{}) + pulumi.RegisterOutputType(TelemetryrouterInstanceOutput{}) + pulumi.RegisterOutputType(TelemetryrouterInstanceArrayOutput{}) + pulumi.RegisterOutputType(TelemetryrouterInstanceMapOutput{}) +} diff --git a/sdk/go/stackit/vpnGateway.go b/sdk/go/stackit/vpnGateway.go new file mode 100644 index 0000000..0a49729 --- /dev/null +++ b/sdk/go/stackit/vpnGateway.go @@ -0,0 +1,349 @@ +// 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 Gateway 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 VpnGateway struct { + pulumi.CustomResourceState + + // Availability zones for the two tunnel endpoints. + AvailabilityZones VpnGatewayAvailabilityZonesOutput `pulumi:"availabilityZones"` + // BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + Bgp VpnGatewayBgpPtrOutput `pulumi:"bgp"` + // A user-friendly name for the VPN gateway. + DisplayName pulumi.StringOutput `pulumi:"displayName"` + // The server-generated UUID of the VPN gateway. + GatewayId pulumi.StringOutput `pulumi:"gatewayId"` + // Map of custom labels (key-value string pairs). + Labels pulumi.StringMapOutput `pulumi:"labels"` + // The service plan identifier (e.g. `p500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + PlanId pulumi.StringOutput `pulumi:"planId"` + // STACKIT project ID associated with the VPN gateway. + ProjectId pulumi.StringOutput `pulumi:"projectId"` + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringOutput `pulumi:"region"` + // Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + RoutingType pulumi.StringOutput `pulumi:"routingType"` +} + +// NewVpnGateway registers a new resource with the given unique name, arguments, and options. +func NewVpnGateway(ctx *pulumi.Context, + name string, args *VpnGatewayArgs, opts ...pulumi.ResourceOption) (*VpnGateway, error) { + if args == nil { + return nil, errors.New("missing one or more required arguments") + } + + if args.AvailabilityZones == nil { + return nil, errors.New("invalid value for required argument 'AvailabilityZones'") + } + if args.DisplayName == nil { + return nil, errors.New("invalid value for required argument 'DisplayName'") + } + if args.PlanId == nil { + return nil, errors.New("invalid value for required argument 'PlanId'") + } + if args.ProjectId == nil { + return nil, errors.New("invalid value for required argument 'ProjectId'") + } + if args.RoutingType == nil { + return nil, errors.New("invalid value for required argument 'RoutingType'") + } + opts = internal.PkgResourceDefaultOpts(opts) + var resource VpnGateway + err := ctx.RegisterResource("stackit:index/vpnGateway:VpnGateway", name, args, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// GetVpnGateway gets an existing VpnGateway 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 GetVpnGateway(ctx *pulumi.Context, + name string, id pulumi.IDInput, state *VpnGatewayState, opts ...pulumi.ResourceOption) (*VpnGateway, error) { + var resource VpnGateway + err := ctx.ReadResource("stackit:index/vpnGateway:VpnGateway", name, id, state, &resource, opts...) + if err != nil { + return nil, err + } + return &resource, nil +} + +// Input properties used for looking up and filtering VpnGateway resources. +type vpnGatewayState struct { + // Availability zones for the two tunnel endpoints. + AvailabilityZones *VpnGatewayAvailabilityZones `pulumi:"availabilityZones"` + // BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + Bgp *VpnGatewayBgp `pulumi:"bgp"` + // A user-friendly name for the VPN gateway. + DisplayName *string `pulumi:"displayName"` + // The server-generated UUID of the VPN gateway. + GatewayId *string `pulumi:"gatewayId"` + // Map of custom labels (key-value string pairs). + Labels map[string]string `pulumi:"labels"` + // The service plan identifier (e.g. `p500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + PlanId *string `pulumi:"planId"` + // 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"` + // Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + RoutingType *string `pulumi:"routingType"` +} + +type VpnGatewayState struct { + // Availability zones for the two tunnel endpoints. + AvailabilityZones VpnGatewayAvailabilityZonesPtrInput + // BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + Bgp VpnGatewayBgpPtrInput + // A user-friendly name for the VPN gateway. + DisplayName pulumi.StringPtrInput + // The server-generated UUID of the VPN gateway. + GatewayId pulumi.StringPtrInput + // Map of custom labels (key-value string pairs). + Labels pulumi.StringMapInput + // The service plan identifier (e.g. `p500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + PlanId pulumi.StringPtrInput + // STACKIT project ID associated with the VPN gateway. + ProjectId pulumi.StringPtrInput + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + RoutingType pulumi.StringPtrInput +} + +func (VpnGatewayState) ElementType() reflect.Type { + return reflect.TypeOf((*vpnGatewayState)(nil)).Elem() +} + +type vpnGatewayArgs struct { + // Availability zones for the two tunnel endpoints. + AvailabilityZones VpnGatewayAvailabilityZones `pulumi:"availabilityZones"` + // BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + Bgp *VpnGatewayBgp `pulumi:"bgp"` + // A user-friendly name for the VPN gateway. + DisplayName string `pulumi:"displayName"` + // Map of custom labels (key-value string pairs). + Labels map[string]string `pulumi:"labels"` + // The service plan identifier (e.g. `p500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + PlanId string `pulumi:"planId"` + // 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"` + // Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + RoutingType string `pulumi:"routingType"` +} + +// The set of arguments for constructing a VpnGateway resource. +type VpnGatewayArgs struct { + // Availability zones for the two tunnel endpoints. + AvailabilityZones VpnGatewayAvailabilityZonesInput + // BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + Bgp VpnGatewayBgpPtrInput + // A user-friendly name for the VPN gateway. + DisplayName pulumi.StringInput + // Map of custom labels (key-value string pairs). + Labels pulumi.StringMapInput + // The service plan identifier (e.g. `p500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + PlanId pulumi.StringInput + // STACKIT project ID associated with the VPN gateway. + ProjectId pulumi.StringInput + // STACKIT region name the resource is located in. If not defined, the provider region is used. + Region pulumi.StringPtrInput + // Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + RoutingType pulumi.StringInput +} + +func (VpnGatewayArgs) ElementType() reflect.Type { + return reflect.TypeOf((*vpnGatewayArgs)(nil)).Elem() +} + +type VpnGatewayInput interface { + pulumi.Input + + ToVpnGatewayOutput() VpnGatewayOutput + ToVpnGatewayOutputWithContext(ctx context.Context) VpnGatewayOutput +} + +func (*VpnGateway) ElementType() reflect.Type { + return reflect.TypeOf((**VpnGateway)(nil)).Elem() +} + +func (i *VpnGateway) ToVpnGatewayOutput() VpnGatewayOutput { + return i.ToVpnGatewayOutputWithContext(context.Background()) +} + +func (i *VpnGateway) ToVpnGatewayOutputWithContext(ctx context.Context) VpnGatewayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayOutput) +} + +// VpnGatewayArrayInput is an input type that accepts VpnGatewayArray and VpnGatewayArrayOutput values. +// You can construct a concrete instance of `VpnGatewayArrayInput` via: +// +// VpnGatewayArray{ VpnGatewayArgs{...} } +type VpnGatewayArrayInput interface { + pulumi.Input + + ToVpnGatewayArrayOutput() VpnGatewayArrayOutput + ToVpnGatewayArrayOutputWithContext(context.Context) VpnGatewayArrayOutput +} + +type VpnGatewayArray []VpnGatewayInput + +func (VpnGatewayArray) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpnGateway)(nil)).Elem() +} + +func (i VpnGatewayArray) ToVpnGatewayArrayOutput() VpnGatewayArrayOutput { + return i.ToVpnGatewayArrayOutputWithContext(context.Background()) +} + +func (i VpnGatewayArray) ToVpnGatewayArrayOutputWithContext(ctx context.Context) VpnGatewayArrayOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayArrayOutput) +} + +// VpnGatewayMapInput is an input type that accepts VpnGatewayMap and VpnGatewayMapOutput values. +// You can construct a concrete instance of `VpnGatewayMapInput` via: +// +// VpnGatewayMap{ "key": VpnGatewayArgs{...} } +type VpnGatewayMapInput interface { + pulumi.Input + + ToVpnGatewayMapOutput() VpnGatewayMapOutput + ToVpnGatewayMapOutputWithContext(context.Context) VpnGatewayMapOutput +} + +type VpnGatewayMap map[string]VpnGatewayInput + +func (VpnGatewayMap) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpnGateway)(nil)).Elem() +} + +func (i VpnGatewayMap) ToVpnGatewayMapOutput() VpnGatewayMapOutput { + return i.ToVpnGatewayMapOutputWithContext(context.Background()) +} + +func (i VpnGatewayMap) ToVpnGatewayMapOutputWithContext(ctx context.Context) VpnGatewayMapOutput { + return pulumi.ToOutputWithContext(ctx, i).(VpnGatewayMapOutput) +} + +type VpnGatewayOutput struct{ *pulumi.OutputState } + +func (VpnGatewayOutput) ElementType() reflect.Type { + return reflect.TypeOf((**VpnGateway)(nil)).Elem() +} + +func (o VpnGatewayOutput) ToVpnGatewayOutput() VpnGatewayOutput { + return o +} + +func (o VpnGatewayOutput) ToVpnGatewayOutputWithContext(ctx context.Context) VpnGatewayOutput { + return o +} + +// Availability zones for the two tunnel endpoints. +func (o VpnGatewayOutput) AvailabilityZones() VpnGatewayAvailabilityZonesOutput { + return o.ApplyT(func(v *VpnGateway) VpnGatewayAvailabilityZonesOutput { return v.AvailabilityZones }).(VpnGatewayAvailabilityZonesOutput) +} + +// BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. +func (o VpnGatewayOutput) Bgp() VpnGatewayBgpPtrOutput { + return o.ApplyT(func(v *VpnGateway) VpnGatewayBgpPtrOutput { return v.Bgp }).(VpnGatewayBgpPtrOutput) +} + +// A user-friendly name for the VPN gateway. +func (o VpnGatewayOutput) DisplayName() pulumi.StringOutput { + return o.ApplyT(func(v *VpnGateway) pulumi.StringOutput { return v.DisplayName }).(pulumi.StringOutput) +} + +// The server-generated UUID of the VPN gateway. +func (o VpnGatewayOutput) GatewayId() pulumi.StringOutput { + return o.ApplyT(func(v *VpnGateway) pulumi.StringOutput { return v.GatewayId }).(pulumi.StringOutput) +} + +// Map of custom labels (key-value string pairs). +func (o VpnGatewayOutput) Labels() pulumi.StringMapOutput { + return o.ApplyT(func(v *VpnGateway) pulumi.StringMapOutput { return v.Labels }).(pulumi.StringMapOutput) +} + +// The service plan identifier (e.g. `p500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). +func (o VpnGatewayOutput) PlanId() pulumi.StringOutput { + return o.ApplyT(func(v *VpnGateway) pulumi.StringOutput { return v.PlanId }).(pulumi.StringOutput) +} + +// STACKIT project ID associated with the VPN gateway. +func (o VpnGatewayOutput) ProjectId() pulumi.StringOutput { + return o.ApplyT(func(v *VpnGateway) pulumi.StringOutput { return v.ProjectId }).(pulumi.StringOutput) +} + +// STACKIT region name the resource is located in. If not defined, the provider region is used. +func (o VpnGatewayOutput) Region() pulumi.StringOutput { + return o.ApplyT(func(v *VpnGateway) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput) +} + +// Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. +func (o VpnGatewayOutput) RoutingType() pulumi.StringOutput { + return o.ApplyT(func(v *VpnGateway) pulumi.StringOutput { return v.RoutingType }).(pulumi.StringOutput) +} + +type VpnGatewayArrayOutput struct{ *pulumi.OutputState } + +func (VpnGatewayArrayOutput) ElementType() reflect.Type { + return reflect.TypeOf((*[]*VpnGateway)(nil)).Elem() +} + +func (o VpnGatewayArrayOutput) ToVpnGatewayArrayOutput() VpnGatewayArrayOutput { + return o +} + +func (o VpnGatewayArrayOutput) ToVpnGatewayArrayOutputWithContext(ctx context.Context) VpnGatewayArrayOutput { + return o +} + +func (o VpnGatewayArrayOutput) Index(i pulumi.IntInput) VpnGatewayOutput { + return pulumi.All(o, i).ApplyT(func(vs []interface{}) *VpnGateway { + return vs[0].([]*VpnGateway)[vs[1].(int)] + }).(VpnGatewayOutput) +} + +type VpnGatewayMapOutput struct{ *pulumi.OutputState } + +func (VpnGatewayMapOutput) ElementType() reflect.Type { + return reflect.TypeOf((*map[string]*VpnGateway)(nil)).Elem() +} + +func (o VpnGatewayMapOutput) ToVpnGatewayMapOutput() VpnGatewayMapOutput { + return o +} + +func (o VpnGatewayMapOutput) ToVpnGatewayMapOutputWithContext(ctx context.Context) VpnGatewayMapOutput { + return o +} + +func (o VpnGatewayMapOutput) MapIndex(k pulumi.StringInput) VpnGatewayOutput { + return pulumi.All(o, k).ApplyT(func(vs []interface{}) *VpnGateway { + return vs[0].(map[string]*VpnGateway)[vs[1].(string)] + }).(VpnGatewayOutput) +} + +func init() { + pulumi.RegisterInputType(reflect.TypeOf((*VpnGatewayInput)(nil)).Elem(), &VpnGateway{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnGatewayArrayInput)(nil)).Elem(), VpnGatewayArray{}) + pulumi.RegisterInputType(reflect.TypeOf((*VpnGatewayMapInput)(nil)).Elem(), VpnGatewayMap{}) + pulumi.RegisterOutputType(VpnGatewayOutput{}) + pulumi.RegisterOutputType(VpnGatewayArrayOutput{}) + pulumi.RegisterOutputType(VpnGatewayMapOutput{}) +} diff --git a/sdk/nodejs/config/vars.ts b/sdk/nodejs/config/vars.ts index 845faa4..f83f697 100644 --- a/sdk/nodejs/config/vars.ts +++ b/sdk/nodejs/config/vars.ts @@ -84,6 +84,17 @@ Object.defineProperty(exports, "dnsCustomEndpoint", { enumerable: true, }); +/** + * Custom endpoint for the Dremio service + */ +export declare const dremioCustomEndpoint: string | undefined; +Object.defineProperty(exports, "dremioCustomEndpoint", { + get() { + return __config.get("dremioCustomEndpoint"); + }, + enumerable: true, +}); + /** * Custom endpoint for the Edge Cloud service */ @@ -107,7 +118,7 @@ Object.defineProperty(exports, "enableBetaResources", { }); /** - * Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network + * Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: dremio, iam, routing-tables, network */ export declare const experiments: string[] | undefined; Object.defineProperty(exports, "experiments", { @@ -524,6 +535,28 @@ Object.defineProperty(exports, "sqlserverflexCustomEndpoint", { enumerable: true, }); +/** + * Custom endpoint for the Telemetry Link service + */ +export declare const telemetrylinkCustomEndpoint: string | undefined; +Object.defineProperty(exports, "telemetrylinkCustomEndpoint", { + get() { + return __config.get("telemetrylinkCustomEndpoint"); + }, + enumerable: true, +}); + +/** + * Custom endpoint for the Telemetry Router service + */ +export declare const telemetryrouterCustomEndpoint: string | undefined; +Object.defineProperty(exports, "telemetryrouterCustomEndpoint", { + get() { + return __config.get("telemetryrouterCustomEndpoint"); + }, + enumerable: true, +}); + /** * Custom endpoint for the token API, which is used to request access tokens when using the key flow */ @@ -546,3 +579,14 @@ Object.defineProperty(exports, "useOidc", { enumerable: true, }); +/** + * Custom endpoint for the VPN service + */ +export declare const vpnCustomEndpoint: string | undefined; +Object.defineProperty(exports, "vpnCustomEndpoint", { + get() { + return __config.get("vpnCustomEndpoint"); + }, + enumerable: true, +}); + diff --git a/sdk/nodejs/dremioInstance.ts b/sdk/nodejs/dremioInstance.ts new file mode 100644 index 0000000..7a71028 --- /dev/null +++ b/sdk/nodejs/dremioInstance.ts @@ -0,0 +1,180 @@ +// *** 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"; + +/** + * Manages a STACKIT Dremio instance. + * + * > This resource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * + * ## Example Usage + */ +export class DremioInstance extends pulumi.CustomResource { + /** + * Get an existing DremioInstance 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?: DremioInstanceState, opts?: pulumi.CustomResourceOptions): DremioInstance { + return new DremioInstance(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/dremioInstance:DremioInstance'; + + /** + * Returns true if the given object is an instance of DremioInstance. 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 DremioInstance { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DremioInstance.__pulumiType; + } + + /** + * Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + */ + declare public readonly authentication: pulumi.Output; + /** + * The description is a longer text chosen by the user to provide more context for the resource. + */ + declare public readonly description: pulumi.Output; + /** + * The display name is a short name chosen by the user to identify the resource. + */ + declare public readonly displayName: pulumi.Output; + /** + * The available endpoints of the Dremio instance. + */ + declare public /*out*/ readonly endpoints: pulumi.Output; + /** + * The Dremio instance ID. + */ + declare public /*out*/ readonly instanceId: pulumi.Output; + /** + * STACKIT Project ID to which the resource is associated. + */ + declare public readonly projectId: pulumi.Output; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + declare public readonly timeouts: pulumi.Output; + + /** + * Create a DremioInstance 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: DremioInstanceArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DremioInstanceArgs | DremioInstanceState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DremioInstanceState | undefined; + resourceInputs["authentication"] = state?.authentication; + resourceInputs["description"] = state?.description; + resourceInputs["displayName"] = state?.displayName; + resourceInputs["endpoints"] = state?.endpoints; + resourceInputs["instanceId"] = state?.instanceId; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; + resourceInputs["timeouts"] = state?.timeouts; + } else { + const args = argsOrState as DremioInstanceArgs | undefined; + if (args?.authentication === undefined && !opts.urn) { + throw new Error("Missing required property 'authentication'"); + } + if (args?.displayName === undefined && !opts.urn) { + throw new Error("Missing required property 'displayName'"); + } + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + resourceInputs["authentication"] = args?.authentication; + resourceInputs["description"] = args?.description; + resourceInputs["displayName"] = args?.displayName; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + resourceInputs["timeouts"] = args?.timeouts; + resourceInputs["endpoints"] = undefined /*out*/; + resourceInputs["instanceId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(DremioInstance.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DremioInstance resources. + */ +export interface DremioInstanceState { + /** + * Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + */ + authentication?: pulumi.Input; + /** + * The description is a longer text chosen by the user to provide more context for the resource. + */ + description?: pulumi.Input; + /** + * The display name is a short name chosen by the user to identify the resource. + */ + displayName?: pulumi.Input; + /** + * The available endpoints of the Dremio instance. + */ + endpoints?: pulumi.Input; + /** + * The Dremio instance ID. + */ + instanceId?: pulumi.Input; + /** + * STACKIT Project ID to which the resource is associated. + */ + projectId?: pulumi.Input; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + timeouts?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DremioInstance resource. + */ +export interface DremioInstanceArgs { + /** + * Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + */ + authentication: pulumi.Input; + /** + * The description is a longer text chosen by the user to provide more context for the resource. + */ + description?: pulumi.Input; + /** + * The display name is a short name chosen by the user to identify the resource. + */ + displayName: pulumi.Input; + /** + * STACKIT Project ID to which the resource is associated. + */ + projectId: pulumi.Input; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + timeouts?: pulumi.Input; +} diff --git a/sdk/nodejs/dremioUser.ts b/sdk/nodejs/dremioUser.ts new file mode 100644 index 0000000..8e4c9ba --- /dev/null +++ b/sdk/nodejs/dremioUser.ts @@ -0,0 +1,237 @@ +// *** 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"; + +/** + * Manages a STACKIT Dremio instances user. + * + * > This resource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * + * ## Example Usage + */ +export class DremioUser extends pulumi.CustomResource { + /** + * Get an existing DremioUser 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?: DremioUserState, opts?: pulumi.CustomResourceOptions): DremioUser { + return new DremioUser(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/dremioUser:DremioUser'; + + /** + * Returns true if the given object is an instance of DremioUser. 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 DremioUser { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === DremioUser.__pulumiType; + } + + /** + * The description of the user. + */ + declare public readonly description: pulumi.Output; + /** + * The email address of the user. + */ + declare public readonly email: pulumi.Output; + /** + * The first name of the user. + */ + declare public readonly firstName: pulumi.Output; + /** + * The Dremio instance ID. + */ + declare public readonly instanceId: pulumi.Output; + /** + * The last name of the user. + */ + declare public readonly lastName: pulumi.Output; + /** + * The username of the user. + */ + declare public readonly name: pulumi.Output; + /** + * The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character. + */ + declare public readonly password: pulumi.Output; + /** + * STACKIT Project ID to which the resource is associated. + */ + declare public readonly projectId: pulumi.Output; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + declare public readonly timeouts: pulumi.Output; + /** + * The Dremio user ID. + */ + declare public /*out*/ readonly userId: pulumi.Output; + + /** + * Create a DremioUser 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: DremioUserArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: DremioUserArgs | DremioUserState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as DremioUserState | undefined; + resourceInputs["description"] = state?.description; + resourceInputs["email"] = state?.email; + resourceInputs["firstName"] = state?.firstName; + resourceInputs["instanceId"] = state?.instanceId; + resourceInputs["lastName"] = state?.lastName; + resourceInputs["name"] = state?.name; + resourceInputs["password"] = state?.password; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; + resourceInputs["timeouts"] = state?.timeouts; + resourceInputs["userId"] = state?.userId; + } else { + const args = argsOrState as DremioUserArgs | undefined; + if (args?.email === undefined && !opts.urn) { + throw new Error("Missing required property 'email'"); + } + if (args?.firstName === undefined && !opts.urn) { + throw new Error("Missing required property 'firstName'"); + } + if (args?.instanceId === undefined && !opts.urn) { + throw new Error("Missing required property 'instanceId'"); + } + if (args?.lastName === undefined && !opts.urn) { + throw new Error("Missing required property 'lastName'"); + } + if (args?.password === undefined && !opts.urn) { + throw new Error("Missing required property 'password'"); + } + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + resourceInputs["description"] = args?.description; + resourceInputs["email"] = args?.email; + resourceInputs["firstName"] = args?.firstName; + resourceInputs["instanceId"] = args?.instanceId; + resourceInputs["lastName"] = args?.lastName; + resourceInputs["name"] = args?.name; + resourceInputs["password"] = args?.password ? pulumi.secret(args.password) : undefined; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + resourceInputs["timeouts"] = args?.timeouts; + resourceInputs["userId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["password"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(DremioUser.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering DremioUser resources. + */ +export interface DremioUserState { + /** + * The description of the user. + */ + description?: pulumi.Input; + /** + * The email address of the user. + */ + email?: pulumi.Input; + /** + * The first name of the user. + */ + firstName?: pulumi.Input; + /** + * The Dremio instance ID. + */ + instanceId?: pulumi.Input; + /** + * The last name of the user. + */ + lastName?: pulumi.Input; + /** + * The username of the user. + */ + name?: pulumi.Input; + /** + * The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character. + */ + password?: pulumi.Input; + /** + * STACKIT Project ID to which the resource is associated. + */ + projectId?: pulumi.Input; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + timeouts?: pulumi.Input; + /** + * The Dremio user ID. + */ + userId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a DremioUser resource. + */ +export interface DremioUserArgs { + /** + * The description of the user. + */ + description?: pulumi.Input; + /** + * The email address of the user. + */ + email: pulumi.Input; + /** + * The first name of the user. + */ + firstName: pulumi.Input; + /** + * The Dremio instance ID. + */ + instanceId: pulumi.Input; + /** + * The last name of the user. + */ + lastName: pulumi.Input; + /** + * The username of the user. + */ + name?: pulumi.Input; + /** + * The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character. + */ + password: pulumi.Input; + /** + * STACKIT Project ID to which the resource is associated. + */ + projectId: pulumi.Input; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + timeouts?: pulumi.Input; +} diff --git a/sdk/nodejs/getDremioInstance.ts b/sdk/nodejs/getDremioInstance.ts new file mode 100644 index 0000000..bba8be4 --- /dev/null +++ b/sdk/nodejs/getDremioInstance.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"; + +/** + * Manages a STACKIT Dremio instance. + * + * > This datasource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * + * ## Example Usage + */ +export function getDremioInstance(args: GetDremioInstanceArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getDremioInstance:getDremioInstance", { + "description": args.description, + "instanceId": args.instanceId, + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getDremioInstance. + */ +export interface GetDremioInstanceArgs { + /** + * The description is a longer text chosen by the user to provide more context for the resource. + */ + description?: string; + /** + * The Dremio instance ID. + */ + instanceId: string; + /** + * STACKIT Project ID to which the resource is associated. + */ + projectId: string; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: string; +} + +/** + * A collection of values returned by getDremioInstance. + */ +export interface GetDremioInstanceResult { + /** + * Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + */ + readonly authentication: outputs.GetDremioInstanceAuthentication; + /** + * The description is a longer text chosen by the user to provide more context for the resource. + */ + readonly description: string; + /** + * The display name is a short name chosen by the user to identify the resource. + */ + readonly displayName: string; + /** + * The available endpoints of the Dremio instance. + */ + readonly endpoints: outputs.GetDremioInstanceEndpoints; + /** + * Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`instanceId`". + */ + readonly id: string; + /** + * The Dremio instance ID. + */ + readonly instanceId: string; + /** + * STACKIT Project ID to which the resource is associated. + */ + readonly projectId: string; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + readonly region?: string; +} +/** + * Manages a STACKIT Dremio instance. + * + * > This datasource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * + * ## Example Usage + */ +export function getDremioInstanceOutput(args: GetDremioInstanceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getDremioInstance:getDremioInstance", { + "description": args.description, + "instanceId": args.instanceId, + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getDremioInstance. + */ +export interface GetDremioInstanceOutputArgs { + /** + * The description is a longer text chosen by the user to provide more context for the resource. + */ + description?: pulumi.Input; + /** + * The Dremio instance ID. + */ + instanceId: pulumi.Input; + /** + * STACKIT Project ID to which the resource is associated. + */ + projectId: pulumi.Input; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; +} diff --git a/sdk/nodejs/getDremioUser.ts b/sdk/nodejs/getDremioUser.ts new file mode 100644 index 0000000..3b0b175 --- /dev/null +++ b/sdk/nodejs/getDremioUser.ts @@ -0,0 +1,138 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * Manages a STACKIT Dremio instances user. + * + * > This datasource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * + * ## Example Usage + */ +export function getDremioUser(args: GetDremioUserArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getDremioUser:getDremioUser", { + "description": args.description, + "instanceId": args.instanceId, + "projectId": args.projectId, + "region": args.region, + "userId": args.userId, + }, opts); +} + +/** + * A collection of arguments for invoking getDremioUser. + */ +export interface GetDremioUserArgs { + /** + * The description of the user. + */ + description?: string; + /** + * The Dremio instance ID. + */ + instanceId: string; + /** + * STACKIT Project ID to which the resource is associated. + */ + projectId: string; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: string; + /** + * The Dremio user ID. + */ + userId: string; +} + +/** + * A collection of values returned by getDremioUser. + */ +export interface GetDremioUserResult { + /** + * The description of the user. + */ + readonly description: string; + /** + * The email address of the user. + */ + readonly email: string; + /** + * The first name of the user. + */ + readonly firstName: string; + /** + * Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`instanceId`,`userId`". + */ + readonly id: string; + /** + * The Dremio instance ID. + */ + readonly instanceId: string; + /** + * The last name of the user. + */ + readonly lastName: string; + /** + * The username of the user. + */ + readonly name: string; + /** + * STACKIT Project ID to which the resource is associated. + */ + readonly projectId: string; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + readonly region?: string; + /** + * The Dremio user ID. + */ + readonly userId: string; +} +/** + * Manages a STACKIT Dremio instances user. + * + * > This datasource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + * + * ## Example Usage + */ +export function getDremioUserOutput(args: GetDremioUserOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getDremioUser:getDremioUser", { + "description": args.description, + "instanceId": args.instanceId, + "projectId": args.projectId, + "region": args.region, + "userId": args.userId, + }, opts); +} + +/** + * A collection of arguments for invoking getDremioUser. + */ +export interface GetDremioUserOutputArgs { + /** + * The description of the user. + */ + description?: pulumi.Input; + /** + * The Dremio instance ID. + */ + instanceId: pulumi.Input; + /** + * STACKIT Project ID to which the resource is associated. + */ + projectId: pulumi.Input; + /** + * The STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * The Dremio user ID. + */ + userId: pulumi.Input; +} diff --git a/sdk/nodejs/getLogsInstance.ts b/sdk/nodejs/getLogsInstance.ts index fc2c68f..1edba21 100644 --- a/sdk/nodejs/getLogsInstance.ts +++ b/sdk/nodejs/getLogsInstance.ts @@ -97,7 +97,7 @@ export interface GetLogsInstanceResult { */ readonly retentionDays: number; /** - * The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + * The status of the Logs instance. Possible values are: `active`, `deleting`, `reconciling`. */ readonly status: string; } diff --git a/sdk/nodejs/getServiceAccount.ts b/sdk/nodejs/getServiceAccount.ts index c861769..9a00aca 100644 --- a/sdk/nodejs/getServiceAccount.ts +++ b/sdk/nodejs/getServiceAccount.ts @@ -5,7 +5,7 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; /** - * Service account data source schema. + * Gets details about a STACKIT service account in a project by email. * * ## Example Usage */ @@ -57,7 +57,7 @@ export interface GetServiceAccountResult { readonly serviceAccountId: string; } /** - * Service account data source schema. + * Gets details about a STACKIT service account in a project by email. * * ## Example Usage */ diff --git a/sdk/nodejs/getServiceAccountFederatedIdentityProvider.ts b/sdk/nodejs/getServiceAccountFederatedIdentityProvider.ts index 5d24dfb..a3a62f9 100644 --- a/sdk/nodejs/getServiceAccountFederatedIdentityProvider.ts +++ b/sdk/nodejs/getServiceAccountFederatedIdentityProvider.ts @@ -7,7 +7,7 @@ import * as outputs from "./types/output"; import * as utilities from "./utilities"; /** - * Service account federated identity provider schema. + * Gets details about a federated identity provider configured for a STACKIT service account. * * ## Example Usage */ @@ -72,7 +72,7 @@ export interface GetServiceAccountFederatedIdentityProviderResult { readonly serviceAccountEmail: string; } /** - * Service account federated identity provider schema. + * Gets details about a federated identity provider configured for a STACKIT service account. * * ## Example Usage */ diff --git a/sdk/nodejs/getServiceAccounts.ts b/sdk/nodejs/getServiceAccounts.ts index 3df4502..67aba78 100644 --- a/sdk/nodejs/getServiceAccounts.ts +++ b/sdk/nodejs/getServiceAccounts.ts @@ -7,7 +7,7 @@ import * as outputs from "./types/output"; import * as utilities from "./utilities"; /** - * Service accounts plural data source schema. Returns a list of all service accounts in a project, optionally filtered. + * Lists STACKIT service accounts in a project, optionally filtered by email. * * ## Example Usage */ @@ -73,7 +73,7 @@ export interface GetServiceAccountsResult { readonly sortAscending?: boolean; } /** - * Service accounts plural data source schema. Returns a list of all service accounts in a project, optionally filtered. + * Lists STACKIT service accounts in a project, optionally filtered by email. * * ## Example Usage */ diff --git a/sdk/nodejs/getSfsExportPolicy.ts b/sdk/nodejs/getSfsExportPolicy.ts index ee6a36c..955d803 100644 --- a/sdk/nodejs/getSfsExportPolicy.ts +++ b/sdk/nodejs/getSfsExportPolicy.ts @@ -48,6 +48,10 @@ export interface GetSfsExportPolicyResult { * Terraform's internal resource ID. It is structured as "`projectId`,`region`,`policyId`". */ readonly id: string; + /** + * Labels are key-value string pairs which can be attached to an export policy + */ + readonly labels: {[key: string]: string}; /** * Name of the export policy. */ diff --git a/sdk/nodejs/getSfsResourcePool.ts b/sdk/nodejs/getSfsResourcePool.ts index 5a71983..12d4654 100644 --- a/sdk/nodejs/getSfsResourcePool.ts +++ b/sdk/nodejs/getSfsResourcePool.ts @@ -56,6 +56,10 @@ export interface GetSfsResourcePoolResult { * List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). */ readonly ipAcls: string[]; + /** + * Labels are key-value string pairs which can be attached to a resource pool + */ + readonly labels: {[key: string]: string}; /** * Name of the resource pool. */ diff --git a/sdk/nodejs/getSfsShare.ts b/sdk/nodejs/getSfsShare.ts index 9b7c08a..2659a37 100644 --- a/sdk/nodejs/getSfsShare.ts +++ b/sdk/nodejs/getSfsShare.ts @@ -58,6 +58,10 @@ export interface GetSfsShareResult { * Terraform's internal resource ID. It is structured as "`projectId`,`shareId`". */ readonly id: string; + /** + * Labels are key-value string pairs which can be attached to a share + */ + readonly labels: {[key: string]: string}; /** * Mount path of the Share, used to mount the Share */ diff --git a/sdk/nodejs/getTelemetrylink.ts b/sdk/nodejs/getTelemetrylink.ts new file mode 100644 index 0000000..2af4f3f --- /dev/null +++ b/sdk/nodejs/getTelemetrylink.ts @@ -0,0 +1,110 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * TelemetryLink 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 getTelemetrylink(args: GetTelemetrylinkArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getTelemetrylink:getTelemetrylink", { + "region": args.region, + "resourceId": args.resourceId, + "resourceType": args.resourceType, + }, opts); +} + +/** + * A collection of arguments for invoking getTelemetrylink. + */ +export interface GetTelemetrylinkArgs { + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: string; + /** + * STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + */ + resourceId: string; + /** + * The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + */ + resourceType: string; +} + +/** + * A collection of values returned by getTelemetrylink. + */ +export interface GetTelemetrylinkResult { + /** + * The time the Telemetry Link was created. + */ + readonly createTime: string; + /** + * The description of the Telemetry Link resource. + */ + readonly description: string; + /** + * The displayed name of the Telemetry Link resource. + */ + readonly displayName: string; + /** + * Terraform's internal resource identifier. It is structured as "`resourceType`, `resourceId`,`region`". + */ + readonly id: string; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + readonly region?: string; + /** + * STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + */ + readonly resourceId: string; + /** + * The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + */ + readonly resourceType: string; + /** + * The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. + */ + readonly status: string; + /** + * The Telemetry Router ID. + */ + readonly telemetryRouterId: string; +} +/** + * TelemetryLink 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 getTelemetrylinkOutput(args: GetTelemetrylinkOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getTelemetrylink:getTelemetrylink", { + "region": args.region, + "resourceId": args.resourceId, + "resourceType": args.resourceType, + }, opts); +} + +/** + * A collection of arguments for invoking getTelemetrylink. + */ +export interface GetTelemetrylinkOutputArgs { + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + */ + resourceId: pulumi.Input; + /** + * The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + */ + resourceType: pulumi.Input; +} diff --git a/sdk/nodejs/getTelemetryrouterAccessToken.ts b/sdk/nodejs/getTelemetryrouterAccessToken.ts new file mode 100644 index 0000000..e80d73f --- /dev/null +++ b/sdk/nodejs/getTelemetryrouterAccessToken.ts @@ -0,0 +1,124 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * TelemetryRouter access token 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 getTelemetryrouterAccessToken(args: GetTelemetryrouterAccessTokenArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getTelemetryrouterAccessToken:getTelemetryrouterAccessToken", { + "accessTokenId": args.accessTokenId, + "instanceId": args.instanceId, + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getTelemetryrouterAccessToken. + */ +export interface GetTelemetryrouterAccessTokenArgs { + /** + * The access token ID + */ + accessTokenId: string; + /** + * The TelemetryRouter instance ID associated with the access token + */ + instanceId: string; + /** + * STACKIT project ID associated with the TelemetryRouter access token + */ + projectId: string; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: string; +} + +/** + * A collection of values returned by getTelemetryrouterAccessToken. + */ +export interface GetTelemetryrouterAccessTokenResult { + /** + * The access token ID + */ + readonly accessTokenId: string; + /** + * The user who created the access token + */ + readonly creatorId: string; + /** + * The description of the access token + */ + readonly description: string; + /** + * The displayed name of the access token + */ + readonly displayName: string; + /** + * The date and time an access token will expire at (inclusively) + */ + readonly expirationTime: string; + /** + * Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`instanceId`,`accessTokenId`". + */ + readonly id: string; + /** + * The TelemetryRouter instance ID associated with the access token + */ + readonly instanceId: string; + /** + * STACKIT project ID associated with the TelemetryRouter access token + */ + readonly projectId: string; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + readonly region?: string; + /** + * The status of the access token. Possible values are: `active`, `expired`, `deleting`. + */ + readonly status: string; +} +/** + * TelemetryRouter access token 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 getTelemetryrouterAccessTokenOutput(args: GetTelemetryrouterAccessTokenOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getTelemetryrouterAccessToken:getTelemetryrouterAccessToken", { + "accessTokenId": args.accessTokenId, + "instanceId": args.instanceId, + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getTelemetryrouterAccessToken. + */ +export interface GetTelemetryrouterAccessTokenOutputArgs { + /** + * The access token ID + */ + accessTokenId: pulumi.Input; + /** + * The TelemetryRouter instance ID associated with the access token + */ + instanceId: pulumi.Input; + /** + * STACKIT project ID associated with the TelemetryRouter access token + */ + projectId: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; +} diff --git a/sdk/nodejs/getTelemetryrouterDestination.ts b/sdk/nodejs/getTelemetryrouterDestination.ts new file mode 100644 index 0000000..36935b3 --- /dev/null +++ b/sdk/nodejs/getTelemetryrouterDestination.ts @@ -0,0 +1,130 @@ +// *** 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"; + +/** + * TelemetryRouter destination 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 getTelemetryrouterDestination(args: GetTelemetryrouterDestinationArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getTelemetryrouterDestination:getTelemetryrouterDestination", { + "destinationId": args.destinationId, + "instanceId": args.instanceId, + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getTelemetryrouterDestination. + */ +export interface GetTelemetryrouterDestinationArgs { + /** + * The TelemetryRouter destination ID + */ + destinationId: string; + /** + * The TelemetryRouter instance ID + */ + instanceId: string; + /** + * STACKIT project ID associated with the TelemetryRouter instance + */ + projectId: string; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: string; +} + +/** + * A collection of values returned by getTelemetryrouterDestination. + */ +export interface GetTelemetryrouterDestinationResult { + /** + * The configuration of the TelemetryRouter destination + */ + readonly config: outputs.GetTelemetryrouterDestinationConfig; + /** + * The date and time the creation of the TelemetryRouter destination was initiated + */ + readonly creationTime: string; + /** + * The TelemetryRouter destination's credential type + */ + readonly credentialType: string; + /** + * The description of the TelemetryRouter destination + */ + readonly description: string; + /** + * The TelemetryRouter destination ID + */ + readonly destinationId: string; + /** + * The displayed name of the TelemetryRouter destination + */ + readonly displayName: string; + /** + * Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`instanceId`,`destionationId`". + */ + readonly id: string; + /** + * The TelemetryRouter instance ID + */ + readonly instanceId: string; + /** + * STACKIT project ID associated with the TelemetryRouter instance + */ + readonly projectId: string; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + readonly region: string; + /** + * The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. + */ + readonly status: string; +} +/** + * TelemetryRouter destination 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 getTelemetryrouterDestinationOutput(args: GetTelemetryrouterDestinationOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getTelemetryrouterDestination:getTelemetryrouterDestination", { + "destinationId": args.destinationId, + "instanceId": args.instanceId, + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getTelemetryrouterDestination. + */ +export interface GetTelemetryrouterDestinationOutputArgs { + /** + * The TelemetryRouter destination ID + */ + destinationId: pulumi.Input; + /** + * The TelemetryRouter instance ID + */ + instanceId: pulumi.Input; + /** + * STACKIT project ID associated with the TelemetryRouter instance + */ + projectId: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; +} diff --git a/sdk/nodejs/getTelemetryrouterInstance.ts b/sdk/nodejs/getTelemetryrouterInstance.ts new file mode 100644 index 0000000..bf2ce1a --- /dev/null +++ b/sdk/nodejs/getTelemetryrouterInstance.ts @@ -0,0 +1,116 @@ +// *** 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"; + +/** + * TelemetryRouter instance 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 getTelemetryrouterInstance(args: GetTelemetryrouterInstanceArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getTelemetryrouterInstance:getTelemetryrouterInstance", { + "instanceId": args.instanceId, + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getTelemetryrouterInstance. + */ +export interface GetTelemetryrouterInstanceArgs { + /** + * The TelemetryRouter instance ID + */ + instanceId: string; + /** + * STACKIT project ID associated with the TelemetryRouter instance + */ + projectId: string; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: string; +} + +/** + * A collection of values returned by getTelemetryrouterInstance. + */ +export interface GetTelemetryrouterInstanceResult { + /** + * The date and time the creation of the TelemetryRouter instance was initiated + */ + readonly creationTime: string; + /** + * The description of the TelemetryRouter instance + */ + readonly description: string; + /** + * The display name of the TelemetryRouter instance + */ + readonly displayName: string; + /** + * The TelemetryRouter global filter settings + */ + readonly filter: outputs.GetTelemetryrouterInstanceFilter; + /** + * Terraform's internal resource identifier. It is structured as "`projectId`,`region`,`instanceId`". + */ + readonly id: string; + /** + * The TelemetryRouter instance ID + */ + readonly instanceId: string; + /** + * STACKIT project ID associated with the TelemetryRouter instance + */ + readonly projectId: string; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + readonly region?: string; + /** + * The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. + */ + readonly status: string; + /** + * The TelemetryRouter instance's URI + */ + readonly uri: string; +} +/** + * TelemetryRouter instance 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 getTelemetryrouterInstanceOutput(args: GetTelemetryrouterInstanceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getTelemetryrouterInstance:getTelemetryrouterInstance", { + "instanceId": args.instanceId, + "projectId": args.projectId, + "region": args.region, + }, opts); +} + +/** + * A collection of arguments for invoking getTelemetryrouterInstance. + */ +export interface GetTelemetryrouterInstanceOutputArgs { + /** + * The TelemetryRouter instance ID + */ + instanceId: pulumi.Input; + /** + * STACKIT project ID associated with the TelemetryRouter instance + */ + projectId: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; +} diff --git a/sdk/nodejs/getVpnGateway.ts b/sdk/nodejs/getVpnGateway.ts new file mode 100644 index 0000000..1a66e1a --- /dev/null +++ b/sdk/nodejs/getVpnGateway.ts @@ -0,0 +1,106 @@ +// *** 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 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 getVpnGateway(args: GetVpnGatewayArgs, opts?: pulumi.InvokeOptions): Promise { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invoke("stackit:index/getVpnGateway:getVpnGateway", { + "gatewayId": args.gatewayId, + "projectId": args.projectId, + }, opts); +} + +/** + * A collection of arguments for invoking getVpnGateway. + */ +export interface GetVpnGatewayArgs { + /** + * 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 getVpnGateway. + */ +export interface GetVpnGatewayResult { + /** + * Availability zones for the two tunnel endpoints. + */ + readonly availabilityZones: outputs.GetVpnGatewayAvailabilityZones; + /** + * BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + */ + readonly bgp: outputs.GetVpnGatewayBgp; + /** + * 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; + /** + * Map of custom labels (key-value string pairs). + */ + readonly labels: {[key: string]: string}; + /** + * The service plan identifier (e.g. `p500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + */ + readonly planId: 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; + /** + * Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + */ + readonly routingType: string; +} +/** + * VPN Gateway 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 getVpnGatewayOutput(args: GetVpnGatewayOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output { + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts || {}); + return pulumi.runtime.invokeOutput("stackit:index/getVpnGateway:getVpnGateway", { + "gatewayId": args.gatewayId, + "projectId": args.projectId, + }, opts); +} + +/** + * A collection of arguments for invoking getVpnGateway. + */ +export interface GetVpnGatewayOutputArgs { + /** + * 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 eae714c..d34797e 100644 --- a/sdk/nodejs/index.ts +++ b/sdk/nodejs/index.ts @@ -75,6 +75,16 @@ export type DnsZone = import("./dnsZone").DnsZone; export const DnsZone: typeof import("./dnsZone").DnsZone = null as any; utilities.lazyLoad(exports, ["DnsZone"], () => require("./dnsZone")); +export { DremioInstanceArgs, DremioInstanceState } from "./dremioInstance"; +export type DremioInstance = import("./dremioInstance").DremioInstance; +export const DremioInstance: typeof import("./dremioInstance").DremioInstance = null as any; +utilities.lazyLoad(exports, ["DremioInstance"], () => require("./dremioInstance")); + +export { DremioUserArgs, DremioUserState } from "./dremioUser"; +export type DremioUser = import("./dremioUser").DremioUser; +export const DremioUser: typeof import("./dremioUser").DremioUser = null as any; +utilities.lazyLoad(exports, ["DremioUser"], () => require("./dremioUser")); + export { EdgecloudInstanceArgs, EdgecloudInstanceState } from "./edgecloudInstance"; export type EdgecloudInstance = import("./edgecloudInstance").EdgecloudInstance; export const EdgecloudInstance: typeof import("./edgecloudInstance").EdgecloudInstance = null as any; @@ -140,6 +150,16 @@ export const getDnsZone: typeof import("./getDnsZone").getDnsZone = null as any; export const getDnsZoneOutput: typeof import("./getDnsZone").getDnsZoneOutput = null as any; utilities.lazyLoad(exports, ["getDnsZone","getDnsZoneOutput"], () => require("./getDnsZone")); +export { GetDremioInstanceArgs, GetDremioInstanceResult, GetDremioInstanceOutputArgs } from "./getDremioInstance"; +export const getDremioInstance: typeof import("./getDremioInstance").getDremioInstance = null as any; +export const getDremioInstanceOutput: typeof import("./getDremioInstance").getDremioInstanceOutput = null as any; +utilities.lazyLoad(exports, ["getDremioInstance","getDremioInstanceOutput"], () => require("./getDremioInstance")); + +export { GetDremioUserArgs, GetDremioUserResult, GetDremioUserOutputArgs } from "./getDremioUser"; +export const getDremioUser: typeof import("./getDremioUser").getDremioUser = null as any; +export const getDremioUserOutput: typeof import("./getDremioUser").getDremioUserOutput = null as any; +utilities.lazyLoad(exports, ["getDremioUser","getDremioUserOutput"], () => require("./getDremioUser")); + export { GetEdgecloudInstancesArgs, GetEdgecloudInstancesResult, GetEdgecloudInstancesOutputArgs } from "./getEdgecloudInstances"; export const getEdgecloudInstances: typeof import("./getEdgecloudInstances").getEdgecloudInstances = null as any; export const getEdgecloudInstancesOutput: typeof import("./getEdgecloudInstances").getEdgecloudInstancesOutput = null as any; @@ -545,11 +565,36 @@ export const getSqlserverflexUser: typeof import("./getSqlserverflexUser").getSq export const getSqlserverflexUserOutput: typeof import("./getSqlserverflexUser").getSqlserverflexUserOutput = null as any; utilities.lazyLoad(exports, ["getSqlserverflexUser","getSqlserverflexUserOutput"], () => require("./getSqlserverflexUser")); +export { GetTelemetrylinkArgs, GetTelemetrylinkResult, GetTelemetrylinkOutputArgs } from "./getTelemetrylink"; +export const getTelemetrylink: typeof import("./getTelemetrylink").getTelemetrylink = null as any; +export const getTelemetrylinkOutput: typeof import("./getTelemetrylink").getTelemetrylinkOutput = null as any; +utilities.lazyLoad(exports, ["getTelemetrylink","getTelemetrylinkOutput"], () => require("./getTelemetrylink")); + +export { GetTelemetryrouterAccessTokenArgs, GetTelemetryrouterAccessTokenResult, GetTelemetryrouterAccessTokenOutputArgs } from "./getTelemetryrouterAccessToken"; +export const getTelemetryrouterAccessToken: typeof import("./getTelemetryrouterAccessToken").getTelemetryrouterAccessToken = null as any; +export const getTelemetryrouterAccessTokenOutput: typeof import("./getTelemetryrouterAccessToken").getTelemetryrouterAccessTokenOutput = null as any; +utilities.lazyLoad(exports, ["getTelemetryrouterAccessToken","getTelemetryrouterAccessTokenOutput"], () => require("./getTelemetryrouterAccessToken")); + +export { GetTelemetryrouterDestinationArgs, GetTelemetryrouterDestinationResult, GetTelemetryrouterDestinationOutputArgs } from "./getTelemetryrouterDestination"; +export const getTelemetryrouterDestination: typeof import("./getTelemetryrouterDestination").getTelemetryrouterDestination = null as any; +export const getTelemetryrouterDestinationOutput: typeof import("./getTelemetryrouterDestination").getTelemetryrouterDestinationOutput = null as any; +utilities.lazyLoad(exports, ["getTelemetryrouterDestination","getTelemetryrouterDestinationOutput"], () => require("./getTelemetryrouterDestination")); + +export { GetTelemetryrouterInstanceArgs, GetTelemetryrouterInstanceResult, GetTelemetryrouterInstanceOutputArgs } from "./getTelemetryrouterInstance"; +export const getTelemetryrouterInstance: typeof import("./getTelemetryrouterInstance").getTelemetryrouterInstance = null as any; +export const getTelemetryrouterInstanceOutput: typeof import("./getTelemetryrouterInstance").getTelemetryrouterInstanceOutput = null as any; +utilities.lazyLoad(exports, ["getTelemetryrouterInstance","getTelemetryrouterInstanceOutput"], () => require("./getTelemetryrouterInstance")); + export { GetVolumeArgs, GetVolumeResult, GetVolumeOutputArgs } from "./getVolume"; 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 { 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 { GitArgs, GitState } from "./git"; export type Git = import("./git").Git; export const Git: typeof import("./git").Git = null as any; @@ -923,11 +968,36 @@ export type SqlserverflexUser = import("./sqlserverflexUser").SqlserverflexUser; export const SqlserverflexUser: typeof import("./sqlserverflexUser").SqlserverflexUser = null as any; utilities.lazyLoad(exports, ["SqlserverflexUser"], () => require("./sqlserverflexUser")); +export { TelemetrylinkArgs, TelemetrylinkState } from "./telemetrylink"; +export type Telemetrylink = import("./telemetrylink").Telemetrylink; +export const Telemetrylink: typeof import("./telemetrylink").Telemetrylink = null as any; +utilities.lazyLoad(exports, ["Telemetrylink"], () => require("./telemetrylink")); + +export { TelemetryrouterAccessTokenArgs, TelemetryrouterAccessTokenState } from "./telemetryrouterAccessToken"; +export type TelemetryrouterAccessToken = import("./telemetryrouterAccessToken").TelemetryrouterAccessToken; +export const TelemetryrouterAccessToken: typeof import("./telemetryrouterAccessToken").TelemetryrouterAccessToken = null as any; +utilities.lazyLoad(exports, ["TelemetryrouterAccessToken"], () => require("./telemetryrouterAccessToken")); + +export { TelemetryrouterDestinationArgs, TelemetryrouterDestinationState } from "./telemetryrouterDestination"; +export type TelemetryrouterDestination = import("./telemetryrouterDestination").TelemetryrouterDestination; +export const TelemetryrouterDestination: typeof import("./telemetryrouterDestination").TelemetryrouterDestination = null as any; +utilities.lazyLoad(exports, ["TelemetryrouterDestination"], () => require("./telemetryrouterDestination")); + +export { TelemetryrouterInstanceArgs, TelemetryrouterInstanceState } from "./telemetryrouterInstance"; +export type TelemetryrouterInstance = import("./telemetryrouterInstance").TelemetryrouterInstance; +export const TelemetryrouterInstance: typeof import("./telemetryrouterInstance").TelemetryrouterInstance = null as any; +utilities.lazyLoad(exports, ["TelemetryrouterInstance"], () => require("./telemetryrouterInstance")); + export { VolumeArgs, VolumeState } from "./volume"; export type Volume = import("./volume").Volume; export const Volume: typeof import("./volume").Volume = null as any; utilities.lazyLoad(exports, ["Volume"], () => require("./volume")); +export { VpnGatewayArgs, VpnGatewayState } from "./vpnGateway"; +export type VpnGateway = import("./vpnGateway").VpnGateway; +export const VpnGateway: typeof import("./vpnGateway").VpnGateway = null as any; +utilities.lazyLoad(exports, ["VpnGateway"], () => require("./vpnGateway")); + // Export sub-modules: import * as config from "./config"; @@ -970,6 +1040,10 @@ const _module = { return new DnsRecordSet(name, undefined, { urn }) case "stackit:index/dnsZone:DnsZone": return new DnsZone(name, undefined, { urn }) + case "stackit:index/dremioInstance:DremioInstance": + return new DremioInstance(name, undefined, { urn }) + case "stackit:index/dremioUser:DremioUser": + return new DremioUser(name, undefined, { urn }) case "stackit:index/edgecloudInstance:EdgecloudInstance": return new EdgecloudInstance(name, undefined, { urn }) case "stackit:index/edgecloudKubeconfig:EdgecloudKubeconfig": @@ -1124,8 +1198,18 @@ const _module = { return new SqlserverflexInstance(name, undefined, { urn }) case "stackit:index/sqlserverflexUser:SqlserverflexUser": return new SqlserverflexUser(name, undefined, { urn }) + case "stackit:index/telemetrylink:Telemetrylink": + return new Telemetrylink(name, undefined, { urn }) + case "stackit:index/telemetryrouterAccessToken:TelemetryrouterAccessToken": + return new TelemetryrouterAccessToken(name, undefined, { urn }) + case "stackit:index/telemetryrouterDestination:TelemetryrouterDestination": + return new TelemetryrouterDestination(name, undefined, { urn }) + case "stackit:index/telemetryrouterInstance:TelemetryrouterInstance": + return new TelemetryrouterInstance(name, undefined, { urn }) case "stackit:index/volume:Volume": return new Volume(name, undefined, { urn }) + case "stackit:index/vpnGateway:VpnGateway": + return new VpnGateway(name, undefined, { urn }) default: throw new Error(`unknown resource type ${type}`); } @@ -1145,6 +1229,8 @@ pulumi.runtime.registerResourceModule("stackit", "index/cdnCustomDomain", _modul pulumi.runtime.registerResourceModule("stackit", "index/cdnDistribution", _module) pulumi.runtime.registerResourceModule("stackit", "index/dnsRecordSet", _module) pulumi.runtime.registerResourceModule("stackit", "index/dnsZone", _module) +pulumi.runtime.registerResourceModule("stackit", "index/dremioInstance", _module) +pulumi.runtime.registerResourceModule("stackit", "index/dremioUser", _module) pulumi.runtime.registerResourceModule("stackit", "index/edgecloudInstance", _module) pulumi.runtime.registerResourceModule("stackit", "index/edgecloudKubeconfig", _module) pulumi.runtime.registerResourceModule("stackit", "index/edgecloudToken", _module) @@ -1222,7 +1308,12 @@ pulumi.runtime.registerResourceModule("stackit", "index/skeCluster", _module) pulumi.runtime.registerResourceModule("stackit", "index/skeKubeconfig", _module) pulumi.runtime.registerResourceModule("stackit", "index/sqlserverflexInstance", _module) pulumi.runtime.registerResourceModule("stackit", "index/sqlserverflexUser", _module) +pulumi.runtime.registerResourceModule("stackit", "index/telemetrylink", _module) +pulumi.runtime.registerResourceModule("stackit", "index/telemetryrouterAccessToken", _module) +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/vpnGateway", _module) pulumi.runtime.registerResourcePackage("stackit", { version: utilities.getVersion(), constructProvider: (name: string, type: string, urn: string): pulumi.ProviderResource => { diff --git a/sdk/nodejs/logsAccessToken.ts b/sdk/nodejs/logsAccessToken.ts index 4797075..b51863a 100644 --- a/sdk/nodejs/logsAccessToken.ts +++ b/sdk/nodejs/logsAccessToken.ts @@ -81,6 +81,10 @@ export class LogsAccessToken extends pulumi.CustomResource { * STACKIT region name the resource is located in. If not defined, the provider region is used. */ declare public readonly region: pulumi.Output; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + declare public readonly rotateWhenChanged: pulumi.Output<{[key: string]: string} | undefined>; /** * The status of the access token. Possible values are: `active`, `expired`. */ @@ -114,6 +118,7 @@ export class LogsAccessToken extends pulumi.CustomResource { resourceInputs["permissions"] = state?.permissions; resourceInputs["projectId"] = state?.projectId; resourceInputs["region"] = state?.region; + resourceInputs["rotateWhenChanged"] = state?.rotateWhenChanged; resourceInputs["status"] = state?.status; resourceInputs["validUntil"] = state?.validUntil; } else { @@ -137,6 +142,7 @@ export class LogsAccessToken extends pulumi.CustomResource { resourceInputs["permissions"] = args?.permissions; resourceInputs["projectId"] = args?.projectId; resourceInputs["region"] = args?.region; + resourceInputs["rotateWhenChanged"] = args?.rotateWhenChanged; resourceInputs["accessToken"] = undefined /*out*/; resourceInputs["accessTokenId"] = undefined /*out*/; resourceInputs["creator"] = undefined /*out*/; @@ -199,6 +205,10 @@ export interface LogsAccessTokenState { * STACKIT region name the resource is located in. If not defined, the provider region is used. */ region?: pulumi.Input; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; /** * The status of the access token. Possible values are: `active`, `expired`. */ @@ -241,4 +251,8 @@ export interface LogsAccessTokenArgs { * STACKIT region name the resource is located in. If not defined, the provider region is used. */ region?: pulumi.Input; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; } diff --git a/sdk/nodejs/logsInstance.ts b/sdk/nodejs/logsInstance.ts index 14e3d10..09bb7d8 100644 --- a/sdk/nodejs/logsInstance.ts +++ b/sdk/nodejs/logsInstance.ts @@ -90,7 +90,7 @@ export class LogsInstance extends pulumi.CustomResource { */ declare public readonly retentionDays: pulumi.Output; /** - * The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + * The status of the Logs instance. Possible values are: `active`, `deleting`, `reconciling`. */ declare public /*out*/ readonly status: pulumi.Output; @@ -209,7 +209,7 @@ export interface LogsInstanceState { */ retentionDays?: pulumi.Input; /** - * The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + * The status of the Logs instance. Possible values are: `active`, `deleting`, `reconciling`. */ status?: pulumi.Input; } diff --git a/sdk/nodejs/mariadbCredential.ts b/sdk/nodejs/mariadbCredential.ts index 1221625..338bedf 100644 --- a/sdk/nodejs/mariadbCredential.ts +++ b/sdk/nodejs/mariadbCredential.ts @@ -54,6 +54,10 @@ export class MariadbCredential extends pulumi.CustomResource { * STACKIT Project ID to which the instance is associated. */ declare public readonly projectId: pulumi.Output; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + declare public readonly rotateWhenChanged: pulumi.Output<{[key: string]: string} | undefined>; declare public /*out*/ readonly uri: pulumi.Output; declare public /*out*/ readonly username: pulumi.Output; @@ -78,6 +82,7 @@ export class MariadbCredential extends pulumi.CustomResource { resourceInputs["password"] = state?.password; resourceInputs["port"] = state?.port; resourceInputs["projectId"] = state?.projectId; + resourceInputs["rotateWhenChanged"] = state?.rotateWhenChanged; resourceInputs["uri"] = state?.uri; resourceInputs["username"] = state?.username; } else { @@ -90,6 +95,7 @@ export class MariadbCredential extends pulumi.CustomResource { } resourceInputs["instanceId"] = args?.instanceId; resourceInputs["projectId"] = args?.projectId; + resourceInputs["rotateWhenChanged"] = args?.rotateWhenChanged; resourceInputs["credentialId"] = undefined /*out*/; resourceInputs["host"] = undefined /*out*/; resourceInputs["hosts"] = undefined /*out*/; @@ -127,6 +133,10 @@ export interface MariadbCredentialState { * STACKIT Project ID to which the instance is associated. */ projectId?: pulumi.Input; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; uri?: pulumi.Input; username?: pulumi.Input; } @@ -143,4 +153,8 @@ export interface MariadbCredentialArgs { * STACKIT Project ID to which the instance is associated. */ projectId: pulumi.Input; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; } diff --git a/sdk/nodejs/mongodbflexUser.ts b/sdk/nodejs/mongodbflexUser.ts index 1ce7831..5131ac5 100644 --- a/sdk/nodejs/mongodbflexUser.ts +++ b/sdk/nodejs/mongodbflexUser.ts @@ -57,6 +57,10 @@ export class MongodbflexUser extends pulumi.CustomResource { * Database access levels for the user. Some of the possible values are: [`read`, `readWrite`, `readWriteAnyDatabase`] */ declare public readonly roles: pulumi.Output; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + declare public readonly rotateWhenChanged: pulumi.Output<{[key: string]: string} | undefined>; declare public /*out*/ readonly uri: pulumi.Output; /** * User ID. @@ -85,6 +89,7 @@ export class MongodbflexUser extends pulumi.CustomResource { resourceInputs["projectId"] = state?.projectId; resourceInputs["region"] = state?.region; resourceInputs["roles"] = state?.roles; + resourceInputs["rotateWhenChanged"] = state?.rotateWhenChanged; resourceInputs["uri"] = state?.uri; resourceInputs["userId"] = state?.userId; resourceInputs["username"] = state?.username; @@ -107,6 +112,7 @@ export class MongodbflexUser extends pulumi.CustomResource { resourceInputs["projectId"] = args?.projectId; resourceInputs["region"] = args?.region; resourceInputs["roles"] = args?.roles; + resourceInputs["rotateWhenChanged"] = args?.rotateWhenChanged; resourceInputs["username"] = args?.username; resourceInputs["host"] = undefined /*out*/; resourceInputs["password"] = undefined /*out*/; @@ -145,6 +151,10 @@ export interface MongodbflexUserState { * Database access levels for the user. Some of the possible values are: [`read`, `readWrite`, `readWriteAnyDatabase`] */ roles?: pulumi.Input[] | undefined>; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; uri?: pulumi.Input; /** * User ID. @@ -174,5 +184,9 @@ export interface MongodbflexUserArgs { * Database access levels for the user. Some of the possible values are: [`read`, `readWrite`, `readWriteAnyDatabase`] */ roles: pulumi.Input[]>; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; username?: pulumi.Input; } diff --git a/sdk/nodejs/objectstorageCredential.ts b/sdk/nodejs/objectstorageCredential.ts index 919afa5..88123ee 100644 --- a/sdk/nodejs/objectstorageCredential.ts +++ b/sdk/nodejs/objectstorageCredential.ts @@ -59,6 +59,10 @@ export class ObjectstorageCredential extends pulumi.CustomResource { * The resource region. If not defined, the provider region is used. */ declare public readonly region: pulumi.Output; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + declare public readonly rotateWhenChanged: pulumi.Output<{[key: string]: string} | undefined>; declare public /*out*/ readonly secretAccessKey: pulumi.Output; /** @@ -81,6 +85,7 @@ export class ObjectstorageCredential extends pulumi.CustomResource { resourceInputs["name"] = state?.name; resourceInputs["projectId"] = state?.projectId; resourceInputs["region"] = state?.region; + resourceInputs["rotateWhenChanged"] = state?.rotateWhenChanged; resourceInputs["secretAccessKey"] = state?.secretAccessKey; } else { const args = argsOrState as ObjectstorageCredentialArgs | undefined; @@ -94,6 +99,7 @@ export class ObjectstorageCredential extends pulumi.CustomResource { resourceInputs["expirationTimestamp"] = args?.expirationTimestamp; resourceInputs["projectId"] = args?.projectId; resourceInputs["region"] = args?.region; + resourceInputs["rotateWhenChanged"] = args?.rotateWhenChanged; resourceInputs["accessKey"] = undefined /*out*/; resourceInputs["credentialId"] = undefined /*out*/; resourceInputs["name"] = undefined /*out*/; @@ -132,6 +138,10 @@ export interface ObjectstorageCredentialState { * The resource region. If not defined, the provider region is used. */ region?: pulumi.Input; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; secretAccessKey?: pulumi.Input; } @@ -155,4 +165,8 @@ export interface ObjectstorageCredentialArgs { * The resource region. If not defined, the provider region is used. */ region?: pulumi.Input; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; } diff --git a/sdk/nodejs/observabilityCredential.ts b/sdk/nodejs/observabilityCredential.ts index 49d0f93..87bbfc2 100644 --- a/sdk/nodejs/observabilityCredential.ts +++ b/sdk/nodejs/observabilityCredential.ts @@ -53,6 +53,10 @@ export class ObservabilityCredential extends pulumi.CustomResource { * STACKIT project ID to which the credential is associated. */ declare public readonly projectId: pulumi.Output; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + declare public readonly rotateWhenChanged: pulumi.Output<{[key: string]: string} | undefined>; /** * Credential username */ @@ -75,6 +79,7 @@ export class ObservabilityCredential extends pulumi.CustomResource { resourceInputs["instanceId"] = state?.instanceId; resourceInputs["password"] = state?.password; resourceInputs["projectId"] = state?.projectId; + resourceInputs["rotateWhenChanged"] = state?.rotateWhenChanged; resourceInputs["username"] = state?.username; } else { const args = argsOrState as ObservabilityCredentialArgs | undefined; @@ -87,6 +92,7 @@ export class ObservabilityCredential extends pulumi.CustomResource { resourceInputs["description"] = args?.description; resourceInputs["instanceId"] = args?.instanceId; resourceInputs["projectId"] = args?.projectId; + resourceInputs["rotateWhenChanged"] = args?.rotateWhenChanged; resourceInputs["password"] = undefined /*out*/; resourceInputs["username"] = undefined /*out*/; } @@ -117,6 +123,10 @@ export interface ObservabilityCredentialState { * STACKIT project ID to which the credential is associated. */ projectId?: pulumi.Input; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; /** * Credential username */ @@ -139,4 +149,8 @@ export interface ObservabilityCredentialArgs { * STACKIT project ID to which the credential is associated. */ projectId: pulumi.Input; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; } diff --git a/sdk/nodejs/opensearchCredential.ts b/sdk/nodejs/opensearchCredential.ts index d1fbaee..1109b8f 100644 --- a/sdk/nodejs/opensearchCredential.ts +++ b/sdk/nodejs/opensearchCredential.ts @@ -53,6 +53,10 @@ export class OpensearchCredential extends pulumi.CustomResource { * STACKIT Project ID to which the instance is associated. */ declare public readonly projectId: pulumi.Output; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + declare public readonly rotateWhenChanged: pulumi.Output<{[key: string]: string} | undefined>; declare public /*out*/ readonly scheme: pulumi.Output; declare public /*out*/ readonly uri: pulumi.Output; declare public /*out*/ readonly username: pulumi.Output; @@ -77,6 +81,7 @@ export class OpensearchCredential extends pulumi.CustomResource { resourceInputs["password"] = state?.password; resourceInputs["port"] = state?.port; resourceInputs["projectId"] = state?.projectId; + resourceInputs["rotateWhenChanged"] = state?.rotateWhenChanged; resourceInputs["scheme"] = state?.scheme; resourceInputs["uri"] = state?.uri; resourceInputs["username"] = state?.username; @@ -90,6 +95,7 @@ export class OpensearchCredential extends pulumi.CustomResource { } resourceInputs["instanceId"] = args?.instanceId; resourceInputs["projectId"] = args?.projectId; + resourceInputs["rotateWhenChanged"] = args?.rotateWhenChanged; resourceInputs["credentialId"] = undefined /*out*/; resourceInputs["host"] = undefined /*out*/; resourceInputs["hosts"] = undefined /*out*/; @@ -126,6 +132,10 @@ export interface OpensearchCredentialState { * STACKIT Project ID to which the instance is associated. */ projectId?: pulumi.Input; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; scheme?: pulumi.Input; uri?: pulumi.Input; username?: pulumi.Input; @@ -143,4 +153,8 @@ export interface OpensearchCredentialArgs { * STACKIT Project ID to which the instance is associated. */ projectId: pulumi.Input; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; } diff --git a/sdk/nodejs/postgresflexUser.ts b/sdk/nodejs/postgresflexUser.ts index 4e021b0..ad9c524 100644 --- a/sdk/nodejs/postgresflexUser.ts +++ b/sdk/nodejs/postgresflexUser.ts @@ -56,6 +56,10 @@ export class PostgresflexUser extends pulumi.CustomResource { * Database access levels for the user. */ declare public readonly roles: pulumi.Output; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + declare public readonly rotateWhenChanged: pulumi.Output<{[key: string]: string} | undefined>; declare public /*out*/ readonly uri: pulumi.Output; /** * User ID. @@ -83,6 +87,7 @@ export class PostgresflexUser extends pulumi.CustomResource { resourceInputs["projectId"] = state?.projectId; resourceInputs["region"] = state?.region; resourceInputs["roles"] = state?.roles; + resourceInputs["rotateWhenChanged"] = state?.rotateWhenChanged; resourceInputs["uri"] = state?.uri; resourceInputs["userId"] = state?.userId; resourceInputs["username"] = state?.username; @@ -104,6 +109,7 @@ export class PostgresflexUser extends pulumi.CustomResource { resourceInputs["projectId"] = args?.projectId; resourceInputs["region"] = args?.region; resourceInputs["roles"] = args?.roles; + resourceInputs["rotateWhenChanged"] = args?.rotateWhenChanged; resourceInputs["username"] = args?.username; resourceInputs["host"] = undefined /*out*/; resourceInputs["password"] = undefined /*out*/; @@ -141,6 +147,10 @@ export interface PostgresflexUserState { * Database access levels for the user. */ roles?: pulumi.Input[] | undefined>; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; uri?: pulumi.Input; /** * User ID. @@ -169,5 +179,9 @@ export interface PostgresflexUserArgs { * Database access levels for the user. */ roles: pulumi.Input[]>; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; username: pulumi.Input; } diff --git a/sdk/nodejs/provider.ts b/sdk/nodejs/provider.ts index a0e6213..bdcbfc8 100644 --- a/sdk/nodejs/provider.ts +++ b/sdk/nodejs/provider.ts @@ -53,6 +53,10 @@ export class Provider extends pulumi.ProviderResource { * Custom endpoint for the DNS service */ declare public readonly dnsCustomEndpoint: pulumi.Output; + /** + * Custom endpoint for the Dremio service + */ + declare public readonly dremioCustomEndpoint: pulumi.Output; /** * Custom endpoint for the Edge Cloud service */ @@ -209,10 +213,22 @@ export class Provider extends pulumi.ProviderResource { * Custom endpoint for the SQL Server Flex service */ declare public readonly sqlserverflexCustomEndpoint: pulumi.Output; + /** + * Custom endpoint for the Telemetry Link service + */ + declare public readonly telemetrylinkCustomEndpoint: pulumi.Output; + /** + * Custom endpoint for the Telemetry Router service + */ + declare public readonly telemetryrouterCustomEndpoint: pulumi.Output; /** * Custom endpoint for the token API, which is used to request access tokens when using the key flow */ declare public readonly tokenCustomEndpoint: pulumi.Output; + /** + * Custom endpoint for the VPN service + */ + declare public readonly vpnCustomEndpoint: pulumi.Output; /** * Create a Provider resource with the given unique name, arguments, and options. @@ -232,6 +248,7 @@ export class Provider extends pulumi.ProviderResource { resourceInputs["credentialsPath"] = args?.credentialsPath; resourceInputs["defaultRegion"] = args?.defaultRegion; resourceInputs["dnsCustomEndpoint"] = args?.dnsCustomEndpoint; + resourceInputs["dremioCustomEndpoint"] = args?.dremioCustomEndpoint; resourceInputs["edgecloudCustomEndpoint"] = args?.edgecloudCustomEndpoint; resourceInputs["enableBetaResources"] = pulumi.output(args?.enableBetaResources).apply(JSON.stringify); resourceInputs["experiments"] = pulumi.output(args?.experiments).apply(JSON.stringify); @@ -272,8 +289,11 @@ export class Provider extends pulumi.ProviderResource { resourceInputs["sfsCustomEndpoint"] = args?.sfsCustomEndpoint; resourceInputs["skeCustomEndpoint"] = args?.skeCustomEndpoint; resourceInputs["sqlserverflexCustomEndpoint"] = args?.sqlserverflexCustomEndpoint; + resourceInputs["telemetrylinkCustomEndpoint"] = args?.telemetrylinkCustomEndpoint; + resourceInputs["telemetryrouterCustomEndpoint"] = args?.telemetryrouterCustomEndpoint; resourceInputs["tokenCustomEndpoint"] = args?.tokenCustomEndpoint; resourceInputs["useOidc"] = pulumi.output(args?.useOidc).apply(JSON.stringify); + resourceInputs["vpnCustomEndpoint"] = args?.vpnCustomEndpoint; } opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); super(Provider.__pulumiType, name, resourceInputs, opts); @@ -321,6 +341,10 @@ export interface ProviderArgs { * Custom endpoint for the DNS service */ dnsCustomEndpoint?: pulumi.Input; + /** + * Custom endpoint for the Dremio service + */ + dremioCustomEndpoint?: pulumi.Input; /** * Custom endpoint for the Edge Cloud service */ @@ -330,7 +354,7 @@ export interface ProviderArgs { */ enableBetaResources?: pulumi.Input; /** - * Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network + * Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: dremio, iam, routing-tables, network */ experiments?: pulumi.Input[] | undefined>; /** @@ -485,6 +509,14 @@ export interface ProviderArgs { * Custom endpoint for the SQL Server Flex service */ sqlserverflexCustomEndpoint?: pulumi.Input; + /** + * Custom endpoint for the Telemetry Link service + */ + telemetrylinkCustomEndpoint?: pulumi.Input; + /** + * Custom endpoint for the Telemetry Router service + */ + telemetryrouterCustomEndpoint?: pulumi.Input; /** * Custom endpoint for the token API, which is used to request access tokens when using the key flow */ @@ -493,6 +525,10 @@ export interface ProviderArgs { * Enables OIDC for Authentication. This can also be sourced from the `STACKIT_USE_OIDC` Environment Variable. Defaults to `false`. */ useOidc?: pulumi.Input; + /** + * Custom endpoint for the VPN service + */ + vpnCustomEndpoint?: pulumi.Input; } export namespace Provider { diff --git a/sdk/nodejs/rabbitmqCredential.ts b/sdk/nodejs/rabbitmqCredential.ts index 46a7a6c..6dbcbbf 100644 --- a/sdk/nodejs/rabbitmqCredential.ts +++ b/sdk/nodejs/rabbitmqCredential.ts @@ -56,6 +56,10 @@ export class RabbitmqCredential extends pulumi.CustomResource { * STACKIT Project ID to which the instance is associated. */ declare public readonly projectId: pulumi.Output; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + declare public readonly rotateWhenChanged: pulumi.Output<{[key: string]: string} | undefined>; declare public /*out*/ readonly uri: pulumi.Output; declare public /*out*/ readonly uris: pulumi.Output; declare public /*out*/ readonly username: pulumi.Output; @@ -83,6 +87,7 @@ export class RabbitmqCredential extends pulumi.CustomResource { resourceInputs["password"] = state?.password; resourceInputs["port"] = state?.port; resourceInputs["projectId"] = state?.projectId; + resourceInputs["rotateWhenChanged"] = state?.rotateWhenChanged; resourceInputs["uri"] = state?.uri; resourceInputs["uris"] = state?.uris; resourceInputs["username"] = state?.username; @@ -96,6 +101,7 @@ export class RabbitmqCredential extends pulumi.CustomResource { } resourceInputs["instanceId"] = args?.instanceId; resourceInputs["projectId"] = args?.projectId; + resourceInputs["rotateWhenChanged"] = args?.rotateWhenChanged; resourceInputs["credentialId"] = undefined /*out*/; resourceInputs["host"] = undefined /*out*/; resourceInputs["hosts"] = undefined /*out*/; @@ -138,6 +144,10 @@ export interface RabbitmqCredentialState { * STACKIT Project ID to which the instance is associated. */ projectId?: pulumi.Input; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; uri?: pulumi.Input; uris?: pulumi.Input[] | undefined>; username?: pulumi.Input; @@ -155,4 +165,8 @@ export interface RabbitmqCredentialArgs { * STACKIT Project ID to which the instance is associated. */ projectId: pulumi.Input; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; } diff --git a/sdk/nodejs/redisCredential.ts b/sdk/nodejs/redisCredential.ts index 26849d6..6a1219e 100644 --- a/sdk/nodejs/redisCredential.ts +++ b/sdk/nodejs/redisCredential.ts @@ -54,6 +54,10 @@ export class RedisCredential extends pulumi.CustomResource { * STACKIT Project ID to which the instance is associated. */ declare public readonly projectId: pulumi.Output; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + declare public readonly rotateWhenChanged: pulumi.Output<{[key: string]: string} | undefined>; /** * Connection URI. */ @@ -81,6 +85,7 @@ export class RedisCredential extends pulumi.CustomResource { resourceInputs["password"] = state?.password; resourceInputs["port"] = state?.port; resourceInputs["projectId"] = state?.projectId; + resourceInputs["rotateWhenChanged"] = state?.rotateWhenChanged; resourceInputs["uri"] = state?.uri; resourceInputs["username"] = state?.username; } else { @@ -93,6 +98,7 @@ export class RedisCredential extends pulumi.CustomResource { } resourceInputs["instanceId"] = args?.instanceId; resourceInputs["projectId"] = args?.projectId; + resourceInputs["rotateWhenChanged"] = args?.rotateWhenChanged; resourceInputs["credentialId"] = undefined /*out*/; resourceInputs["host"] = undefined /*out*/; resourceInputs["hosts"] = undefined /*out*/; @@ -130,6 +136,10 @@ export interface RedisCredentialState { * STACKIT Project ID to which the instance is associated. */ projectId?: pulumi.Input; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; /** * Connection URI. */ @@ -149,4 +159,8 @@ export interface RedisCredentialArgs { * STACKIT Project ID to which the instance is associated. */ projectId: pulumi.Input; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; } diff --git a/sdk/nodejs/secretsmanagerUser.ts b/sdk/nodejs/secretsmanagerUser.ts index 3e8183b..41a025a 100644 --- a/sdk/nodejs/secretsmanagerUser.ts +++ b/sdk/nodejs/secretsmanagerUser.ts @@ -53,6 +53,10 @@ export class SecretsmanagerUser extends pulumi.CustomResource { * STACKIT Project ID to which the instance is associated. */ declare public readonly projectId: pulumi.Output; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + declare public readonly rotateWhenChanged: pulumi.Output<{[key: string]: string} | undefined>; /** * The user's ID. */ @@ -83,6 +87,7 @@ export class SecretsmanagerUser extends pulumi.CustomResource { resourceInputs["instanceId"] = state?.instanceId; resourceInputs["password"] = state?.password; resourceInputs["projectId"] = state?.projectId; + resourceInputs["rotateWhenChanged"] = state?.rotateWhenChanged; resourceInputs["userId"] = state?.userId; resourceInputs["username"] = state?.username; resourceInputs["writeEnabled"] = state?.writeEnabled; @@ -103,6 +108,7 @@ export class SecretsmanagerUser extends pulumi.CustomResource { resourceInputs["description"] = args?.description; resourceInputs["instanceId"] = args?.instanceId; resourceInputs["projectId"] = args?.projectId; + resourceInputs["rotateWhenChanged"] = args?.rotateWhenChanged; resourceInputs["writeEnabled"] = args?.writeEnabled; resourceInputs["password"] = undefined /*out*/; resourceInputs["userId"] = undefined /*out*/; @@ -135,6 +141,10 @@ export interface SecretsmanagerUserState { * STACKIT Project ID to which the instance is associated. */ projectId?: pulumi.Input; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; /** * The user's ID. */ @@ -165,6 +175,10 @@ export interface SecretsmanagerUserArgs { * STACKIT Project ID to which the instance is associated. */ projectId: pulumi.Input; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; /** * If true, the user has writeaccess to the secrets engine. */ diff --git a/sdk/nodejs/serviceAccount.ts b/sdk/nodejs/serviceAccount.ts index dd08b91..5cd324f 100644 --- a/sdk/nodejs/serviceAccount.ts +++ b/sdk/nodejs/serviceAccount.ts @@ -5,7 +5,7 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; /** - * Service account resource schema. + * Manages a STACKIT service account in a project. * * ## Example Usage */ diff --git a/sdk/nodejs/serviceAccountFederatedIdentityProvider.ts b/sdk/nodejs/serviceAccountFederatedIdentityProvider.ts index 3f85ca2..23c24f3 100644 --- a/sdk/nodejs/serviceAccountFederatedIdentityProvider.ts +++ b/sdk/nodejs/serviceAccountFederatedIdentityProvider.ts @@ -7,7 +7,7 @@ import * as outputs from "./types/output"; import * as utilities from "./utilities"; /** - * Service account federated identity provider schema. + * Manages a federated identity provider for a STACKIT service account to enable workload identity federation. * ## Example Usage * * ### Create a federated identity provider diff --git a/sdk/nodejs/serviceAccountKey.ts b/sdk/nodejs/serviceAccountKey.ts index 1fd1108..6e7bff3 100644 --- a/sdk/nodejs/serviceAccountKey.ts +++ b/sdk/nodejs/serviceAccountKey.ts @@ -5,7 +5,7 @@ import * as pulumi from "@pulumi/pulumi"; import * as utilities from "./utilities"; /** - * Service account key schema. + * Creates and manages a key for a STACKIT service account. * ## Example Usage * * ### Automatically rotate service account keys diff --git a/sdk/nodejs/sfsExportPolicy.ts b/sdk/nodejs/sfsExportPolicy.ts index dc10eef..26555ea 100644 --- a/sdk/nodejs/sfsExportPolicy.ts +++ b/sdk/nodejs/sfsExportPolicy.ts @@ -41,6 +41,10 @@ export class SfsExportPolicy extends pulumi.CustomResource { return obj['__pulumiType'] === SfsExportPolicy.__pulumiType; } + /** + * Labels are key-value string pairs which can be attached to the resource. + */ + declare public readonly labels: pulumi.Output<{[key: string]: string} | undefined>; /** * Name of the export policy. */ @@ -72,6 +76,7 @@ export class SfsExportPolicy extends pulumi.CustomResource { opts = opts || {}; if (opts.id) { const state = argsOrState as SfsExportPolicyState | undefined; + resourceInputs["labels"] = state?.labels; resourceInputs["name"] = state?.name; resourceInputs["policyId"] = state?.policyId; resourceInputs["projectId"] = state?.projectId; @@ -82,6 +87,7 @@ export class SfsExportPolicy extends pulumi.CustomResource { if (args?.projectId === undefined && !opts.urn) { throw new Error("Missing required property 'projectId'"); } + resourceInputs["labels"] = args?.labels; resourceInputs["name"] = args?.name; resourceInputs["projectId"] = args?.projectId; resourceInputs["region"] = args?.region; @@ -97,6 +103,10 @@ export class SfsExportPolicy extends pulumi.CustomResource { * Input properties used for looking up and filtering SfsExportPolicy resources. */ export interface SfsExportPolicyState { + /** + * Labels are key-value string pairs which can be attached to the resource. + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; /** * Name of the export policy. */ @@ -120,6 +130,10 @@ export interface SfsExportPolicyState { * The set of arguments for constructing a SfsExportPolicy resource. */ export interface SfsExportPolicyArgs { + /** + * Labels are key-value string pairs which can be attached to the resource. + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; /** * Name of the export policy. */ diff --git a/sdk/nodejs/sfsResourcePool.ts b/sdk/nodejs/sfsResourcePool.ts index efc668e..7976c80 100644 --- a/sdk/nodejs/sfsResourcePool.ts +++ b/sdk/nodejs/sfsResourcePool.ts @@ -49,6 +49,10 @@ export class SfsResourcePool extends pulumi.CustomResource { * List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). */ declare public readonly ipAcls: pulumi.Output; + /** + * Labels are key-value string pairs which can be attached to the resource. + */ + declare public readonly labels: pulumi.Output<{[key: string]: string} | undefined>; /** * Name of the resource pool. */ @@ -97,6 +101,7 @@ export class SfsResourcePool extends pulumi.CustomResource { const state = argsOrState as SfsResourcePoolState | undefined; resourceInputs["availabilityZone"] = state?.availabilityZone; resourceInputs["ipAcls"] = state?.ipAcls; + resourceInputs["labels"] = state?.labels; resourceInputs["name"] = state?.name; resourceInputs["performanceClass"] = state?.performanceClass; resourceInputs["projectId"] = state?.projectId; @@ -124,6 +129,7 @@ export class SfsResourcePool extends pulumi.CustomResource { } resourceInputs["availabilityZone"] = args?.availabilityZone; resourceInputs["ipAcls"] = args?.ipAcls; + resourceInputs["labels"] = args?.labels; resourceInputs["name"] = args?.name; resourceInputs["performanceClass"] = args?.performanceClass; resourceInputs["projectId"] = args?.projectId; @@ -150,6 +156,10 @@ export interface SfsResourcePoolState { * List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). */ ipAcls?: pulumi.Input[] | undefined>; + /** + * Labels are key-value string pairs which can be attached to the resource. + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; /** * Name of the resource pool. */ @@ -196,6 +206,10 @@ export interface SfsResourcePoolArgs { * List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). */ ipAcls: pulumi.Input[]>; + /** + * Labels are key-value string pairs which can be attached to the resource. + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; /** * Name of the resource pool. */ diff --git a/sdk/nodejs/sfsShare.ts b/sdk/nodejs/sfsShare.ts index 60792b3..bae0d02 100644 --- a/sdk/nodejs/sfsShare.ts +++ b/sdk/nodejs/sfsShare.ts @@ -46,6 +46,10 @@ export class SfsShare extends pulumi.CustomResource { * You can also assign a Share Export Policy after creating the Share */ declare public readonly exportPolicy: pulumi.Output; + /** + * Labels are key-value string pairs which can be attached to the resource. + */ + declare public readonly labels: pulumi.Output<{[key: string]: string} | undefined>; /** * Mount path of the Share, used to mount the Share */ @@ -91,6 +95,7 @@ export class SfsShare extends pulumi.CustomResource { if (opts.id) { const state = argsOrState as SfsShareState | undefined; resourceInputs["exportPolicy"] = state?.exportPolicy; + resourceInputs["labels"] = state?.labels; resourceInputs["mountPath"] = state?.mountPath; resourceInputs["name"] = state?.name; resourceInputs["projectId"] = state?.projectId; @@ -110,6 +115,7 @@ export class SfsShare extends pulumi.CustomResource { throw new Error("Missing required property 'spaceHardLimitGigabytes'"); } resourceInputs["exportPolicy"] = args?.exportPolicy; + resourceInputs["labels"] = args?.labels; resourceInputs["name"] = args?.name; resourceInputs["projectId"] = args?.projectId; resourceInputs["region"] = args?.region; @@ -134,6 +140,10 @@ export interface SfsShareState { * You can also assign a Share Export Policy after creating the Share */ exportPolicy?: pulumi.Input; + /** + * Labels are key-value string pairs which can be attached to the resource. + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; /** * Mount path of the Share, used to mount the Share */ @@ -177,6 +187,10 @@ export interface SfsShareArgs { * You can also assign a Share Export Policy after creating the Share */ exportPolicy?: pulumi.Input; + /** + * Labels are key-value string pairs which can be attached to the resource. + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; /** * Name of the share. */ diff --git a/sdk/nodejs/sqlserverflexUser.ts b/sdk/nodejs/sqlserverflexUser.ts index cce1b41..55e6714 100644 --- a/sdk/nodejs/sqlserverflexUser.ts +++ b/sdk/nodejs/sqlserverflexUser.ts @@ -56,6 +56,10 @@ export class SqlserverflexUser extends pulumi.CustomResource { * Database access levels for the user. The values for the default roles are: `##STACKIT_DatabaseManager##`, `##STACKIT_LoginManager##`, `##STACKIT_ProcessManager##`, `##STACKIT_ServerManager##`, `##STACKIT_SQLAgentManager##`, `##STACKIT_SQLAgentUser##` */ declare public readonly roles: pulumi.Output; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + declare public readonly rotateWhenChanged: pulumi.Output<{[key: string]: string} | undefined>; /** * User ID. */ @@ -85,6 +89,7 @@ export class SqlserverflexUser extends pulumi.CustomResource { resourceInputs["projectId"] = state?.projectId; resourceInputs["region"] = state?.region; resourceInputs["roles"] = state?.roles; + resourceInputs["rotateWhenChanged"] = state?.rotateWhenChanged; resourceInputs["userId"] = state?.userId; resourceInputs["username"] = state?.username; } else { @@ -105,6 +110,7 @@ export class SqlserverflexUser extends pulumi.CustomResource { resourceInputs["projectId"] = args?.projectId; resourceInputs["region"] = args?.region; resourceInputs["roles"] = args?.roles; + resourceInputs["rotateWhenChanged"] = args?.rotateWhenChanged; resourceInputs["username"] = args?.username; resourceInputs["host"] = undefined /*out*/; resourceInputs["password"] = undefined /*out*/; @@ -141,6 +147,10 @@ export interface SqlserverflexUserState { * Database access levels for the user. The values for the default roles are: `##STACKIT_DatabaseManager##`, `##STACKIT_LoginManager##`, `##STACKIT_ProcessManager##`, `##STACKIT_ServerManager##`, `##STACKIT_SQLAgentManager##`, `##STACKIT_SQLAgentUser##` */ roles?: pulumi.Input[] | undefined>; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; /** * User ID. */ @@ -168,6 +178,10 @@ export interface SqlserverflexUserArgs { * Database access levels for the user. The values for the default roles are: `##STACKIT_DatabaseManager##`, `##STACKIT_LoginManager##`, `##STACKIT_ProcessManager##`, `##STACKIT_ServerManager##`, `##STACKIT_SQLAgentManager##`, `##STACKIT_SQLAgentUser##` */ roles: pulumi.Input[]>; + /** + * A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + */ + rotateWhenChanged?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; /** * Username of the SQLServer Flex instance. */ diff --git a/sdk/nodejs/telemetrylink.ts b/sdk/nodejs/telemetrylink.ts new file mode 100644 index 0000000..82093ee --- /dev/null +++ b/sdk/nodejs/telemetrylink.ts @@ -0,0 +1,204 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * TelemetryLink instance 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 Telemetrylink extends pulumi.CustomResource { + /** + * Get an existing Telemetrylink 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?: TelemetrylinkState, opts?: pulumi.CustomResourceOptions): Telemetrylink { + return new Telemetrylink(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/telemetrylink:Telemetrylink'; + + /** + * Returns true if the given object is an instance of Telemetrylink. 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 Telemetrylink { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === Telemetrylink.__pulumiType; + } + + /** + * The access token of the Telemetry Router instance. + */ + declare public readonly accessToken: pulumi.Output; + /** + * The time the Telemetry Link was created. + */ + declare public /*out*/ readonly createTime: pulumi.Output; + /** + * The description of the Telemetry Link resource. + */ + declare public readonly description: pulumi.Output; + /** + * The displayed name of the Telemetry Link resource. + */ + declare public readonly displayName: pulumi.Output; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + /** + * STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + */ + declare public readonly resourceId: pulumi.Output; + /** + * The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + */ + declare public readonly resourceType: pulumi.Output; + /** + * The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. + */ + declare public /*out*/ readonly status: pulumi.Output; + /** + * The Telemetry Router ID. + */ + declare public readonly telemetryRouterId: pulumi.Output; + + /** + * Create a Telemetrylink 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: TelemetrylinkArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: TelemetrylinkArgs | TelemetrylinkState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as TelemetrylinkState | undefined; + resourceInputs["accessToken"] = state?.accessToken; + resourceInputs["createTime"] = state?.createTime; + resourceInputs["description"] = state?.description; + resourceInputs["displayName"] = state?.displayName; + resourceInputs["region"] = state?.region; + resourceInputs["resourceId"] = state?.resourceId; + resourceInputs["resourceType"] = state?.resourceType; + resourceInputs["status"] = state?.status; + resourceInputs["telemetryRouterId"] = state?.telemetryRouterId; + } else { + const args = argsOrState as TelemetrylinkArgs | undefined; + if (args?.displayName === undefined && !opts.urn) { + throw new Error("Missing required property 'displayName'"); + } + if (args?.resourceId === undefined && !opts.urn) { + throw new Error("Missing required property 'resourceId'"); + } + if (args?.resourceType === undefined && !opts.urn) { + throw new Error("Missing required property 'resourceType'"); + } + if (args?.telemetryRouterId === undefined && !opts.urn) { + throw new Error("Missing required property 'telemetryRouterId'"); + } + resourceInputs["accessToken"] = args?.accessToken ? pulumi.secret(args.accessToken) : undefined; + resourceInputs["description"] = args?.description; + resourceInputs["displayName"] = args?.displayName; + resourceInputs["region"] = args?.region; + resourceInputs["resourceId"] = args?.resourceId; + resourceInputs["resourceType"] = args?.resourceType; + resourceInputs["telemetryRouterId"] = args?.telemetryRouterId; + resourceInputs["createTime"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["accessToken"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(Telemetrylink.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering Telemetrylink resources. + */ +export interface TelemetrylinkState { + /** + * The access token of the Telemetry Router instance. + */ + accessToken?: pulumi.Input; + /** + * The time the Telemetry Link was created. + */ + createTime?: pulumi.Input; + /** + * The description of the Telemetry Link resource. + */ + description?: pulumi.Input; + /** + * The displayed name of the Telemetry Link resource. + */ + displayName?: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + */ + resourceId?: pulumi.Input; + /** + * The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + */ + resourceType?: pulumi.Input; + /** + * The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. + */ + status?: pulumi.Input; + /** + * The Telemetry Router ID. + */ + telemetryRouterId?: pulumi.Input; +} + +/** + * The set of arguments for constructing a Telemetrylink resource. + */ +export interface TelemetrylinkArgs { + /** + * The access token of the Telemetry Router instance. + */ + accessToken?: pulumi.Input; + /** + * The description of the Telemetry Link resource. + */ + description?: pulumi.Input; + /** + * The displayed name of the Telemetry Link resource. + */ + displayName: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + */ + resourceId: pulumi.Input; + /** + * The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + */ + resourceType: pulumi.Input; + /** + * The Telemetry Router ID. + */ + telemetryRouterId: pulumi.Input; +} diff --git a/sdk/nodejs/telemetryrouterAccessToken.ts b/sdk/nodejs/telemetryrouterAccessToken.ts new file mode 100644 index 0000000..da54ee0 --- /dev/null +++ b/sdk/nodejs/telemetryrouterAccessToken.ts @@ -0,0 +1,217 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as utilities from "./utilities"; + +/** + * TelemetryRouter access token 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 TelemetryrouterAccessToken extends pulumi.CustomResource { + /** + * Get an existing TelemetryrouterAccessToken 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?: TelemetryrouterAccessTokenState, opts?: pulumi.CustomResourceOptions): TelemetryrouterAccessToken { + return new TelemetryrouterAccessToken(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/telemetryrouterAccessToken:TelemetryrouterAccessToken'; + + /** + * Returns true if the given object is an instance of TelemetryrouterAccessToken. 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 TelemetryrouterAccessToken { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === TelemetryrouterAccessToken.__pulumiType; + } + + /** + * The generated access token + */ + declare public /*out*/ readonly accessToken: pulumi.Output; + /** + * The access token ID + */ + declare public /*out*/ readonly accessTokenId: pulumi.Output; + /** + * The user who created the access token + */ + declare public /*out*/ readonly creatorId: pulumi.Output; + /** + * The description of the access token + */ + declare public readonly description: pulumi.Output; + /** + * The displayed name of the access token + */ + declare public readonly displayName: pulumi.Output; + /** + * The date and time an access token will expire at (inclusively) + */ + declare public /*out*/ readonly expirationTime: pulumi.Output; + /** + * The TelemetryRouter instance ID associated with the access token + */ + declare public readonly instanceId: pulumi.Output; + /** + * STACKIT project ID associated with the TelemetryRouter access token + */ + declare public readonly projectId: pulumi.Output; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + /** + * The status of the access token. Possible values are: `active`, `expired`, `deleting`. + */ + declare public /*out*/ readonly status: pulumi.Output; + /** + * The time-to-live (TTL) in days for the access token. If not set, token will not expire + */ + declare public readonly ttl: pulumi.Output; + + /** + * Create a TelemetryrouterAccessToken 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: TelemetryrouterAccessTokenArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: TelemetryrouterAccessTokenArgs | TelemetryrouterAccessTokenState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as TelemetryrouterAccessTokenState | undefined; + resourceInputs["accessToken"] = state?.accessToken; + resourceInputs["accessTokenId"] = state?.accessTokenId; + resourceInputs["creatorId"] = state?.creatorId; + resourceInputs["description"] = state?.description; + resourceInputs["displayName"] = state?.displayName; + resourceInputs["expirationTime"] = state?.expirationTime; + resourceInputs["instanceId"] = state?.instanceId; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; + resourceInputs["status"] = state?.status; + resourceInputs["ttl"] = state?.ttl; + } else { + const args = argsOrState as TelemetryrouterAccessTokenArgs | undefined; + if (args?.displayName === undefined && !opts.urn) { + throw new Error("Missing required property 'displayName'"); + } + if (args?.instanceId === undefined && !opts.urn) { + throw new Error("Missing required property 'instanceId'"); + } + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + resourceInputs["description"] = args?.description; + resourceInputs["displayName"] = args?.displayName; + resourceInputs["instanceId"] = args?.instanceId; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + resourceInputs["ttl"] = args?.ttl; + resourceInputs["accessToken"] = undefined /*out*/; + resourceInputs["accessTokenId"] = undefined /*out*/; + resourceInputs["creatorId"] = undefined /*out*/; + resourceInputs["expirationTime"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + const secretOpts = { additionalSecretOutputs: ["accessToken"] }; + opts = pulumi.mergeOptions(opts, secretOpts); + super(TelemetryrouterAccessToken.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering TelemetryrouterAccessToken resources. + */ +export interface TelemetryrouterAccessTokenState { + /** + * The generated access token + */ + accessToken?: pulumi.Input; + /** + * The access token ID + */ + accessTokenId?: pulumi.Input; + /** + * The user who created the access token + */ + creatorId?: pulumi.Input; + /** + * The description of the access token + */ + description?: pulumi.Input; + /** + * The displayed name of the access token + */ + displayName?: pulumi.Input; + /** + * The date and time an access token will expire at (inclusively) + */ + expirationTime?: pulumi.Input; + /** + * The TelemetryRouter instance ID associated with the access token + */ + instanceId?: pulumi.Input; + /** + * STACKIT project ID associated with the TelemetryRouter access token + */ + projectId?: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * The status of the access token. Possible values are: `active`, `expired`, `deleting`. + */ + status?: pulumi.Input; + /** + * The time-to-live (TTL) in days for the access token. If not set, token will not expire + */ + ttl?: pulumi.Input; +} + +/** + * The set of arguments for constructing a TelemetryrouterAccessToken resource. + */ +export interface TelemetryrouterAccessTokenArgs { + /** + * The description of the access token + */ + description?: pulumi.Input; + /** + * The displayed name of the access token + */ + displayName: pulumi.Input; + /** + * The TelemetryRouter instance ID associated with the access token + */ + instanceId: pulumi.Input; + /** + * STACKIT project ID associated with the TelemetryRouter access token + */ + projectId: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * The time-to-live (TTL) in days for the access token. If not set, token will not expire + */ + ttl?: pulumi.Input; +} diff --git a/sdk/nodejs/telemetryrouterDestination.ts b/sdk/nodejs/telemetryrouterDestination.ts new file mode 100644 index 0000000..806ab2e --- /dev/null +++ b/sdk/nodejs/telemetryrouterDestination.ts @@ -0,0 +1,210 @@ +// *** 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"; + +/** + * TelemetryRouter destination 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 TelemetryrouterDestination extends pulumi.CustomResource { + /** + * Get an existing TelemetryrouterDestination 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?: TelemetryrouterDestinationState, opts?: pulumi.CustomResourceOptions): TelemetryrouterDestination { + return new TelemetryrouterDestination(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/telemetryrouterDestination:TelemetryrouterDestination'; + + /** + * Returns true if the given object is an instance of TelemetryrouterDestination. 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 TelemetryrouterDestination { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === TelemetryrouterDestination.__pulumiType; + } + + /** + * The configuration of the TelemetryRouter destination + */ + declare public readonly config: pulumi.Output; + /** + * The date and time the creation of the TelemetryRouter destination was initiated + */ + declare public /*out*/ readonly creationTime: pulumi.Output; + /** + * The TelemetryRouter destination's credential type + */ + declare public /*out*/ readonly credentialType: pulumi.Output; + /** + * The description of the TelemetryRouter destination + */ + declare public readonly description: pulumi.Output; + /** + * The TelemetryRouter destination ID + */ + declare public /*out*/ readonly destinationId: pulumi.Output; + /** + * The displayed name of the TelemetryRouter destination + */ + declare public readonly displayName: pulumi.Output; + /** + * The TelemetryRouter instance ID + */ + declare public readonly instanceId: pulumi.Output; + /** + * STACKIT project ID associated with the TelemetryRouter instance + */ + declare public readonly projectId: pulumi.Output; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + /** + * The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. + */ + declare public /*out*/ readonly status: pulumi.Output; + + /** + * Create a TelemetryrouterDestination 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: TelemetryrouterDestinationArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: TelemetryrouterDestinationArgs | TelemetryrouterDestinationState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as TelemetryrouterDestinationState | undefined; + resourceInputs["config"] = state?.config; + resourceInputs["creationTime"] = state?.creationTime; + resourceInputs["credentialType"] = state?.credentialType; + resourceInputs["description"] = state?.description; + resourceInputs["destinationId"] = state?.destinationId; + resourceInputs["displayName"] = state?.displayName; + resourceInputs["instanceId"] = state?.instanceId; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; + resourceInputs["status"] = state?.status; + } else { + const args = argsOrState as TelemetryrouterDestinationArgs | undefined; + if (args?.config === undefined && !opts.urn) { + throw new Error("Missing required property 'config'"); + } + if (args?.displayName === undefined && !opts.urn) { + throw new Error("Missing required property 'displayName'"); + } + if (args?.instanceId === undefined && !opts.urn) { + throw new Error("Missing required property 'instanceId'"); + } + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + resourceInputs["config"] = args?.config; + resourceInputs["description"] = args?.description; + resourceInputs["displayName"] = args?.displayName; + resourceInputs["instanceId"] = args?.instanceId; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + resourceInputs["creationTime"] = undefined /*out*/; + resourceInputs["credentialType"] = undefined /*out*/; + resourceInputs["destinationId"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(TelemetryrouterDestination.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering TelemetryrouterDestination resources. + */ +export interface TelemetryrouterDestinationState { + /** + * The configuration of the TelemetryRouter destination + */ + config?: pulumi.Input; + /** + * The date and time the creation of the TelemetryRouter destination was initiated + */ + creationTime?: pulumi.Input; + /** + * The TelemetryRouter destination's credential type + */ + credentialType?: pulumi.Input; + /** + * The description of the TelemetryRouter destination + */ + description?: pulumi.Input; + /** + * The TelemetryRouter destination ID + */ + destinationId?: pulumi.Input; + /** + * The displayed name of the TelemetryRouter destination + */ + displayName?: pulumi.Input; + /** + * The TelemetryRouter instance ID + */ + instanceId?: pulumi.Input; + /** + * STACKIT project ID associated with the TelemetryRouter instance + */ + projectId?: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. + */ + status?: pulumi.Input; +} + +/** + * The set of arguments for constructing a TelemetryrouterDestination resource. + */ +export interface TelemetryrouterDestinationArgs { + /** + * The configuration of the TelemetryRouter destination + */ + config: pulumi.Input; + /** + * The description of the TelemetryRouter destination + */ + description?: pulumi.Input; + /** + * The displayed name of the TelemetryRouter destination + */ + displayName: pulumi.Input; + /** + * The TelemetryRouter instance ID + */ + instanceId: pulumi.Input; + /** + * STACKIT project ID associated with the TelemetryRouter instance + */ + projectId: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; +} diff --git a/sdk/nodejs/telemetryrouterInstance.ts b/sdk/nodejs/telemetryrouterInstance.ts new file mode 100644 index 0000000..7ef8ec6 --- /dev/null +++ b/sdk/nodejs/telemetryrouterInstance.ts @@ -0,0 +1,190 @@ +// *** 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"; + +/** + * TelemetryRouter instance 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 TelemetryrouterInstance extends pulumi.CustomResource { + /** + * Get an existing TelemetryrouterInstance 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?: TelemetryrouterInstanceState, opts?: pulumi.CustomResourceOptions): TelemetryrouterInstance { + return new TelemetryrouterInstance(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/telemetryrouterInstance:TelemetryrouterInstance'; + + /** + * Returns true if the given object is an instance of TelemetryrouterInstance. 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 TelemetryrouterInstance { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === TelemetryrouterInstance.__pulumiType; + } + + /** + * The date and time the creation of the TelemetryRouter instance was initiated + */ + declare public /*out*/ readonly creationTime: pulumi.Output; + /** + * The description of the TelemetryRouter instance + */ + declare public readonly description: pulumi.Output; + /** + * The display name of the TelemetryRouter instance + */ + declare public readonly displayName: pulumi.Output; + /** + * The TelemetryRouter global filter settings + */ + declare public readonly filter: pulumi.Output; + /** + * The TelemetryRouter instance ID + */ + declare public /*out*/ readonly instanceId: pulumi.Output; + /** + * STACKIT project ID associated with the TelemetryRouter instance + */ + declare public readonly projectId: pulumi.Output; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + /** + * The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. + */ + declare public /*out*/ readonly status: pulumi.Output; + /** + * The TelemetryRouter instance's URI + */ + declare public /*out*/ readonly uri: pulumi.Output; + + /** + * Create a TelemetryrouterInstance 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: TelemetryrouterInstanceArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: TelemetryrouterInstanceArgs | TelemetryrouterInstanceState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as TelemetryrouterInstanceState | undefined; + resourceInputs["creationTime"] = state?.creationTime; + resourceInputs["description"] = state?.description; + resourceInputs["displayName"] = state?.displayName; + resourceInputs["filter"] = state?.filter; + resourceInputs["instanceId"] = state?.instanceId; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; + resourceInputs["status"] = state?.status; + resourceInputs["uri"] = state?.uri; + } else { + const args = argsOrState as TelemetryrouterInstanceArgs | undefined; + if (args?.displayName === undefined && !opts.urn) { + throw new Error("Missing required property 'displayName'"); + } + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + resourceInputs["description"] = args?.description; + resourceInputs["displayName"] = args?.displayName; + resourceInputs["filter"] = args?.filter; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + resourceInputs["creationTime"] = undefined /*out*/; + resourceInputs["instanceId"] = undefined /*out*/; + resourceInputs["status"] = undefined /*out*/; + resourceInputs["uri"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(TelemetryrouterInstance.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering TelemetryrouterInstance resources. + */ +export interface TelemetryrouterInstanceState { + /** + * The date and time the creation of the TelemetryRouter instance was initiated + */ + creationTime?: pulumi.Input; + /** + * The description of the TelemetryRouter instance + */ + description?: pulumi.Input; + /** + * The display name of the TelemetryRouter instance + */ + displayName?: pulumi.Input; + /** + * The TelemetryRouter global filter settings + */ + filter?: pulumi.Input; + /** + * The TelemetryRouter instance ID + */ + instanceId?: pulumi.Input; + /** + * STACKIT project ID associated with the TelemetryRouter instance + */ + projectId?: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. + */ + status?: pulumi.Input; + /** + * The TelemetryRouter instance's URI + */ + uri?: pulumi.Input; +} + +/** + * The set of arguments for constructing a TelemetryrouterInstance resource. + */ +export interface TelemetryrouterInstanceArgs { + /** + * The description of the TelemetryRouter instance + */ + description?: pulumi.Input; + /** + * The display name of the TelemetryRouter instance + */ + displayName: pulumi.Input; + /** + * The TelemetryRouter global filter settings + */ + filter?: pulumi.Input; + /** + * STACKIT project ID associated with the TelemetryRouter instance + */ + projectId: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; +} diff --git a/sdk/nodejs/tsconfig.json b/sdk/nodejs/tsconfig.json index 111ec3b..3c9c679 100644 --- a/sdk/nodejs/tsconfig.json +++ b/sdk/nodejs/tsconfig.json @@ -35,6 +35,8 @@ "config/vars.ts", "dnsRecordSet.ts", "dnsZone.ts", + "dremioInstance.ts", + "dremioUser.ts", "edgecloudInstance.ts", "edgecloudKubeconfig.ts", "edgecloudToken.ts", @@ -48,6 +50,8 @@ "getCdnDistribution.ts", "getDnsRecordSet.ts", "getDnsZone.ts", + "getDremioInstance.ts", + "getDremioUser.ts", "getEdgecloudInstances.ts", "getEdgecloudPlans.ts", "getGit.ts", @@ -129,7 +133,12 @@ "getSkeMachineImageVersions.ts", "getSqlserverflexInstance.ts", "getSqlserverflexUser.ts", + "getTelemetrylink.ts", + "getTelemetryrouterAccessToken.ts", + "getTelemetryrouterDestination.ts", + "getTelemetryrouterInstance.ts", "getVolume.ts", + "getVpnGateway.ts", "git.ts", "image.ts", "index.ts", @@ -206,10 +215,15 @@ "skeKubeconfig.ts", "sqlserverflexInstance.ts", "sqlserverflexUser.ts", + "telemetrylink.ts", + "telemetryrouterAccessToken.ts", + "telemetryrouterDestination.ts", + "telemetryrouterInstance.ts", "types/index.ts", "types/input.ts", "types/output.ts", "utilities.ts", - "volume.ts" + "volume.ts", + "vpnGateway.ts" ] } diff --git a/sdk/nodejs/types/input.ts b/sdk/nodejs/types/input.ts index 1c14ab8..16bf569 100644 --- a/sdk/nodejs/types/input.ts +++ b/sdk/nodejs/types/input.ts @@ -575,6 +575,142 @@ export interface DnsZoneTimeouts { update?: pulumi.Input; } +export interface DremioInstanceAuthentication { + /** + * Azure Active Directory authentication configuration. + */ + azuread?: pulumi.Input; + /** + * OIDC authentication configuration. + */ + oauth?: pulumi.Input; + /** + * Type of authentication (local-only, azuread, oauth). + */ + type: pulumi.Input; +} + +export interface DremioInstanceAuthenticationAzuread { + /** + * The Azure AD authority URL. + */ + authorityUrl: pulumi.Input; + /** + * The Azure AD client ID. + */ + clientId: pulumi.Input; + /** + * The Azure AD client secret. + */ + clientSecret: pulumi.Input; + /** + * The Azure AD redirect URL. + */ + redirectUrl?: pulumi.Input; +} + +export interface DremioInstanceAuthenticationOauth { + /** + * The Issuer location URI, where the OIDC provider configuration can be found. + */ + authorityUrl: pulumi.Input; + /** + * The client ID assigned by the Identity Provider. + */ + clientId: pulumi.Input; + /** + * The client secret generated by the Identity Provider. + */ + clientSecret: pulumi.Input; + /** + * Maps fields from the JWT token to fields Dremio requires. + */ + jwtClaims: pulumi.Input; + /** + * Any additional parameters the Identity Provider requires. + */ + parameters?: pulumi.Input[] | undefined>; + /** + * The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. + */ + redirectUrl?: pulumi.Input; + /** + * A list of space-separated scopes. The `openid` scope is always required; other scopes can vary by provider. + */ + scope?: pulumi.Input; +} + +export interface DremioInstanceAuthenticationOauthJwtClaims { + /** + * Mapped user name claim (e.g. email). + */ + userName: pulumi.Input; +} + +export interface DremioInstanceAuthenticationOauthParameter { + /** + * Parameter name. + */ + name: pulumi.Input; + /** + * Parameter value. + */ + value: pulumi.Input; +} + +export interface DremioInstanceEndpoints { + /** + * The arrow flight endpoint of the Dremio instance. + */ + arrowFlight?: pulumi.Input; + /** + * The Apache Iceberg endpoint of the Dremio instance. + */ + catalog?: pulumi.Input; + /** + * The UI endpoint of the Dremio instance. + */ + ui?: pulumi.Input; +} + +export interface DremioInstanceTimeouts { + /** + * 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). + */ + create?: pulumi.Input; + /** + * 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + */ + delete?: pulumi.Input; + /** + * 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 operations occur during any refresh or planning operation when refresh is enabled. + */ + read?: pulumi.Input; + /** + * 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). + */ + update?: pulumi.Input; +} + +export interface DremioUserTimeouts { + /** + * 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). + */ + create?: pulumi.Input; + /** + * 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + */ + delete?: pulumi.Input; + /** + * 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 operations occur during any refresh or planning operation when refresh is enabled. + */ + read?: pulumi.Input; + /** + * 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). + */ + update?: pulumi.Input; +} + export interface GetCdnCustomDomainCertificate { /** * A version identifier for the certificate. Required for custom certificates. The certificate will be updated if this field is changed. @@ -1031,6 +1167,13 @@ export interface MongodbflexInstanceOptions { } export interface MongodbflexInstanceStorage { + /** + * The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + * `bash + * stackit mongodbflex options --storages --flavor-id FLAVOR_ID + * ` + * - `size` (Number) + */ class: pulumi.Input; size: pulumi.Input; } @@ -1467,6 +1610,13 @@ export interface PostgresflexInstanceFlavor { } export interface PostgresflexInstanceStorage { + /** + * The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + * `bash + * stackit postgresflex options --storages --flavor-id FLAVOR_ID + * ` + * - `size` (Number) + */ class: pulumi.Input; size: pulumi.Input; } @@ -2006,10 +2156,140 @@ export interface SqlserverflexInstanceOptions { } export interface SqlserverflexInstanceStorage { + /** + * The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + * `bash + * stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID + * ` + * - `size` (Number) + */ class?: pulumi.Input; size?: pulumi.Input; } +export interface TelemetryrouterDestinationConfig { + /** + * The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. + */ + configType: pulumi.Input; + /** + * The TelemetryRouter destination's filter settings + */ + filter?: pulumi.Input; + /** + * OpenTelemetry configuration + */ + opentelemetry?: pulumi.Input; + /** + * S3 configuration + */ + s3?: pulumi.Input; +} + +export interface TelemetryrouterDestinationConfigFilter { + /** + * The TelemetryRouter destination's filter attributes + */ + attributes: pulumi.Input[]>; +} + +export interface TelemetryrouterDestinationConfigFilterAttribute { + /** + * The TelemetryRouter destination's filter attribute key + */ + key: pulumi.Input; + /** + * The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + */ + level: pulumi.Input; + /** + * The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. + */ + matcher: pulumi.Input; + /** + * The TelemetryRouter destination's filter attribute values + */ + values: pulumi.Input[]>; +} + +export interface TelemetryrouterDestinationConfigOpentelemetry { + /** + * OpenTelemetry basic auth configuration + */ + basicAuth?: pulumi.Input; + /** + * OpenTelemetry bearer token + */ + bearerToken?: pulumi.Input; + /** + * OpenTelemetry destination URI + */ + uri: pulumi.Input; +} + +export interface TelemetryrouterDestinationConfigOpentelemetryBasicAuth { + /** + * OpenTelemetry basic auth username + */ + password: pulumi.Input; + /** + * OpenTelemetry basic auth username + */ + username: pulumi.Input; +} + +export interface TelemetryrouterDestinationConfigS3 { + /** + * S3 access key configuration + */ + accessKey?: pulumi.Input; + /** + * S3 bucket name + */ + bucket: pulumi.Input; + /** + * S3 endpoint + */ + endpoint: pulumi.Input; +} + +export interface TelemetryrouterDestinationConfigS3AccessKey { + /** + * S3 access key ID + */ + id: pulumi.Input; + /** + * S3 access key secret + */ + secret: pulumi.Input; +} + +export interface TelemetryrouterInstanceFilter { + /** + * The TelemetryRouter global filter attributes + */ + attributes: pulumi.Input[]>; +} + +export interface TelemetryrouterInstanceFilterAttribute { + /** + * The TelemetryRouter global filter attribute key + */ + key: pulumi.Input; + /** + * The TelemetryRouter global filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + */ + level: pulumi.Input; + /** + * The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. + */ + matcher: pulumi.Input; + /** + * The TelemetryRouter global filter attributes + */ + values: pulumi.Input[]>; +} + export interface VolumeEncryptionParameters { /** * UUID of the key within the STACKIT-KMS to use for the encryption. @@ -2052,3 +2332,25 @@ export interface VolumeSource { */ type: pulumi.Input; } + +export interface VpnGatewayAvailabilityZones { + /** + * Availability zone for tunnel 1. + */ + tunnel1: pulumi.Input; + /** + * Availability zone for tunnel 2. + */ + tunnel2: pulumi.Input; +} + +export interface VpnGatewayBgp { + /** + * Local ASN for BGP (private ASN range, 64512-4294967294). + */ + localAsn: pulumi.Input; + /** + * List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. + */ + overrideAdvertisedRoutes?: pulumi.Input[] | undefined>; +} diff --git a/sdk/nodejs/types/output.ts b/sdk/nodejs/types/output.ts index 6ed0991..eb9738a 100644 --- a/sdk/nodejs/types/output.ts +++ b/sdk/nodejs/types/output.ts @@ -575,6 +575,142 @@ export interface DnsZoneTimeouts { update?: string; } +export interface DremioInstanceAuthentication { + /** + * Azure Active Directory authentication configuration. + */ + azuread?: outputs.DremioInstanceAuthenticationAzuread; + /** + * OIDC authentication configuration. + */ + oauth?: outputs.DremioInstanceAuthenticationOauth; + /** + * Type of authentication (local-only, azuread, oauth). + */ + type: string; +} + +export interface DremioInstanceAuthenticationAzuread { + /** + * The Azure AD authority URL. + */ + authorityUrl: string; + /** + * The Azure AD client ID. + */ + clientId: string; + /** + * The Azure AD client secret. + */ + clientSecret: string; + /** + * The Azure AD redirect URL. + */ + redirectUrl: string; +} + +export interface DremioInstanceAuthenticationOauth { + /** + * The Issuer location URI, where the OIDC provider configuration can be found. + */ + authorityUrl: string; + /** + * The client ID assigned by the Identity Provider. + */ + clientId: string; + /** + * The client secret generated by the Identity Provider. + */ + clientSecret: string; + /** + * Maps fields from the JWT token to fields Dremio requires. + */ + jwtClaims: outputs.DremioInstanceAuthenticationOauthJwtClaims; + /** + * Any additional parameters the Identity Provider requires. + */ + parameters?: outputs.DremioInstanceAuthenticationOauthParameter[]; + /** + * The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. + */ + redirectUrl: string; + /** + * A list of space-separated scopes. The `openid` scope is always required; other scopes can vary by provider. + */ + scope: string; +} + +export interface DremioInstanceAuthenticationOauthJwtClaims { + /** + * Mapped user name claim (e.g. email). + */ + userName: string; +} + +export interface DremioInstanceAuthenticationOauthParameter { + /** + * Parameter name. + */ + name: string; + /** + * Parameter value. + */ + value: string; +} + +export interface DremioInstanceEndpoints { + /** + * The arrow flight endpoint of the Dremio instance. + */ + arrowFlight: string; + /** + * The Apache Iceberg endpoint of the Dremio instance. + */ + catalog: string; + /** + * The UI endpoint of the Dremio instance. + */ + ui: string; +} + +export interface DremioInstanceTimeouts { + /** + * 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). + */ + create?: 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + */ + delete?: 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). Read operations occur during any refresh or planning operation when refresh is enabled. + */ + read?: 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). + */ + update?: string; +} + +export interface DremioUserTimeouts { + /** + * 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). + */ + create?: 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + */ + delete?: 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). Read operations occur during any refresh or planning operation when refresh is enabled. + */ + read?: 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). + */ + update?: string; +} + export interface GetApplicationLoadBalancerError { /** * 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. @@ -1098,6 +1234,104 @@ export interface GetDnsZoneTimeouts { read?: string; } +export interface GetDremioInstanceAuthentication { + /** + * Azure Active Directory authentication configuration. + */ + azuread: outputs.GetDremioInstanceAuthenticationAzuread; + /** + * OIDC authentication configuration. + */ + oauth: outputs.GetDremioInstanceAuthenticationOauth; + /** + * Type of authentication (local-only, azuread, oauth). + */ + type: string; +} + +export interface GetDremioInstanceAuthenticationAzuread { + /** + * The Azure AD authority URL. + */ + authorityUrl: string; + /** + * The Azure AD client ID. + */ + clientId: string; + /** + * The Azure AD client secret. + */ + clientSecret: string; + /** + * The Azure AD redirect URL. + */ + redirectUrl: string; +} + +export interface GetDremioInstanceAuthenticationOauth { + /** + * The Issuer location URI, where the OIDC provider configuration can be found. + */ + authorityUrl: string; + /** + * The client ID assigned by the Identity Provider. + */ + clientId: string; + /** + * The client secret generated by the Identity Provider. + */ + clientSecret: string; + /** + * Maps fields from the JWT token to fields Dremio requires. + */ + jwtClaims: outputs.GetDremioInstanceAuthenticationOauthJwtClaims; + /** + * Any additional parameters the Identity Provider requires. + */ + parameters: outputs.GetDremioInstanceAuthenticationOauthParameter[]; + /** + * The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. + */ + redirectUrl: string; + /** + * A list of space-separated scopes. The `openid` scope is always required; other scopes can vary by provider. + */ + scope: string; +} + +export interface GetDremioInstanceAuthenticationOauthJwtClaims { + /** + * Mapped user name claim (e.g. email). + */ + userName: string; +} + +export interface GetDremioInstanceAuthenticationOauthParameter { + /** + * Parameter name. + */ + name: string; + /** + * Parameter value. + */ + value: string; +} + +export interface GetDremioInstanceEndpoints { + /** + * The arrow flight endpoint of the Dremio instance. + */ + arrowFlight: string; + /** + * The Apache Iceberg endpoint of the Dremio instance. + */ + catalog: string; + /** + * The UI endpoint of the Dremio instance. + */ + ui: string; +} + export interface GetEdgecloudInstancesInstance { /** * The date and time the instance was created. @@ -2868,6 +3102,95 @@ export interface GetSqlserverflexInstanceStorage { size: number; } +export interface GetTelemetryrouterDestinationConfig { + /** + * The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. + */ + configType: string; + /** + * The TelemetryRouter destination's filter settings + */ + filter: outputs.GetTelemetryrouterDestinationConfigFilter; + /** + * OpenTelemetry configuration + */ + opentelemetry: outputs.GetTelemetryrouterDestinationConfigOpentelemetry; + /** + * S3 configuration + */ + s3: outputs.GetTelemetryrouterDestinationConfigS3; +} + +export interface GetTelemetryrouterDestinationConfigFilter { + /** + * The TelemetryRouter destination's filter attributes + */ + attributes: outputs.GetTelemetryrouterDestinationConfigFilterAttribute[]; +} + +export interface GetTelemetryrouterDestinationConfigFilterAttribute { + /** + * The TelemetryRouter destination's filter attribute key + */ + key: string; + /** + * The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + */ + level: string; + /** + * The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. + */ + matcher: string; + /** + * The TelemetryRouter destination's filter attribute values + */ + values: string[]; +} + +export interface GetTelemetryrouterDestinationConfigOpentelemetry { + /** + * OpenTelemetry destination URI + */ + uri: string; +} + +export interface GetTelemetryrouterDestinationConfigS3 { + /** + * S3 bucket name + */ + bucket: string; + /** + * S3 endpoint + */ + endpoint: string; +} + +export interface GetTelemetryrouterInstanceFilter { + /** + * The TelemetryRouter global filter attributes + */ + attributes: outputs.GetTelemetryrouterInstanceFilterAttribute[]; +} + +export interface GetTelemetryrouterInstanceFilterAttribute { + /** + * The TelemetryRouter global filter attribute key + */ + key: string; + /** + * The TelemetryRouter global filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + */ + level: string; + /** + * The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. + */ + matcher: string; + /** + * The TelemetryRouter global filter attributes + */ + values: string[]; +} + export interface GetVolumeSource { /** * The ID of the source, e.g. image ID @@ -2879,6 +3202,28 @@ export interface GetVolumeSource { type: string; } +export interface GetVpnGatewayAvailabilityZones { + /** + * Availability zone for tunnel 1. + */ + tunnel1: string; + /** + * Availability zone for tunnel 2. + */ + tunnel2: string; +} + +export interface GetVpnGatewayBgp { + /** + * Local ASN for BGP (private ASN range, 64512-4294967294). + */ + localAsn: number; + /** + * List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. + */ + overrideAdvertisedRoutes: string[]; +} + export interface ImageChecksum { /** * Algorithm for the checksum of the image data. @@ -3247,6 +3592,13 @@ export interface MongodbflexInstanceOptions { } export interface MongodbflexInstanceStorage { + /** + * The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + * `bash + * stackit mongodbflex options --storages --flavor-id FLAVOR_ID + * ` + * - `size` (Number) + */ class: string; size: number; } @@ -3683,6 +4035,13 @@ export interface PostgresflexInstanceFlavor { } export interface PostgresflexInstanceStorage { + /** + * The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + * `bash + * stackit postgresflex options --storages --flavor-id FLAVOR_ID + * ` + * - `size` (Number) + */ class: string; size: number; } @@ -4222,10 +4581,140 @@ export interface SqlserverflexInstanceOptions { } export interface SqlserverflexInstanceStorage { + /** + * The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + * `bash + * stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID + * ` + * - `size` (Number) + */ class: string; size: number; } +export interface TelemetryrouterDestinationConfig { + /** + * The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. + */ + configType: string; + /** + * The TelemetryRouter destination's filter settings + */ + filter?: outputs.TelemetryrouterDestinationConfigFilter; + /** + * OpenTelemetry configuration + */ + opentelemetry?: outputs.TelemetryrouterDestinationConfigOpentelemetry; + /** + * S3 configuration + */ + s3?: outputs.TelemetryrouterDestinationConfigS3; +} + +export interface TelemetryrouterDestinationConfigFilter { + /** + * The TelemetryRouter destination's filter attributes + */ + attributes: outputs.TelemetryrouterDestinationConfigFilterAttribute[]; +} + +export interface TelemetryrouterDestinationConfigFilterAttribute { + /** + * The TelemetryRouter destination's filter attribute key + */ + key: string; + /** + * The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + */ + level: string; + /** + * The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. + */ + matcher: string; + /** + * The TelemetryRouter destination's filter attribute values + */ + values: string[]; +} + +export interface TelemetryrouterDestinationConfigOpentelemetry { + /** + * OpenTelemetry basic auth configuration + */ + basicAuth?: outputs.TelemetryrouterDestinationConfigOpentelemetryBasicAuth; + /** + * OpenTelemetry bearer token + */ + bearerToken?: string; + /** + * OpenTelemetry destination URI + */ + uri: string; +} + +export interface TelemetryrouterDestinationConfigOpentelemetryBasicAuth { + /** + * OpenTelemetry basic auth username + */ + password: string; + /** + * OpenTelemetry basic auth username + */ + username: string; +} + +export interface TelemetryrouterDestinationConfigS3 { + /** + * S3 access key configuration + */ + accessKey?: outputs.TelemetryrouterDestinationConfigS3AccessKey; + /** + * S3 bucket name + */ + bucket: string; + /** + * S3 endpoint + */ + endpoint: string; +} + +export interface TelemetryrouterDestinationConfigS3AccessKey { + /** + * S3 access key ID + */ + id: string; + /** + * S3 access key secret + */ + secret: string; +} + +export interface TelemetryrouterInstanceFilter { + /** + * The TelemetryRouter global filter attributes + */ + attributes: outputs.TelemetryrouterInstanceFilterAttribute[]; +} + +export interface TelemetryrouterInstanceFilterAttribute { + /** + * The TelemetryRouter global filter attribute key + */ + key: string; + /** + * The TelemetryRouter global filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + */ + level: string; + /** + * The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. + */ + matcher: string; + /** + * The TelemetryRouter global filter attributes + */ + values: string[]; +} + export interface VolumeEncryptionParameters { /** * UUID of the key within the STACKIT-KMS to use for the encryption. @@ -4269,3 +4758,25 @@ export interface VolumeSource { type: string; } +export interface VpnGatewayAvailabilityZones { + /** + * Availability zone for tunnel 1. + */ + tunnel1: string; + /** + * Availability zone for tunnel 2. + */ + tunnel2: string; +} + +export interface VpnGatewayBgp { + /** + * Local ASN for BGP (private ASN range, 64512-4294967294). + */ + localAsn: number; + /** + * List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. + */ + overrideAdvertisedRoutes: string[]; +} + diff --git a/sdk/nodejs/vpnGateway.ts b/sdk/nodejs/vpnGateway.ts new file mode 100644 index 0000000..f92a623 --- /dev/null +++ b/sdk/nodejs/vpnGateway.ts @@ -0,0 +1,211 @@ +// *** WARNING: this file was generated by pulumi-language-nodejs. *** +// *** Do not edit by hand unless you're certain you know what you are doing! *** + +import * as pulumi from "@pulumi/pulumi"; +import * as inputs from "./types/input"; +import * as outputs from "./types/output"; +import * as utilities from "./utilities"; + +/** + * VPN Gateway 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 VpnGateway extends pulumi.CustomResource { + /** + * Get an existing VpnGateway 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?: VpnGatewayState, opts?: pulumi.CustomResourceOptions): VpnGateway { + return new VpnGateway(name, state, { ...opts, id: id }); + } + + /** @internal */ + public static readonly __pulumiType = 'stackit:index/vpnGateway:VpnGateway'; + + /** + * Returns true if the given object is an instance of VpnGateway. 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 VpnGateway { + if (obj === undefined || obj === null) { + return false; + } + return obj['__pulumiType'] === VpnGateway.__pulumiType; + } + + /** + * Availability zones for the two tunnel endpoints. + */ + declare public readonly availabilityZones: pulumi.Output; + /** + * BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + */ + declare public readonly bgp: pulumi.Output; + /** + * A user-friendly name for the VPN gateway. + */ + declare public readonly displayName: pulumi.Output; + /** + * The server-generated UUID of the VPN gateway. + */ + declare public /*out*/ readonly gatewayId: pulumi.Output; + /** + * Map of custom labels (key-value string pairs). + */ + declare public readonly labels: pulumi.Output<{[key: string]: string} | undefined>; + /** + * The service plan identifier (e.g. `p500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + */ + declare public readonly planId: pulumi.Output; + /** + * STACKIT project ID associated with the VPN gateway. + */ + declare public readonly projectId: pulumi.Output; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + declare public readonly region: pulumi.Output; + /** + * Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + */ + declare public readonly routingType: pulumi.Output; + + /** + * Create a VpnGateway 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: VpnGatewayArgs, opts?: pulumi.CustomResourceOptions) + constructor(name: string, argsOrState?: VpnGatewayArgs | VpnGatewayState, opts?: pulumi.CustomResourceOptions) { + let resourceInputs: pulumi.Inputs = {}; + opts = opts || {}; + if (opts.id) { + const state = argsOrState as VpnGatewayState | undefined; + resourceInputs["availabilityZones"] = state?.availabilityZones; + resourceInputs["bgp"] = state?.bgp; + resourceInputs["displayName"] = state?.displayName; + resourceInputs["gatewayId"] = state?.gatewayId; + resourceInputs["labels"] = state?.labels; + resourceInputs["planId"] = state?.planId; + resourceInputs["projectId"] = state?.projectId; + resourceInputs["region"] = state?.region; + resourceInputs["routingType"] = state?.routingType; + } else { + const args = argsOrState as VpnGatewayArgs | undefined; + if (args?.availabilityZones === undefined && !opts.urn) { + throw new Error("Missing required property 'availabilityZones'"); + } + if (args?.displayName === undefined && !opts.urn) { + throw new Error("Missing required property 'displayName'"); + } + if (args?.planId === undefined && !opts.urn) { + throw new Error("Missing required property 'planId'"); + } + if (args?.projectId === undefined && !opts.urn) { + throw new Error("Missing required property 'projectId'"); + } + if (args?.routingType === undefined && !opts.urn) { + throw new Error("Missing required property 'routingType'"); + } + resourceInputs["availabilityZones"] = args?.availabilityZones; + resourceInputs["bgp"] = args?.bgp; + resourceInputs["displayName"] = args?.displayName; + resourceInputs["labels"] = args?.labels; + resourceInputs["planId"] = args?.planId; + resourceInputs["projectId"] = args?.projectId; + resourceInputs["region"] = args?.region; + resourceInputs["routingType"] = args?.routingType; + resourceInputs["gatewayId"] = undefined /*out*/; + } + opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts); + super(VpnGateway.__pulumiType, name, resourceInputs, opts); + } +} + +/** + * Input properties used for looking up and filtering VpnGateway resources. + */ +export interface VpnGatewayState { + /** + * Availability zones for the two tunnel endpoints. + */ + availabilityZones?: pulumi.Input; + /** + * BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + */ + bgp?: pulumi.Input; + /** + * A user-friendly name for the VPN gateway. + */ + displayName?: pulumi.Input; + /** + * The server-generated UUID of the VPN gateway. + */ + gatewayId?: pulumi.Input; + /** + * Map of custom labels (key-value string pairs). + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * The service plan identifier (e.g. `p500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + */ + planId?: pulumi.Input; + /** + * STACKIT project ID associated with the VPN gateway. + */ + projectId?: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + */ + routingType?: pulumi.Input; +} + +/** + * The set of arguments for constructing a VpnGateway resource. + */ +export interface VpnGatewayArgs { + /** + * Availability zones for the two tunnel endpoints. + */ + availabilityZones: pulumi.Input; + /** + * BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + */ + bgp?: pulumi.Input; + /** + * A user-friendly name for the VPN gateway. + */ + displayName: pulumi.Input; + /** + * Map of custom labels (key-value string pairs). + */ + labels?: pulumi.Input<{[key: string]: pulumi.Input} | undefined>; + /** + * The service plan identifier (e.g. `p500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + */ + planId: pulumi.Input; + /** + * STACKIT project ID associated with the VPN gateway. + */ + projectId: pulumi.Input; + /** + * STACKIT region name the resource is located in. If not defined, the provider region is used. + */ + region?: pulumi.Input; + /** + * Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + */ + routingType: pulumi.Input; +} diff --git a/sdk/python/pulumi_stackit/__init__.py b/sdk/python/pulumi_stackit/__init__.py index 503b98d..2c564bb 100644 --- a/sdk/python/pulumi_stackit/__init__.py +++ b/sdk/python/pulumi_stackit/__init__.py @@ -20,6 +20,8 @@ from .cdn_distribution import * from .dns_record_set import * from .dns_zone import * +from .dremio_instance import * +from .dremio_user import * from .edgecloud_instance import * from .edgecloud_kubeconfig import * from .edgecloud_token import * @@ -33,6 +35,8 @@ from .get_cdn_distribution import * from .get_dns_record_set import * from .get_dns_zone import * +from .get_dremio_instance import * +from .get_dremio_user import * from .get_edgecloud_instances import * from .get_edgecloud_plans import * from .get_git import * @@ -114,7 +118,12 @@ from .get_ske_machine_image_versions import * from .get_sqlserverflex_instance import * from .get_sqlserverflex_user import * +from .get_telemetrylink import * +from .get_telemetryrouter_access_token import * +from .get_telemetryrouter_destination import * +from .get_telemetryrouter_instance import * from .get_volume import * +from .get_vpn_gateway import * from .git import * from .image import * from .intake_runner import * @@ -190,7 +199,12 @@ from .ske_kubeconfig import * from .sqlserverflex_instance import * from .sqlserverflex_user import * +from .telemetrylink import * +from .telemetryrouter_access_token import * +from .telemetryrouter_destination import * +from .telemetryrouter_instance import * from .volume import * +from .vpn_gateway import * from ._inputs import * from . import outputs @@ -316,6 +330,22 @@ "stackit:index/dnsZone:DnsZone": "DnsZone" } }, + { + "pkg": "stackit", + "mod": "index/dremioInstance", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/dremioInstance:DremioInstance": "DremioInstance" + } + }, + { + "pkg": "stackit", + "mod": "index/dremioUser", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/dremioUser:DremioUser": "DremioUser" + } + }, { "pkg": "stackit", "mod": "index/edgecloudInstance", @@ -932,6 +962,38 @@ "stackit:index/sqlserverflexUser:SqlserverflexUser": "SqlserverflexUser" } }, + { + "pkg": "stackit", + "mod": "index/telemetrylink", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/telemetrylink:Telemetrylink": "Telemetrylink" + } + }, + { + "pkg": "stackit", + "mod": "index/telemetryrouterAccessToken", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/telemetryrouterAccessToken:TelemetryrouterAccessToken": "TelemetryrouterAccessToken" + } + }, + { + "pkg": "stackit", + "mod": "index/telemetryrouterDestination", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/telemetryrouterDestination:TelemetryrouterDestination": "TelemetryrouterDestination" + } + }, + { + "pkg": "stackit", + "mod": "index/telemetryrouterInstance", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/telemetryrouterInstance:TelemetryrouterInstance": "TelemetryrouterInstance" + } + }, { "pkg": "stackit", "mod": "index/volume", @@ -939,6 +1001,14 @@ "classes": { "stackit:index/volume:Volume": "Volume" } + }, + { + "pkg": "stackit", + "mod": "index/vpnGateway", + "fqn": "pulumi_stackit", + "classes": { + "stackit:index/vpnGateway:VpnGateway": "VpnGateway" + } } ] """, diff --git a/sdk/python/pulumi_stackit/_inputs.py b/sdk/python/pulumi_stackit/_inputs.py index aece8c3..e8688be 100644 --- a/sdk/python/pulumi_stackit/_inputs.py +++ b/sdk/python/pulumi_stackit/_inputs.py @@ -87,6 +87,22 @@ 'DnsRecordSetTimeoutsArgsDict', 'DnsZoneTimeoutsArgs', 'DnsZoneTimeoutsArgsDict', + 'DremioInstanceAuthenticationArgs', + 'DremioInstanceAuthenticationArgsDict', + 'DremioInstanceAuthenticationAzureadArgs', + 'DremioInstanceAuthenticationAzureadArgsDict', + 'DremioInstanceAuthenticationOauthArgs', + 'DremioInstanceAuthenticationOauthArgsDict', + 'DremioInstanceAuthenticationOauthJwtClaimsArgs', + 'DremioInstanceAuthenticationOauthJwtClaimsArgsDict', + 'DremioInstanceAuthenticationOauthParameterArgs', + 'DremioInstanceAuthenticationOauthParameterArgsDict', + 'DremioInstanceEndpointsArgs', + 'DremioInstanceEndpointsArgsDict', + 'DremioInstanceTimeoutsArgs', + 'DremioInstanceTimeoutsArgsDict', + 'DremioUserTimeoutsArgs', + 'DremioUserTimeoutsArgsDict', 'ImageChecksumArgs', 'ImageChecksumArgsDict', 'ImageConfigArgs', @@ -225,10 +241,32 @@ 'SqlserverflexInstanceOptionsArgsDict', 'SqlserverflexInstanceStorageArgs', 'SqlserverflexInstanceStorageArgsDict', + 'TelemetryrouterDestinationConfigArgs', + 'TelemetryrouterDestinationConfigArgsDict', + 'TelemetryrouterDestinationConfigFilterArgs', + 'TelemetryrouterDestinationConfigFilterArgsDict', + 'TelemetryrouterDestinationConfigFilterAttributeArgs', + 'TelemetryrouterDestinationConfigFilterAttributeArgsDict', + 'TelemetryrouterDestinationConfigOpentelemetryArgs', + 'TelemetryrouterDestinationConfigOpentelemetryArgsDict', + 'TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs', + 'TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgsDict', + 'TelemetryrouterDestinationConfigS3Args', + 'TelemetryrouterDestinationConfigS3ArgsDict', + 'TelemetryrouterDestinationConfigS3AccessKeyArgs', + 'TelemetryrouterDestinationConfigS3AccessKeyArgsDict', + 'TelemetryrouterInstanceFilterArgs', + 'TelemetryrouterInstanceFilterArgsDict', + 'TelemetryrouterInstanceFilterAttributeArgs', + 'TelemetryrouterInstanceFilterAttributeArgsDict', 'VolumeEncryptionParametersArgs', 'VolumeEncryptionParametersArgsDict', 'VolumeSourceArgs', 'VolumeSourceArgsDict', + 'VpnGatewayAvailabilityZonesArgs', + 'VpnGatewayAvailabilityZonesArgsDict', + 'VpnGatewayBgpArgs', + 'VpnGatewayBgpArgsDict', 'GetCdnCustomDomainCertificateArgs', 'GetCdnCustomDomainCertificateArgsDict', 'GetDnsRecordSetTimeoutsArgs', @@ -305,7 +343,7 @@ class ApplicationLoadBalancerListenerArgsDict(TypedDict): """ Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_HTTP`, `PROTOCOL_HTTPS`. """ - https: NotRequired[pulumi.Input[Optional['ApplicationLoadBalancerListenerHttpsArgs']]] + https: NotRequired[pulumi.Input[Optional['ApplicationLoadBalancerListenerHttpsArgsDict']]] """ Configuration for handling HTTPS traffic on this listener. """ @@ -493,19 +531,19 @@ class ApplicationLoadBalancerListenerHttpHostRuleArgsDict(TypedDict): """ Reference target pool by target pool name. """ - cookie_persistence: NotRequired[pulumi.Input[Optional['ApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgs']]] + cookie_persistence: NotRequired[pulumi.Input[Optional['ApplicationLoadBalancerListenerHttpHostRuleCookiePersistenceArgsDict']]] """ Routing persistence via cookies. """ - headers: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input['ApplicationLoadBalancerListenerHttpHostRuleHeaderArgs']]]]] + headers: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input['ApplicationLoadBalancerListenerHttpHostRuleHeaderArgsDict']]]]] """ Headers for the rule. """ - path: NotRequired[pulumi.Input[Optional['ApplicationLoadBalancerListenerHttpHostRulePathArgs']]] + path: NotRequired[pulumi.Input[Optional['ApplicationLoadBalancerListenerHttpHostRulePathArgsDict']]] """ Routing via path. """ - query_parameters: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input['ApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgs']]]]] + query_parameters: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input['ApplicationLoadBalancerListenerHttpHostRuleQueryParameterArgsDict']]]]] """ Query parameters for the rule. """ @@ -961,7 +999,7 @@ def role(self, value: pulumi.Input[_builtins.str]): class ApplicationLoadBalancerOptionsArgsDict(TypedDict): - access_control: NotRequired[pulumi.Input[Optional['ApplicationLoadBalancerOptionsAccessControlArgs']]] + access_control: NotRequired[pulumi.Input[Optional['ApplicationLoadBalancerOptionsAccessControlArgsDict']]] """ Use this option to limit the IP ranges that can use the Application Load Balancer. """ @@ -969,7 +1007,7 @@ class ApplicationLoadBalancerOptionsArgsDict(TypedDict): """ 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. """ - observability: NotRequired[pulumi.Input[Optional['ApplicationLoadBalancerOptionsObservabilityArgs']]] + observability: NotRequired[pulumi.Input[Optional['ApplicationLoadBalancerOptionsObservabilityArgsDict']]] """ We offer Load Balancer observability via STACKIT Observability or external solutions. """ @@ -1078,11 +1116,11 @@ def allowed_source_ranges(self, value: pulumi.Input[Sequence[pulumi.Input[_built class ApplicationLoadBalancerOptionsObservabilityArgsDict(TypedDict): - logs: NotRequired[pulumi.Input[Optional['ApplicationLoadBalancerOptionsObservabilityLogsArgs']]] + logs: NotRequired[pulumi.Input[Optional['ApplicationLoadBalancerOptionsObservabilityLogsArgsDict']]] """ Observability logs configuration. """ - metrics: NotRequired[pulumi.Input[Optional['ApplicationLoadBalancerOptionsObservabilityMetricsArgs']]] + metrics: NotRequired[pulumi.Input[Optional['ApplicationLoadBalancerOptionsObservabilityMetricsArgsDict']]] """ Observability metrics configuration. """ @@ -1233,8 +1271,8 @@ class ApplicationLoadBalancerTargetPoolArgsDict(TypedDict): """ List of all targets which will be used in the pool. Limited to 250. """ - active_health_check: NotRequired[pulumi.Input[Optional['ApplicationLoadBalancerTargetPoolActiveHealthCheckArgs']]] - tls_config: NotRequired[pulumi.Input[Optional['ApplicationLoadBalancerTargetPoolTlsConfigArgs']]] + active_health_check: NotRequired[pulumi.Input[Optional['ApplicationLoadBalancerTargetPoolActiveHealthCheckArgsDict']]] + tls_config: NotRequired[pulumi.Input[Optional['ApplicationLoadBalancerTargetPoolTlsConfigArgsDict']]] """ Configuration for TLS bridging. """ @@ -1340,7 +1378,7 @@ class ApplicationLoadBalancerTargetPoolActiveHealthCheckArgsDict(TypedDict): """ Unhealthy threshold of the health checking. """ - http_health_checks: NotRequired[pulumi.Input[Optional['ApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgs']]] + http_health_checks: NotRequired[pulumi.Input[Optional['ApplicationLoadBalancerTargetPoolActiveHealthCheckHttpHealthChecksArgsDict']]] """ Options for the HTTP health checking. """ @@ -1738,15 +1776,15 @@ class CdnDistributionConfigArgsDict(TypedDict): """ The configured countries where distribution of content is blocked """ - optimizer: NotRequired[pulumi.Input[Optional['CdnDistributionConfigOptimizerArgs']]] + optimizer: NotRequired[pulumi.Input[Optional['CdnDistributionConfigOptimizerArgsDict']]] """ 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. """ - redirects: NotRequired[pulumi.Input[Optional['CdnDistributionConfigRedirectsArgs']]] + redirects: NotRequired[pulumi.Input[Optional['CdnDistributionConfigRedirectsArgsDict']]] """ A wrapper for a list of redirect rules that allows for redirect settings on a distribution """ - waf: NotRequired[pulumi.Input[Optional['CdnDistributionConfigWafArgs']]] + waf: NotRequired[pulumi.Input[Optional['CdnDistributionConfigWafArgsDict']]] """ 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. """ @@ -1861,7 +1899,7 @@ class CdnDistributionConfigBackendArgsDict(TypedDict): """ The URL of the bucket (e.g. https://s3.example.com). Required if type is 'bucket'. """ - credentials: NotRequired[pulumi.Input[Optional['CdnDistributionConfigBackendCredentialsArgs']]] + credentials: NotRequired[pulumi.Input[Optional['CdnDistributionConfigBackendCredentialsArgsDict']]] """ The credentials for the bucket. Required if type is 'bucket'. """ @@ -2845,1085 +2883,1706 @@ def update(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "update", value) -class ImageChecksumArgsDict(TypedDict): - algorithm: NotRequired[pulumi.Input[Optional[_builtins.str]]] +class DremioInstanceAuthenticationArgsDict(TypedDict): + type: pulumi.Input[_builtins.str] """ - Algorithm for the checksum of the image data. + Type of authentication (local-only, azuread, oauth). """ - digest: NotRequired[pulumi.Input[Optional[_builtins.str]]] + azuread: NotRequired[pulumi.Input[Optional['DremioInstanceAuthenticationAzureadArgsDict']]] """ - Hexdigest of the checksum of the image data. + Azure Active Directory authentication configuration. + """ + oauth: NotRequired[pulumi.Input[Optional['DremioInstanceAuthenticationOauthArgsDict']]] + """ + OIDC authentication configuration. """ @pulumi.input_type -class ImageChecksumArgs: +class DremioInstanceAuthenticationArgs: def __init__(__self__, *, - algorithm: pulumi.Input[Optional[_builtins.str]] = None, - digest: pulumi.Input[Optional[_builtins.str]] = None): + type: pulumi.Input[_builtins.str], + azuread: pulumi.Input[Optional['DremioInstanceAuthenticationAzureadArgs']] = None, + oauth: pulumi.Input[Optional['DremioInstanceAuthenticationOauthArgs']] = None): """ - :param pulumi.Input[_builtins.str] algorithm: Algorithm for the checksum of the image data. - :param pulumi.Input[_builtins.str] digest: Hexdigest of the checksum of the image data. + :param pulumi.Input[_builtins.str] type: Type of authentication (local-only, azuread, oauth). + :param pulumi.Input['DremioInstanceAuthenticationAzureadArgs'] azuread: Azure Active Directory authentication configuration. + :param pulumi.Input['DremioInstanceAuthenticationOauthArgs'] oauth: OIDC authentication configuration. """ - if algorithm is not None: - pulumi.set(__self__, "algorithm", algorithm) - if digest is not None: - pulumi.set(__self__, "digest", digest) + pulumi.set(__self__, "type", type) + if azuread is not None: + pulumi.set(__self__, "azuread", azuread) + if oauth is not None: + pulumi.set(__self__, "oauth", oauth) @_builtins.property @pulumi.getter - def algorithm(self) -> pulumi.Input[Optional[_builtins.str]]: + def type(self) -> pulumi.Input[_builtins.str]: """ - Algorithm for the checksum of the image data. + Type of authentication (local-only, azuread, oauth). """ - return pulumi.get(self, "algorithm") + return pulumi.get(self, "type") - @algorithm.setter - def algorithm(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "algorithm", value) + @type.setter + def type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "type", value) @_builtins.property @pulumi.getter - def digest(self) -> pulumi.Input[Optional[_builtins.str]]: + def azuread(self) -> pulumi.Input[Optional['DremioInstanceAuthenticationAzureadArgs']]: """ - Hexdigest of the checksum of the image data. + Azure Active Directory authentication configuration. """ - return pulumi.get(self, "digest") + return pulumi.get(self, "azuread") - @digest.setter - def digest(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "digest", value) + @azuread.setter + def azuread(self, value: pulumi.Input[Optional['DremioInstanceAuthenticationAzureadArgs']]): + pulumi.set(self, "azuread", value) + @_builtins.property + @pulumi.getter + def oauth(self) -> pulumi.Input[Optional['DremioInstanceAuthenticationOauthArgs']]: + """ + OIDC authentication configuration. + """ + return pulumi.get(self, "oauth") -class ImageConfigArgsDict(TypedDict): - boot_menu: NotRequired[pulumi.Input[Optional[_builtins.bool]]] - """ - Enables the BIOS bootmenu. - """ - cdrom_bus: NotRequired[pulumi.Input[Optional[_builtins.str]]] - """ - Sets CDROM bus controller type. - """ - disk_bus: NotRequired[pulumi.Input[Optional[_builtins.str]]] + @oauth.setter + def oauth(self, value: pulumi.Input[Optional['DremioInstanceAuthenticationOauthArgs']]): + pulumi.set(self, "oauth", value) + + +class DremioInstanceAuthenticationAzureadArgsDict(TypedDict): + authority_url: pulumi.Input[_builtins.str] """ - Sets Disk bus controller type. + The Azure AD authority URL. """ - nic_model: NotRequired[pulumi.Input[Optional[_builtins.str]]] + client_id: pulumi.Input[_builtins.str] """ - Sets virtual network interface model. + The Azure AD client ID. """ - operating_system: NotRequired[pulumi.Input[Optional[_builtins.str]]] + client_secret: pulumi.Input[_builtins.str] """ - Enables operating system specific optimizations. + The Azure AD client secret. """ - operating_system_distro: NotRequired[pulumi.Input[Optional[_builtins.str]]] + redirect_url: NotRequired[pulumi.Input[Optional[_builtins.str]]] """ - Operating system distribution. + The Azure AD redirect URL. """ - operating_system_version: NotRequired[pulumi.Input[Optional[_builtins.str]]] + +@pulumi.input_type +class DremioInstanceAuthenticationAzureadArgs: + def __init__(__self__, *, + authority_url: pulumi.Input[_builtins.str], + client_id: pulumi.Input[_builtins.str], + client_secret: pulumi.Input[_builtins.str], + redirect_url: pulumi.Input[Optional[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] authority_url: The Azure AD authority URL. + :param pulumi.Input[_builtins.str] client_id: The Azure AD client ID. + :param pulumi.Input[_builtins.str] client_secret: The Azure AD client secret. + :param pulumi.Input[_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) + if redirect_url is not None: + pulumi.set(__self__, "redirect_url", redirect_url) + + @_builtins.property + @pulumi.getter(name="authorityUrl") + def authority_url(self) -> pulumi.Input[_builtins.str]: + """ + The Azure AD authority URL. + """ + return pulumi.get(self, "authority_url") + + @authority_url.setter + def authority_url(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "authority_url", value) + + @_builtins.property + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[_builtins.str]: + """ + The Azure AD client ID. + """ + return pulumi.get(self, "client_id") + + @client_id.setter + def client_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "client_id", value) + + @_builtins.property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[_builtins.str]: + """ + The Azure AD client secret. + """ + return pulumi.get(self, "client_secret") + + @client_secret.setter + def client_secret(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "client_secret", value) + + @_builtins.property + @pulumi.getter(name="redirectUrl") + def redirect_url(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The Azure AD redirect URL. + """ + return pulumi.get(self, "redirect_url") + + @redirect_url.setter + def redirect_url(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "redirect_url", value) + + +class DremioInstanceAuthenticationOauthArgsDict(TypedDict): + authority_url: pulumi.Input[_builtins.str] """ - Version of the operating system. + The Issuer location URI, where the OIDC provider configuration can be found. """ - rescue_bus: NotRequired[pulumi.Input[Optional[_builtins.str]]] + client_id: pulumi.Input[_builtins.str] """ - Sets the device bus when the image is used as a rescue image. + The client ID assigned by the Identity Provider. """ - rescue_device: NotRequired[pulumi.Input[Optional[_builtins.str]]] + client_secret: pulumi.Input[_builtins.str] """ - Sets the device when the image is used as a rescue image. + The client secret generated by the Identity Provider. """ - secure_boot: NotRequired[pulumi.Input[Optional[_builtins.bool]]] + jwt_claims: pulumi.Input['DremioInstanceAuthenticationOauthJwtClaimsArgsDict'] """ - Enables Secure Boot. + Maps fields from the JWT token to fields Dremio requires. """ - uefi: NotRequired[pulumi.Input[Optional[_builtins.bool]]] + parameters: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input['DremioInstanceAuthenticationOauthParameterArgsDict']]]]] """ - Enables UEFI boot. + Any additional parameters the Identity Provider requires. """ - video_model: NotRequired[pulumi.Input[Optional[_builtins.str]]] + redirect_url: NotRequired[pulumi.Input[Optional[_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. """ - virtio_scsi: NotRequired[pulumi.Input[Optional[_builtins.bool]]] + scope: NotRequired[pulumi.Input[Optional[_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. """ @pulumi.input_type -class ImageConfigArgs: +class DremioInstanceAuthenticationOauthArgs: def __init__(__self__, *, - boot_menu: pulumi.Input[Optional[_builtins.bool]] = None, - cdrom_bus: pulumi.Input[Optional[_builtins.str]] = None, - disk_bus: pulumi.Input[Optional[_builtins.str]] = None, - nic_model: pulumi.Input[Optional[_builtins.str]] = None, - operating_system: pulumi.Input[Optional[_builtins.str]] = None, - operating_system_distro: pulumi.Input[Optional[_builtins.str]] = None, - operating_system_version: pulumi.Input[Optional[_builtins.str]] = None, - rescue_bus: pulumi.Input[Optional[_builtins.str]] = None, - rescue_device: pulumi.Input[Optional[_builtins.str]] = None, - secure_boot: pulumi.Input[Optional[_builtins.bool]] = None, - uefi: pulumi.Input[Optional[_builtins.bool]] = None, - video_model: pulumi.Input[Optional[_builtins.str]] = None, - virtio_scsi: pulumi.Input[Optional[_builtins.bool]] = None): + authority_url: pulumi.Input[_builtins.str], + client_id: pulumi.Input[_builtins.str], + client_secret: pulumi.Input[_builtins.str], + jwt_claims: pulumi.Input['DremioInstanceAuthenticationOauthJwtClaimsArgs'], + parameters: pulumi.Input[Optional[Sequence[pulumi.Input['DremioInstanceAuthenticationOauthParameterArgs']]]] = None, + redirect_url: pulumi.Input[Optional[_builtins.str]] = None, + scope: pulumi.Input[Optional[_builtins.str]] = None): """ - :param pulumi.Input[_builtins.bool] boot_menu: Enables the BIOS bootmenu. - :param pulumi.Input[_builtins.str] cdrom_bus: Sets CDROM bus controller type. - :param pulumi.Input[_builtins.str] disk_bus: Sets Disk bus controller type. - :param pulumi.Input[_builtins.str] nic_model: Sets virtual network interface model. - :param pulumi.Input[_builtins.str] operating_system: Enables operating system specific optimizations. - :param pulumi.Input[_builtins.str] operating_system_distro: Operating system distribution. - :param pulumi.Input[_builtins.str] operating_system_version: Version of the operating system. - :param pulumi.Input[_builtins.str] rescue_bus: Sets the device bus when the image is used as a rescue image. - :param pulumi.Input[_builtins.str] rescue_device: Sets the device when the image is used as a rescue image. - :param pulumi.Input[_builtins.bool] secure_boot: Enables Secure Boot. - :param pulumi.Input[_builtins.bool] uefi: Enables UEFI boot. - :param pulumi.Input[_builtins.str] video_model: Sets Graphic device model. - :param pulumi.Input[_builtins.bool] virtio_scsi: Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. + :param pulumi.Input[_builtins.str] authority_url: The Issuer location URI, where the OIDC provider configuration can be found. + :param pulumi.Input[_builtins.str] client_id: The client ID assigned by the Identity Provider. + :param pulumi.Input[_builtins.str] client_secret: The client secret generated by the Identity Provider. + :param pulumi.Input['DremioInstanceAuthenticationOauthJwtClaimsArgs'] jwt_claims: Maps fields from the JWT token to fields Dremio requires. + :param pulumi.Input[Sequence[pulumi.Input['DremioInstanceAuthenticationOauthParameterArgs']]] parameters: Any additional parameters the Identity Provider requires. + :param pulumi.Input[_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 pulumi.Input[_builtins.str] scope: A list of space-separated scopes. The `openid` scope is always required; other scopes can vary by provider. """ - if boot_menu is not None: - pulumi.set(__self__, "boot_menu", boot_menu) - if cdrom_bus is not None: - pulumi.set(__self__, "cdrom_bus", cdrom_bus) - if disk_bus is not None: - pulumi.set(__self__, "disk_bus", disk_bus) - if nic_model is not None: - pulumi.set(__self__, "nic_model", nic_model) - if operating_system is not None: - pulumi.set(__self__, "operating_system", operating_system) - if operating_system_distro is not None: - pulumi.set(__self__, "operating_system_distro", operating_system_distro) - if operating_system_version is not None: - pulumi.set(__self__, "operating_system_version", operating_system_version) - if rescue_bus is not None: - pulumi.set(__self__, "rescue_bus", rescue_bus) - if rescue_device is not None: - pulumi.set(__self__, "rescue_device", rescue_device) - if secure_boot is not None: - pulumi.set(__self__, "secure_boot", secure_boot) - if uefi is not None: - pulumi.set(__self__, "uefi", uefi) - if video_model is not None: - pulumi.set(__self__, "video_model", video_model) - if virtio_scsi is not None: - 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__, "jwt_claims", jwt_claims) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + if redirect_url is not None: + pulumi.set(__self__, "redirect_url", redirect_url) + if scope is not None: + pulumi.set(__self__, "scope", scope) @_builtins.property - @pulumi.getter(name="bootMenu") - def boot_menu(self) -> pulumi.Input[Optional[_builtins.bool]]: + @pulumi.getter(name="authorityUrl") + def authority_url(self) -> pulumi.Input[_builtins.str]: """ - Enables the BIOS bootmenu. + The Issuer location URI, where the OIDC provider configuration can be found. """ - return pulumi.get(self, "boot_menu") + return pulumi.get(self, "authority_url") - @boot_menu.setter - def boot_menu(self, value: pulumi.Input[Optional[_builtins.bool]]): - pulumi.set(self, "boot_menu", value) + @authority_url.setter + def authority_url(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "authority_url", value) @_builtins.property - @pulumi.getter(name="cdromBus") - def cdrom_bus(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="clientId") + def client_id(self) -> pulumi.Input[_builtins.str]: """ - Sets CDROM bus controller type. + The client ID assigned by the Identity Provider. """ - return pulumi.get(self, "cdrom_bus") + return pulumi.get(self, "client_id") - @cdrom_bus.setter - def cdrom_bus(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "cdrom_bus", value) + @client_id.setter + def client_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "client_id", value) @_builtins.property - @pulumi.getter(name="diskBus") - def disk_bus(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="clientSecret") + def client_secret(self) -> pulumi.Input[_builtins.str]: """ - Sets Disk bus controller type. + The client secret generated by the Identity Provider. """ - return pulumi.get(self, "disk_bus") + return pulumi.get(self, "client_secret") - @disk_bus.setter - def disk_bus(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "disk_bus", value) + @client_secret.setter + def client_secret(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "client_secret", value) @_builtins.property - @pulumi.getter(name="nicModel") - def nic_model(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="jwtClaims") + def jwt_claims(self) -> pulumi.Input['DremioInstanceAuthenticationOauthJwtClaimsArgs']: """ - Sets virtual network interface model. + Maps fields from the JWT token to fields Dremio requires. """ - return pulumi.get(self, "nic_model") + return pulumi.get(self, "jwt_claims") - @nic_model.setter - def nic_model(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "nic_model", value) + @jwt_claims.setter + def jwt_claims(self, value: pulumi.Input['DremioInstanceAuthenticationOauthJwtClaimsArgs']): + pulumi.set(self, "jwt_claims", value) @_builtins.property - @pulumi.getter(name="operatingSystem") - def operating_system(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter + def parameters(self) -> pulumi.Input[Optional[Sequence[pulumi.Input['DremioInstanceAuthenticationOauthParameterArgs']]]]: """ - Enables operating system specific optimizations. + Any additional parameters the Identity Provider requires. """ - return pulumi.get(self, "operating_system") + return pulumi.get(self, "parameters") - @operating_system.setter - def operating_system(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "operating_system", value) + @parameters.setter + def parameters(self, value: pulumi.Input[Optional[Sequence[pulumi.Input['DremioInstanceAuthenticationOauthParameterArgs']]]]): + pulumi.set(self, "parameters", value) @_builtins.property - @pulumi.getter(name="operatingSystemDistro") - def operating_system_distro(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="redirectUrl") + def redirect_url(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Operating system distribution. + The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. """ - return pulumi.get(self, "operating_system_distro") + return pulumi.get(self, "redirect_url") - @operating_system_distro.setter - def operating_system_distro(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "operating_system_distro", value) + @redirect_url.setter + def redirect_url(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "redirect_url", value) @_builtins.property - @pulumi.getter(name="operatingSystemVersion") - def operating_system_version(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter + def scope(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Version of the operating system. + A list of space-separated scopes. The `openid` scope is always required; other scopes can vary by provider. """ - return pulumi.get(self, "operating_system_version") + return pulumi.get(self, "scope") - @operating_system_version.setter - def operating_system_version(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "operating_system_version", value) + @scope.setter + def scope(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "scope", value) - @_builtins.property - @pulumi.getter(name="rescueBus") - def rescue_bus(self) -> pulumi.Input[Optional[_builtins.str]]: + +class DremioInstanceAuthenticationOauthJwtClaimsArgsDict(TypedDict): + user_name: pulumi.Input[_builtins.str] + """ + Mapped user name claim (e.g. email). + """ + +@pulumi.input_type +class DremioInstanceAuthenticationOauthJwtClaimsArgs: + def __init__(__self__, *, + user_name: pulumi.Input[_builtins.str]): """ - Sets the device bus when the image is used as a rescue image. + :param pulumi.Input[_builtins.str] user_name: Mapped user name claim (e.g. email). """ - return pulumi.get(self, "rescue_bus") - - @rescue_bus.setter - def rescue_bus(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "rescue_bus", value) + pulumi.set(__self__, "user_name", user_name) @_builtins.property - @pulumi.getter(name="rescueDevice") - def rescue_device(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="userName") + def user_name(self) -> pulumi.Input[_builtins.str]: """ - Sets the device when the image is used as a rescue image. + Mapped user name claim (e.g. email). """ - return pulumi.get(self, "rescue_device") + return pulumi.get(self, "user_name") - @rescue_device.setter - def rescue_device(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "rescue_device", value) + @user_name.setter + def user_name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "user_name", value) - @_builtins.property - @pulumi.getter(name="secureBoot") - def secure_boot(self) -> pulumi.Input[Optional[_builtins.bool]]: + +class DremioInstanceAuthenticationOauthParameterArgsDict(TypedDict): + name: pulumi.Input[_builtins.str] + """ + Parameter name. + """ + value: pulumi.Input[_builtins.str] + """ + Parameter value. + """ + +@pulumi.input_type +class DremioInstanceAuthenticationOauthParameterArgs: + def __init__(__self__, *, + name: pulumi.Input[_builtins.str], + value: pulumi.Input[_builtins.str]): """ - Enables Secure Boot. + :param pulumi.Input[_builtins.str] name: Parameter name. + :param pulumi.Input[_builtins.str] value: Parameter value. """ - return pulumi.get(self, "secure_boot") - - @secure_boot.setter - def secure_boot(self, value: pulumi.Input[Optional[_builtins.bool]]): - pulumi.set(self, "secure_boot", value) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) @_builtins.property @pulumi.getter - def uefi(self) -> pulumi.Input[Optional[_builtins.bool]]: + def name(self) -> pulumi.Input[_builtins.str]: """ - Enables UEFI boot. + Parameter name. """ - return pulumi.get(self, "uefi") + return pulumi.get(self, "name") - @uefi.setter - def uefi(self, value: pulumi.Input[Optional[_builtins.bool]]): - pulumi.set(self, "uefi", value) - - @_builtins.property - @pulumi.getter(name="videoModel") - def video_model(self) -> pulumi.Input[Optional[_builtins.str]]: - """ - Sets Graphic device model. - """ - return pulumi.get(self, "video_model") - - @video_model.setter - def video_model(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "video_model", value) + @name.setter + def name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "name", value) @_builtins.property - @pulumi.getter(name="virtioScsi") - def virtio_scsi(self) -> pulumi.Input[Optional[_builtins.bool]]: + @pulumi.getter + def value(self) -> pulumi.Input[_builtins.str]: """ - Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. + Parameter value. """ - return pulumi.get(self, "virtio_scsi") + return pulumi.get(self, "value") - @virtio_scsi.setter - def virtio_scsi(self, value: pulumi.Input[Optional[_builtins.bool]]): - pulumi.set(self, "virtio_scsi", value) + @value.setter + def value(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "value", value) -class LoadbalancerListenerArgsDict(TypedDict): - port: pulumi.Input[_builtins.int] - """ - Port number where we listen for traffic. - """ - protocol: pulumi.Input[_builtins.str] - """ - Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_TCP`, `PROTOCOL_UDP`, `PROTOCOL_TCP_PROXY`, `PROTOCOL_TLS_PASSTHROUGH`. - """ - target_pool: pulumi.Input[_builtins.str] - """ - Reference target pool by target pool name. - """ - display_name: NotRequired[pulumi.Input[Optional[_builtins.str]]] - server_name_indicators: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input['LoadbalancerListenerServerNameIndicatorArgs']]]]] +class DremioInstanceEndpointsArgsDict(TypedDict): + arrow_flight: NotRequired[pulumi.Input[Optional[_builtins.str]]] """ - A list of domain names to match in order to pass TLS traffic to the target pool in the current listener + The arrow flight endpoint of the Dremio instance. """ - tcp: NotRequired[pulumi.Input[Optional['LoadbalancerListenerTcpArgs']]] + catalog: NotRequired[pulumi.Input[Optional[_builtins.str]]] """ - Options that are specific to the TCP protocol. + The Apache Iceberg endpoint of the Dremio instance. """ - udp: NotRequired[pulumi.Input[Optional['LoadbalancerListenerUdpArgs']]] + ui: NotRequired[pulumi.Input[Optional[_builtins.str]]] """ - Options that are specific to the UDP protocol. + The UI endpoint of the Dremio instance. """ @pulumi.input_type -class LoadbalancerListenerArgs: +class DremioInstanceEndpointsArgs: def __init__(__self__, *, - port: pulumi.Input[_builtins.int], - protocol: pulumi.Input[_builtins.str], - target_pool: pulumi.Input[_builtins.str], - display_name: pulumi.Input[Optional[_builtins.str]] = None, - server_name_indicators: pulumi.Input[Optional[Sequence[pulumi.Input['LoadbalancerListenerServerNameIndicatorArgs']]]] = None, - tcp: pulumi.Input[Optional['LoadbalancerListenerTcpArgs']] = None, - udp: pulumi.Input[Optional['LoadbalancerListenerUdpArgs']] = None): + arrow_flight: pulumi.Input[Optional[_builtins.str]] = None, + catalog: pulumi.Input[Optional[_builtins.str]] = None, + ui: pulumi.Input[Optional[_builtins.str]] = None): """ - :param pulumi.Input[_builtins.int] port: Port number where we listen for traffic. - :param pulumi.Input[_builtins.str] protocol: Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_TCP`, `PROTOCOL_UDP`, `PROTOCOL_TCP_PROXY`, `PROTOCOL_TLS_PASSTHROUGH`. - :param pulumi.Input[_builtins.str] target_pool: Reference target pool by target pool name. - :param pulumi.Input[Sequence[pulumi.Input['LoadbalancerListenerServerNameIndicatorArgs']]] 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 pulumi.Input['LoadbalancerListenerTcpArgs'] tcp: Options that are specific to the TCP protocol. - :param pulumi.Input['LoadbalancerListenerUdpArgs'] udp: Options that are specific to the UDP protocol. + :param pulumi.Input[_builtins.str] arrow_flight: The arrow flight endpoint of the Dremio instance. + :param pulumi.Input[_builtins.str] catalog: The Apache Iceberg endpoint of the Dremio instance. + :param pulumi.Input[_builtins.str] ui: The UI endpoint of the Dremio instance. """ - pulumi.set(__self__, "port", port) - pulumi.set(__self__, "protocol", protocol) - pulumi.set(__self__, "target_pool", target_pool) - if display_name is not None: - pulumi.set(__self__, "display_name", display_name) - if server_name_indicators is not None: - warnings.warn("""`server_name_indicators` is deprecated and will be removed after October 2026""", DeprecationWarning) - pulumi.log.warn("""server_name_indicators is deprecated: `server_name_indicators` is deprecated and will be removed after October 2026""") - if server_name_indicators is not None: - pulumi.set(__self__, "server_name_indicators", server_name_indicators) - if tcp is not None: - pulumi.set(__self__, "tcp", tcp) - if udp is not None: - pulumi.set(__self__, "udp", udp) + if arrow_flight is not None: + pulumi.set(__self__, "arrow_flight", arrow_flight) + if catalog is not None: + pulumi.set(__self__, "catalog", catalog) + if ui is not None: + pulumi.set(__self__, "ui", ui) @_builtins.property - @pulumi.getter - def port(self) -> pulumi.Input[_builtins.int]: + @pulumi.getter(name="arrowFlight") + def arrow_flight(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Port number where we listen for traffic. + The arrow flight endpoint of the Dremio instance. """ - return pulumi.get(self, "port") + return pulumi.get(self, "arrow_flight") - @port.setter - def port(self, value: pulumi.Input[_builtins.int]): - pulumi.set(self, "port", value) + @arrow_flight.setter + def arrow_flight(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "arrow_flight", value) @_builtins.property @pulumi.getter - def protocol(self) -> pulumi.Input[_builtins.str]: + def catalog(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_TCP`, `PROTOCOL_UDP`, `PROTOCOL_TCP_PROXY`, `PROTOCOL_TLS_PASSTHROUGH`. + The Apache Iceberg endpoint of the Dremio instance. """ - return pulumi.get(self, "protocol") + return pulumi.get(self, "catalog") - @protocol.setter - def protocol(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "protocol", value) + @catalog.setter + def catalog(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "catalog", value) @_builtins.property - @pulumi.getter(name="targetPool") - def target_pool(self) -> pulumi.Input[_builtins.str]: + @pulumi.getter + def ui(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Reference target pool by target pool name. + The UI endpoint of the Dremio instance. """ - return pulumi.get(self, "target_pool") + return pulumi.get(self, "ui") - @target_pool.setter - def target_pool(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "target_pool", value) + @ui.setter + def ui(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "ui", value) - @_builtins.property - @pulumi.getter(name="displayName") - def display_name(self) -> pulumi.Input[Optional[_builtins.str]]: - 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) +class DremioInstanceTimeoutsArgsDict(TypedDict): + create: NotRequired[pulumi.Input[Optional[_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). + """ + delete: NotRequired[pulumi.Input[Optional[_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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + read: NotRequired[pulumi.Input[Optional[_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). Read operations occur during any refresh or planning operation when refresh is enabled. + """ + update: NotRequired[pulumi.Input[Optional[_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). + """ - @_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) -> pulumi.Input[Optional[Sequence[pulumi.Input['LoadbalancerListenerServerNameIndicatorArgs']]]]: +@pulumi.input_type +class DremioInstanceTimeoutsArgs: + def __init__(__self__, *, + create: pulumi.Input[Optional[_builtins.str]] = None, + delete: pulumi.Input[Optional[_builtins.str]] = None, + read: pulumi.Input[Optional[_builtins.str]] = None, + update: pulumi.Input[Optional[_builtins.str]] = None): """ - A list of domain names to match in order to pass TLS traffic to the target pool in the current listener + :param pulumi.Input[_builtins.str] create: 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 pulumi.Input[_builtins.str] delete: 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + :param pulumi.Input[_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). Read operations occur during any refresh or planning operation when refresh is enabled. + :param pulumi.Input[_builtins.str] update: 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, "server_name_indicators") - - @server_name_indicators.setter - def server_name_indicators(self, value: pulumi.Input[Optional[Sequence[pulumi.Input['LoadbalancerListenerServerNameIndicatorArgs']]]]): - pulumi.set(self, "server_name_indicators", value) + if create is not None: + pulumi.set(__self__, "create", create) + if delete is not None: + pulumi.set(__self__, "delete", delete) + if read is not None: + pulumi.set(__self__, "read", read) + if update is not None: + pulumi.set(__self__, "update", update) @_builtins.property @pulumi.getter - def tcp(self) -> pulumi.Input[Optional['LoadbalancerListenerTcpArgs']]: + def create(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Options that are specific to the TCP protocol. + 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, "tcp") + return pulumi.get(self, "create") - @tcp.setter - def tcp(self, value: pulumi.Input[Optional['LoadbalancerListenerTcpArgs']]): - pulumi.set(self, "tcp", value) + @create.setter + def create(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "create", value) @_builtins.property @pulumi.getter - def udp(self) -> pulumi.Input[Optional['LoadbalancerListenerUdpArgs']]: + def delete(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Options that are specific to the UDP protocol. + 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. """ - return pulumi.get(self, "udp") - - @udp.setter - def udp(self, value: pulumi.Input[Optional['LoadbalancerListenerUdpArgs']]): - pulumi.set(self, "udp", value) - + return pulumi.get(self, "delete") -class LoadbalancerListenerServerNameIndicatorArgsDict(TypedDict): - name: NotRequired[pulumi.Input[Optional[_builtins.str]]] - """ - A domain name to match in order to pass TLS traffic to the target pool in the current listener - """ + @delete.setter + def delete(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "delete", value) -@pulumi.input_type -class LoadbalancerListenerServerNameIndicatorArgs: - def __init__(__self__, *, - name: pulumi.Input[Optional[_builtins.str]] = None): + @_builtins.property + @pulumi.getter + def read(self) -> pulumi.Input[Optional[_builtins.str]]: """ - :param pulumi.Input[_builtins.str] name: A domain name to match in order to pass TLS traffic to the target pool in the current listener + 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 operations occur during any refresh or planning operation when refresh is enabled. """ - if name is not None: - pulumi.set(__self__, "name", name) + return pulumi.get(self, "read") + + @read.setter + def read(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "read", value) @_builtins.property @pulumi.getter - def name(self) -> pulumi.Input[Optional[_builtins.str]]: + def update(self) -> pulumi.Input[Optional[_builtins.str]]: """ - A domain name to match in order to pass TLS traffic to the target pool in the current listener + 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, "name") + return pulumi.get(self, "update") - @name.setter - def name(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "name", value) + @update.setter + def update(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "update", value) -class LoadbalancerListenerTcpArgsDict(TypedDict): - idle_timeout: NotRequired[pulumi.Input[Optional[_builtins.str]]] +class DremioUserTimeoutsArgsDict(TypedDict): + create: NotRequired[pulumi.Input[Optional[_builtins.str]]] """ - Time after which an idle connection is closed. The default value is set to 300 seconds, and the maximum value is 3600 seconds. The format is a duration and the unit must be seconds. Example: 30s + 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). + """ + delete: NotRequired[pulumi.Input[Optional[_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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + read: NotRequired[pulumi.Input[Optional[_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). Read operations occur during any refresh or planning operation when refresh is enabled. + """ + update: NotRequired[pulumi.Input[Optional[_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). """ @pulumi.input_type -class LoadbalancerListenerTcpArgs: +class DremioUserTimeoutsArgs: def __init__(__self__, *, - idle_timeout: pulumi.Input[Optional[_builtins.str]] = None): + create: pulumi.Input[Optional[_builtins.str]] = None, + delete: pulumi.Input[Optional[_builtins.str]] = None, + read: pulumi.Input[Optional[_builtins.str]] = None, + update: pulumi.Input[Optional[_builtins.str]] = None): """ - :param pulumi.Input[_builtins.str] idle_timeout: Time after which an idle connection is closed. The default value is set to 300 seconds, and the maximum value is 3600 seconds. The format is a duration and the unit must be seconds. Example: 30s + :param pulumi.Input[_builtins.str] create: 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 pulumi.Input[_builtins.str] delete: 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + :param pulumi.Input[_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). Read operations occur during any refresh or planning operation when refresh is enabled. + :param pulumi.Input[_builtins.str] update: 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). """ - if idle_timeout is not None: - pulumi.set(__self__, "idle_timeout", idle_timeout) + if create is not None: + pulumi.set(__self__, "create", create) + if delete is not None: + pulumi.set(__self__, "delete", delete) + if read is not None: + pulumi.set(__self__, "read", read) + if update is not None: + pulumi.set(__self__, "update", update) @_builtins.property - @pulumi.getter(name="idleTimeout") - def idle_timeout(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter + def create(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Time after which an idle connection is closed. The default value is set to 300 seconds, and the maximum value is 3600 seconds. The format is a duration and the unit must be seconds. Example: 30s + 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, "idle_timeout") - - @idle_timeout.setter - def idle_timeout(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "idle_timeout", value) - + return pulumi.get(self, "create") -class LoadbalancerListenerUdpArgsDict(TypedDict): - idle_timeout: NotRequired[pulumi.Input[Optional[_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. The format is a duration and the unit must be seconds. Example: 30s - """ + @create.setter + def create(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "create", value) -@pulumi.input_type -class LoadbalancerListenerUdpArgs: - def __init__(__self__, *, - idle_timeout: pulumi.Input[Optional[_builtins.str]] = None): + @_builtins.property + @pulumi.getter + def delete(self) -> pulumi.Input[Optional[_builtins.str]]: """ - :param pulumi.Input[_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. The format is a duration and the unit must be seconds. Example: 30s + 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. """ - if idle_timeout is not None: - pulumi.set(__self__, "idle_timeout", idle_timeout) + return pulumi.get(self, "delete") + + @delete.setter + def delete(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "delete", value) @_builtins.property - @pulumi.getter(name="idleTimeout") - def idle_timeout(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter + def read(self) -> pulumi.Input[Optional[_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. The format is a duration and the unit must be seconds. Example: 30s + 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 operations occur during any refresh or planning operation when refresh is enabled. """ - return pulumi.get(self, "idle_timeout") + return pulumi.get(self, "read") - @idle_timeout.setter - def idle_timeout(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "idle_timeout", value) + @read.setter + def read(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "read", value) + @_builtins.property + @pulumi.getter + def update(self) -> pulumi.Input[Optional[_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). + """ + return pulumi.get(self, "update") -class LoadbalancerNetworkArgsDict(TypedDict): - network_id: pulumi.Input[_builtins.str] + @update.setter + def update(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "update", value) + + +class ImageChecksumArgsDict(TypedDict): + algorithm: NotRequired[pulumi.Input[Optional[_builtins.str]]] """ - Openstack network ID. + Algorithm for the checksum of the image data. """ - role: pulumi.Input[_builtins.str] + digest: NotRequired[pulumi.Input[Optional[_builtins.str]]] """ - The role defines how the load balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. + Hexdigest of the checksum of the image data. """ @pulumi.input_type -class LoadbalancerNetworkArgs: +class ImageChecksumArgs: def __init__(__self__, *, - network_id: pulumi.Input[_builtins.str], - role: pulumi.Input[_builtins.str]): + algorithm: pulumi.Input[Optional[_builtins.str]] = None, + digest: pulumi.Input[Optional[_builtins.str]] = None): """ - :param pulumi.Input[_builtins.str] network_id: Openstack network ID. - :param pulumi.Input[_builtins.str] role: The role defines how the load balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. + :param pulumi.Input[_builtins.str] algorithm: Algorithm for the checksum of the image data. + :param pulumi.Input[_builtins.str] digest: Hexdigest of the checksum of the image data. """ - pulumi.set(__self__, "network_id", network_id) - pulumi.set(__self__, "role", role) + if algorithm is not None: + pulumi.set(__self__, "algorithm", algorithm) + if digest is not None: + pulumi.set(__self__, "digest", digest) @_builtins.property - @pulumi.getter(name="networkId") - def network_id(self) -> pulumi.Input[_builtins.str]: + @pulumi.getter + def algorithm(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Openstack network ID. + Algorithm for the checksum of the image data. """ - return pulumi.get(self, "network_id") + return pulumi.get(self, "algorithm") - @network_id.setter - def network_id(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "network_id", value) + @algorithm.setter + def algorithm(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "algorithm", value) @_builtins.property @pulumi.getter - def role(self) -> pulumi.Input[_builtins.str]: + def digest(self) -> pulumi.Input[Optional[_builtins.str]]: """ - The role defines how the load balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. + Hexdigest of the checksum of the image data. """ - return pulumi.get(self, "role") + return pulumi.get(self, "digest") - @role.setter - def role(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "role", value) + @digest.setter + def digest(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "digest", value) -class LoadbalancerOptionsArgsDict(TypedDict): - acls: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]] +class ImageConfigArgsDict(TypedDict): + boot_menu: NotRequired[pulumi.Input[Optional[_builtins.bool]]] """ - Load Balancer is accessible only from an IP address in this range. + Enables the BIOS bootmenu. """ - observability: NotRequired[pulumi.Input[Optional['LoadbalancerOptionsObservabilityArgs']]] + cdrom_bus: NotRequired[pulumi.Input[Optional[_builtins.str]]] """ - We offer Load Balancer metrics observability via ARGUS or external solutions. Not changeable after creation. + Sets CDROM bus controller type. """ - private_network_only: NotRequired[pulumi.Input[Optional[_builtins.bool]]] + disk_bus: NotRequired[pulumi.Input[Optional[_builtins.str]]] """ - If true, Load Balancer is accessible only via a private network IP address. + Sets Disk bus controller type. + """ + nic_model: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Sets virtual network interface model. + """ + operating_system: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Enables operating system specific optimizations. + """ + operating_system_distro: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Operating system distribution. + """ + operating_system_version: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Version of the operating system. + """ + rescue_bus: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Sets the device bus when the image is used as a rescue image. + """ + rescue_device: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Sets the device when the image is used as a rescue image. + """ + secure_boot: NotRequired[pulumi.Input[Optional[_builtins.bool]]] + """ + Enables Secure Boot. + """ + uefi: NotRequired[pulumi.Input[Optional[_builtins.bool]]] + """ + Enables UEFI boot. + """ + video_model: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Sets Graphic device model. + """ + virtio_scsi: NotRequired[pulumi.Input[Optional[_builtins.bool]]] + """ + Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. """ @pulumi.input_type -class LoadbalancerOptionsArgs: +class ImageConfigArgs: def __init__(__self__, *, - acls: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, - observability: pulumi.Input[Optional['LoadbalancerOptionsObservabilityArgs']] = None, - private_network_only: pulumi.Input[Optional[_builtins.bool]] = None): + boot_menu: pulumi.Input[Optional[_builtins.bool]] = None, + cdrom_bus: pulumi.Input[Optional[_builtins.str]] = None, + disk_bus: pulumi.Input[Optional[_builtins.str]] = None, + nic_model: pulumi.Input[Optional[_builtins.str]] = None, + operating_system: pulumi.Input[Optional[_builtins.str]] = None, + operating_system_distro: pulumi.Input[Optional[_builtins.str]] = None, + operating_system_version: pulumi.Input[Optional[_builtins.str]] = None, + rescue_bus: pulumi.Input[Optional[_builtins.str]] = None, + rescue_device: pulumi.Input[Optional[_builtins.str]] = None, + secure_boot: pulumi.Input[Optional[_builtins.bool]] = None, + uefi: pulumi.Input[Optional[_builtins.bool]] = None, + video_model: pulumi.Input[Optional[_builtins.str]] = None, + virtio_scsi: pulumi.Input[Optional[_builtins.bool]] = None): """ - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] acls: Load Balancer is accessible only from an IP address in this range. - :param pulumi.Input['LoadbalancerOptionsObservabilityArgs'] observability: We offer Load Balancer metrics observability via ARGUS or external solutions. Not changeable after creation. - :param pulumi.Input[_builtins.bool] private_network_only: If true, Load Balancer is accessible only via a private network IP address. + :param pulumi.Input[_builtins.bool] boot_menu: Enables the BIOS bootmenu. + :param pulumi.Input[_builtins.str] cdrom_bus: Sets CDROM bus controller type. + :param pulumi.Input[_builtins.str] disk_bus: Sets Disk bus controller type. + :param pulumi.Input[_builtins.str] nic_model: Sets virtual network interface model. + :param pulumi.Input[_builtins.str] operating_system: Enables operating system specific optimizations. + :param pulumi.Input[_builtins.str] operating_system_distro: Operating system distribution. + :param pulumi.Input[_builtins.str] operating_system_version: Version of the operating system. + :param pulumi.Input[_builtins.str] rescue_bus: Sets the device bus when the image is used as a rescue image. + :param pulumi.Input[_builtins.str] rescue_device: Sets the device when the image is used as a rescue image. + :param pulumi.Input[_builtins.bool] secure_boot: Enables Secure Boot. + :param pulumi.Input[_builtins.bool] uefi: Enables UEFI boot. + :param pulumi.Input[_builtins.str] video_model: Sets Graphic device model. + :param pulumi.Input[_builtins.bool] virtio_scsi: Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. """ - if acls is not None: - pulumi.set(__self__, "acls", acls) - if observability is not None: - pulumi.set(__self__, "observability", observability) - if private_network_only is not None: - pulumi.set(__self__, "private_network_only", private_network_only) + if boot_menu is not None: + pulumi.set(__self__, "boot_menu", boot_menu) + if cdrom_bus is not None: + pulumi.set(__self__, "cdrom_bus", cdrom_bus) + if disk_bus is not None: + pulumi.set(__self__, "disk_bus", disk_bus) + if nic_model is not None: + pulumi.set(__self__, "nic_model", nic_model) + if operating_system is not None: + pulumi.set(__self__, "operating_system", operating_system) + if operating_system_distro is not None: + pulumi.set(__self__, "operating_system_distro", operating_system_distro) + if operating_system_version is not None: + pulumi.set(__self__, "operating_system_version", operating_system_version) + if rescue_bus is not None: + pulumi.set(__self__, "rescue_bus", rescue_bus) + if rescue_device is not None: + pulumi.set(__self__, "rescue_device", rescue_device) + if secure_boot is not None: + pulumi.set(__self__, "secure_boot", secure_boot) + if uefi is not None: + pulumi.set(__self__, "uefi", uefi) + if video_model is not None: + pulumi.set(__self__, "video_model", video_model) + if virtio_scsi is not None: + pulumi.set(__self__, "virtio_scsi", virtio_scsi) @_builtins.property - @pulumi.getter - def acls(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + @pulumi.getter(name="bootMenu") + def boot_menu(self) -> pulumi.Input[Optional[_builtins.bool]]: """ - Load Balancer is accessible only from an IP address in this range. + Enables the BIOS bootmenu. """ - return pulumi.get(self, "acls") + return pulumi.get(self, "boot_menu") - @acls.setter - def acls(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): - pulumi.set(self, "acls", value) + @boot_menu.setter + def boot_menu(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "boot_menu", value) @_builtins.property - @pulumi.getter - def observability(self) -> pulumi.Input[Optional['LoadbalancerOptionsObservabilityArgs']]: + @pulumi.getter(name="cdromBus") + def cdrom_bus(self) -> pulumi.Input[Optional[_builtins.str]]: """ - We offer Load Balancer metrics observability via ARGUS or external solutions. Not changeable after creation. + Sets CDROM bus controller type. """ - return pulumi.get(self, "observability") + return pulumi.get(self, "cdrom_bus") - @observability.setter - def observability(self, value: pulumi.Input[Optional['LoadbalancerOptionsObservabilityArgs']]): - pulumi.set(self, "observability", value) + @cdrom_bus.setter + def cdrom_bus(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "cdrom_bus", value) @_builtins.property - @pulumi.getter(name="privateNetworkOnly") - def private_network_only(self) -> pulumi.Input[Optional[_builtins.bool]]: + @pulumi.getter(name="diskBus") + def disk_bus(self) -> pulumi.Input[Optional[_builtins.str]]: """ - If true, Load Balancer is accessible only via a private network IP address. + Sets Disk bus controller type. """ - return pulumi.get(self, "private_network_only") - - @private_network_only.setter - def private_network_only(self, value: pulumi.Input[Optional[_builtins.bool]]): - pulumi.set(self, "private_network_only", value) - + return pulumi.get(self, "disk_bus") -class LoadbalancerOptionsObservabilityArgsDict(TypedDict): - logs: NotRequired[pulumi.Input[Optional['LoadbalancerOptionsObservabilityLogsArgs']]] - """ - Observability logs configuration. Not changeable after creation. - """ - metrics: NotRequired[pulumi.Input[Optional['LoadbalancerOptionsObservabilityMetricsArgs']]] - """ - Observability metrics configuration. Not changeable after creation. - """ + @disk_bus.setter + def disk_bus(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "disk_bus", value) -@pulumi.input_type -class LoadbalancerOptionsObservabilityArgs: - def __init__(__self__, *, - logs: pulumi.Input[Optional['LoadbalancerOptionsObservabilityLogsArgs']] = None, - metrics: pulumi.Input[Optional['LoadbalancerOptionsObservabilityMetricsArgs']] = None): + @_builtins.property + @pulumi.getter(name="nicModel") + def nic_model(self) -> pulumi.Input[Optional[_builtins.str]]: """ - :param pulumi.Input['LoadbalancerOptionsObservabilityLogsArgs'] logs: Observability logs configuration. Not changeable after creation. - :param pulumi.Input['LoadbalancerOptionsObservabilityMetricsArgs'] metrics: Observability metrics configuration. Not changeable after creation. + Sets virtual network interface model. """ - if logs is not None: - pulumi.set(__self__, "logs", logs) - if metrics is not None: - pulumi.set(__self__, "metrics", metrics) + return pulumi.get(self, "nic_model") + + @nic_model.setter + def nic_model(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "nic_model", value) @_builtins.property - @pulumi.getter - def logs(self) -> pulumi.Input[Optional['LoadbalancerOptionsObservabilityLogsArgs']]: + @pulumi.getter(name="operatingSystem") + def operating_system(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Observability logs configuration. Not changeable after creation. + Enables operating system specific optimizations. """ - return pulumi.get(self, "logs") + return pulumi.get(self, "operating_system") - @logs.setter - def logs(self, value: pulumi.Input[Optional['LoadbalancerOptionsObservabilityLogsArgs']]): - pulumi.set(self, "logs", value) + @operating_system.setter + def operating_system(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "operating_system", value) @_builtins.property - @pulumi.getter - def metrics(self) -> pulumi.Input[Optional['LoadbalancerOptionsObservabilityMetricsArgs']]: + @pulumi.getter(name="operatingSystemDistro") + def operating_system_distro(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Observability metrics configuration. Not changeable after creation. + Operating system distribution. """ - return pulumi.get(self, "metrics") - - @metrics.setter - def metrics(self, value: pulumi.Input[Optional['LoadbalancerOptionsObservabilityMetricsArgs']]): - pulumi.set(self, "metrics", value) - + return pulumi.get(self, "operating_system_distro") -class LoadbalancerOptionsObservabilityLogsArgsDict(TypedDict): - credentials_ref: NotRequired[pulumi.Input[Optional[_builtins.str]]] - """ - Credentials reference for logs. Not changeable after creation. - """ - push_url: NotRequired[pulumi.Input[Optional[_builtins.str]]] - """ - The ARGUS/Loki remote write Push URL to ship the logs to. Not changeable after creation. - """ + @operating_system_distro.setter + def operating_system_distro(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "operating_system_distro", value) -@pulumi.input_type -class LoadbalancerOptionsObservabilityLogsArgs: - def __init__(__self__, *, - credentials_ref: pulumi.Input[Optional[_builtins.str]] = None, - push_url: pulumi.Input[Optional[_builtins.str]] = None): + @_builtins.property + @pulumi.getter(name="operatingSystemVersion") + def operating_system_version(self) -> pulumi.Input[Optional[_builtins.str]]: """ - :param pulumi.Input[_builtins.str] credentials_ref: Credentials reference for logs. Not changeable after creation. - :param pulumi.Input[_builtins.str] push_url: The ARGUS/Loki remote write Push URL to ship the logs to. Not changeable after creation. + Version of the operating system. """ - if credentials_ref is not None: - pulumi.set(__self__, "credentials_ref", credentials_ref) - if push_url is not None: - pulumi.set(__self__, "push_url", push_url) + return pulumi.get(self, "operating_system_version") + + @operating_system_version.setter + def operating_system_version(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "operating_system_version", value) @_builtins.property - @pulumi.getter(name="credentialsRef") - def credentials_ref(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="rescueBus") + def rescue_bus(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Credentials reference for logs. Not changeable after creation. + Sets the device bus when the image is used as a rescue image. """ - return pulumi.get(self, "credentials_ref") + return pulumi.get(self, "rescue_bus") - @credentials_ref.setter - def credentials_ref(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "credentials_ref", value) + @rescue_bus.setter + def rescue_bus(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "rescue_bus", value) @_builtins.property - @pulumi.getter(name="pushUrl") - def push_url(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="rescueDevice") + def rescue_device(self) -> pulumi.Input[Optional[_builtins.str]]: """ - The ARGUS/Loki remote write Push URL to ship the logs to. Not changeable after creation. + Sets the device when the image is used as a rescue image. """ - return pulumi.get(self, "push_url") + return pulumi.get(self, "rescue_device") - @push_url.setter - def push_url(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "push_url", value) + @rescue_device.setter + def rescue_device(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "rescue_device", value) + @_builtins.property + @pulumi.getter(name="secureBoot") + def secure_boot(self) -> pulumi.Input[Optional[_builtins.bool]]: + """ + Enables Secure Boot. + """ + return pulumi.get(self, "secure_boot") -class LoadbalancerOptionsObservabilityMetricsArgsDict(TypedDict): - credentials_ref: NotRequired[pulumi.Input[Optional[_builtins.str]]] - """ - Credentials reference for metrics. Not changeable after creation. - """ - push_url: NotRequired[pulumi.Input[Optional[_builtins.str]]] - """ - The ARGUS/Prometheus remote write Push URL to ship the metrics to. Not changeable after creation. - """ + @secure_boot.setter + def secure_boot(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "secure_boot", value) -@pulumi.input_type -class LoadbalancerOptionsObservabilityMetricsArgs: - def __init__(__self__, *, - credentials_ref: pulumi.Input[Optional[_builtins.str]] = None, - push_url: pulumi.Input[Optional[_builtins.str]] = None): + @_builtins.property + @pulumi.getter + def uefi(self) -> pulumi.Input[Optional[_builtins.bool]]: """ - :param pulumi.Input[_builtins.str] credentials_ref: Credentials reference for metrics. Not changeable after creation. - :param pulumi.Input[_builtins.str] push_url: The ARGUS/Prometheus remote write Push URL to ship the metrics to. Not changeable after creation. + Enables UEFI boot. """ - if credentials_ref is not None: - pulumi.set(__self__, "credentials_ref", credentials_ref) - if push_url is not None: - pulumi.set(__self__, "push_url", push_url) + return pulumi.get(self, "uefi") + + @uefi.setter + def uefi(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "uefi", value) @_builtins.property - @pulumi.getter(name="credentialsRef") - def credentials_ref(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="videoModel") + def video_model(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Credentials reference for metrics. Not changeable after creation. + Sets Graphic device model. """ - return pulumi.get(self, "credentials_ref") + return pulumi.get(self, "video_model") - @credentials_ref.setter - def credentials_ref(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "credentials_ref", value) + @video_model.setter + def video_model(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "video_model", value) @_builtins.property - @pulumi.getter(name="pushUrl") - def push_url(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="virtioScsi") + def virtio_scsi(self) -> pulumi.Input[Optional[_builtins.bool]]: """ - The ARGUS/Prometheus remote write Push URL to ship the metrics to. Not changeable after creation. + Enables the use of VirtIO SCSI to provide block device access. By default instances use VirtIO Block. """ - return pulumi.get(self, "push_url") + return pulumi.get(self, "virtio_scsi") - @push_url.setter - def push_url(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "push_url", value) + @virtio_scsi.setter + def virtio_scsi(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "virtio_scsi", value) -class LoadbalancerTargetPoolArgsDict(TypedDict): - name: pulumi.Input[_builtins.str] +class LoadbalancerListenerArgsDict(TypedDict): + port: pulumi.Input[_builtins.int] """ - Target pool name. + Port number where we listen for traffic. """ - target_port: pulumi.Input[_builtins.int] + protocol: pulumi.Input[_builtins.str] """ - Identical port number where each target listens for traffic. + Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_TCP`, `PROTOCOL_UDP`, `PROTOCOL_TCP_PROXY`, `PROTOCOL_TLS_PASSTHROUGH`. """ - targets: pulumi.Input[Sequence[pulumi.Input['LoadbalancerTargetPoolTargetArgsDict']]] + target_pool: pulumi.Input[_builtins.str] """ - List of all targets which will be used in the pool. Limited to 1000. + Reference target pool by target pool name. """ - active_health_check: NotRequired[pulumi.Input[Optional['LoadbalancerTargetPoolActiveHealthCheckArgs']]] - session_persistence: NotRequired[pulumi.Input[Optional['LoadbalancerTargetPoolSessionPersistenceArgs']]] + display_name: NotRequired[pulumi.Input[Optional[_builtins.str]]] + server_name_indicators: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input['LoadbalancerListenerServerNameIndicatorArgsDict']]]]] """ - Here you can setup various session persistence options, so far only "`use_source_ip_address`" is supported. + A list of domain names to match in order to pass TLS traffic to the target pool in the current listener + """ + tcp: NotRequired[pulumi.Input[Optional['LoadbalancerListenerTcpArgsDict']]] + """ + Options that are specific to the TCP protocol. + """ + udp: NotRequired[pulumi.Input[Optional['LoadbalancerListenerUdpArgsDict']]] + """ + Options that are specific to the UDP protocol. """ @pulumi.input_type -class LoadbalancerTargetPoolArgs: +class LoadbalancerListenerArgs: def __init__(__self__, *, - name: pulumi.Input[_builtins.str], - target_port: pulumi.Input[_builtins.int], - targets: pulumi.Input[Sequence[pulumi.Input['LoadbalancerTargetPoolTargetArgs']]], - active_health_check: pulumi.Input[Optional['LoadbalancerTargetPoolActiveHealthCheckArgs']] = None, - session_persistence: pulumi.Input[Optional['LoadbalancerTargetPoolSessionPersistenceArgs']] = None): - """ - :param pulumi.Input[_builtins.str] name: Target pool name. - :param pulumi.Input[_builtins.int] target_port: Identical port number where each target listens for traffic. - :param pulumi.Input[Sequence[pulumi.Input['LoadbalancerTargetPoolTargetArgs']]] targets: List of all targets which will be used in the pool. Limited to 1000. - :param pulumi.Input['LoadbalancerTargetPoolSessionPersistenceArgs'] session_persistence: Here you can setup various session persistence options, so far only "`use_source_ip_address`" is supported. - """ - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "target_port", target_port) - pulumi.set(__self__, "targets", targets) - if active_health_check is not None: - pulumi.set(__self__, "active_health_check", active_health_check) - if session_persistence is not None: - pulumi.set(__self__, "session_persistence", session_persistence) - - @_builtins.property - @pulumi.getter - def name(self) -> pulumi.Input[_builtins.str]: + port: pulumi.Input[_builtins.int], + protocol: pulumi.Input[_builtins.str], + target_pool: pulumi.Input[_builtins.str], + display_name: pulumi.Input[Optional[_builtins.str]] = None, + server_name_indicators: pulumi.Input[Optional[Sequence[pulumi.Input['LoadbalancerListenerServerNameIndicatorArgs']]]] = None, + tcp: pulumi.Input[Optional['LoadbalancerListenerTcpArgs']] = None, + udp: pulumi.Input[Optional['LoadbalancerListenerUdpArgs']] = None): """ - Target pool name. + :param pulumi.Input[_builtins.int] port: Port number where we listen for traffic. + :param pulumi.Input[_builtins.str] protocol: Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_TCP`, `PROTOCOL_UDP`, `PROTOCOL_TCP_PROXY`, `PROTOCOL_TLS_PASSTHROUGH`. + :param pulumi.Input[_builtins.str] target_pool: Reference target pool by target pool name. + :param pulumi.Input[Sequence[pulumi.Input['LoadbalancerListenerServerNameIndicatorArgs']]] 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 pulumi.Input['LoadbalancerListenerTcpArgs'] tcp: Options that are specific to the TCP protocol. + :param pulumi.Input['LoadbalancerListenerUdpArgs'] udp: Options that are specific to the UDP protocol. """ - return pulumi.get(self, "name") - - @name.setter - def name(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "name", value) + pulumi.set(__self__, "port", port) + pulumi.set(__self__, "protocol", protocol) + pulumi.set(__self__, "target_pool", target_pool) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if server_name_indicators is not None: + warnings.warn("""`server_name_indicators` is deprecated and will be removed after October 2026""", DeprecationWarning) + pulumi.log.warn("""server_name_indicators is deprecated: `server_name_indicators` is deprecated and will be removed after October 2026""") + if server_name_indicators is not None: + pulumi.set(__self__, "server_name_indicators", server_name_indicators) + if tcp is not None: + pulumi.set(__self__, "tcp", tcp) + if udp is not None: + pulumi.set(__self__, "udp", udp) @_builtins.property - @pulumi.getter(name="targetPort") - def target_port(self) -> pulumi.Input[_builtins.int]: + @pulumi.getter + def port(self) -> pulumi.Input[_builtins.int]: """ - Identical port number where each target listens for traffic. + Port number where we listen for traffic. """ - return pulumi.get(self, "target_port") + return pulumi.get(self, "port") - @target_port.setter - def target_port(self, value: pulumi.Input[_builtins.int]): - pulumi.set(self, "target_port", value) + @port.setter + def port(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "port", value) @_builtins.property @pulumi.getter - def targets(self) -> pulumi.Input[Sequence[pulumi.Input['LoadbalancerTargetPoolTargetArgs']]]: + def protocol(self) -> pulumi.Input[_builtins.str]: """ - List of all targets which will be used in the pool. Limited to 1000. + Protocol is the highest network protocol we understand to load balance. Possible values are: `PROTOCOL_UNSPECIFIED`, `PROTOCOL_TCP`, `PROTOCOL_UDP`, `PROTOCOL_TCP_PROXY`, `PROTOCOL_TLS_PASSTHROUGH`. """ - return pulumi.get(self, "targets") - - @targets.setter - def targets(self, value: pulumi.Input[Sequence[pulumi.Input['LoadbalancerTargetPoolTargetArgs']]]): - pulumi.set(self, "targets", value) - - @_builtins.property - @pulumi.getter(name="activeHealthCheck") - def active_health_check(self) -> pulumi.Input[Optional['LoadbalancerTargetPoolActiveHealthCheckArgs']]: - return pulumi.get(self, "active_health_check") + return pulumi.get(self, "protocol") - @active_health_check.setter - def active_health_check(self, value: pulumi.Input[Optional['LoadbalancerTargetPoolActiveHealthCheckArgs']]): - pulumi.set(self, "active_health_check", value) + @protocol.setter + def protocol(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "protocol", value) @_builtins.property - @pulumi.getter(name="sessionPersistence") - def session_persistence(self) -> pulumi.Input[Optional['LoadbalancerTargetPoolSessionPersistenceArgs']]: + @pulumi.getter(name="targetPool") + def target_pool(self) -> pulumi.Input[_builtins.str]: """ - Here you can setup various session persistence options, so far only "`use_source_ip_address`" is supported. + Reference target pool by target pool name. """ - return pulumi.get(self, "session_persistence") - - @session_persistence.setter - def session_persistence(self, value: pulumi.Input[Optional['LoadbalancerTargetPoolSessionPersistenceArgs']]): - pulumi.set(self, "session_persistence", value) + return pulumi.get(self, "target_pool") + @target_pool.setter + def target_pool(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "target_pool", value) -class LoadbalancerTargetPoolActiveHealthCheckArgsDict(TypedDict): - healthy_threshold: NotRequired[pulumi.Input[Optional[_builtins.int]]] - """ - Healthy threshold of the health checking. - """ - interval: NotRequired[pulumi.Input[Optional[_builtins.str]]] - """ - Interval duration of health checking in seconds. - """ - interval_jitter: NotRequired[pulumi.Input[Optional[_builtins.str]]] - """ - Interval duration threshold of the health checking in seconds. - """ - timeout: NotRequired[pulumi.Input[Optional[_builtins.str]]] - """ - Active health checking timeout duration in seconds. - """ - unhealthy_threshold: NotRequired[pulumi.Input[Optional[_builtins.int]]] - """ - Unhealthy threshold of the health checking. - """ + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[Optional[_builtins.str]]: + return pulumi.get(self, "display_name") -@pulumi.input_type -class LoadbalancerTargetPoolActiveHealthCheckArgs: - def __init__(__self__, *, - healthy_threshold: pulumi.Input[Optional[_builtins.int]] = None, - interval: pulumi.Input[Optional[_builtins.str]] = None, - interval_jitter: pulumi.Input[Optional[_builtins.str]] = None, - timeout: pulumi.Input[Optional[_builtins.str]] = None, - unhealthy_threshold: pulumi.Input[Optional[_builtins.int]] = None): - """ - :param pulumi.Input[_builtins.int] healthy_threshold: Healthy threshold of the health checking. - :param pulumi.Input[_builtins.str] interval: Interval duration of health checking in seconds. - :param pulumi.Input[_builtins.str] interval_jitter: Interval duration threshold of the health checking in seconds. - :param pulumi.Input[_builtins.str] timeout: Active health checking timeout duration in seconds. - :param pulumi.Input[_builtins.int] unhealthy_threshold: Unhealthy threshold of the health checking. - """ - if healthy_threshold is not None: - pulumi.set(__self__, "healthy_threshold", healthy_threshold) - if interval is not None: - pulumi.set(__self__, "interval", interval) - if interval_jitter is not None: - pulumi.set(__self__, "interval_jitter", interval_jitter) - if timeout is not None: - pulumi.set(__self__, "timeout", timeout) - if unhealthy_threshold is not None: - pulumi.set(__self__, "unhealthy_threshold", unhealthy_threshold) + @display_name.setter + def display_name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "display_name", value) @_builtins.property - @pulumi.getter(name="healthyThreshold") - def healthy_threshold(self) -> pulumi.Input[Optional[_builtins.int]]: + @pulumi.getter(name="serverNameIndicators") + @_utilities.deprecated("""`server_name_indicators` is deprecated and will be removed after October 2026""") + def server_name_indicators(self) -> pulumi.Input[Optional[Sequence[pulumi.Input['LoadbalancerListenerServerNameIndicatorArgs']]]]: """ - Healthy threshold of the health checking. + 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, "healthy_threshold") + return pulumi.get(self, "server_name_indicators") - @healthy_threshold.setter - def healthy_threshold(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "healthy_threshold", value) + @server_name_indicators.setter + def server_name_indicators(self, value: pulumi.Input[Optional[Sequence[pulumi.Input['LoadbalancerListenerServerNameIndicatorArgs']]]]): + pulumi.set(self, "server_name_indicators", value) @_builtins.property @pulumi.getter - def interval(self) -> pulumi.Input[Optional[_builtins.str]]: + def tcp(self) -> pulumi.Input[Optional['LoadbalancerListenerTcpArgs']]: """ - Interval duration of health checking in seconds. + Options that are specific to the TCP protocol. """ - return pulumi.get(self, "interval") + return pulumi.get(self, "tcp") - @interval.setter - def interval(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "interval", value) + @tcp.setter + def tcp(self, value: pulumi.Input[Optional['LoadbalancerListenerTcpArgs']]): + pulumi.set(self, "tcp", value) @_builtins.property - @pulumi.getter(name="intervalJitter") - def interval_jitter(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter + def udp(self) -> pulumi.Input[Optional['LoadbalancerListenerUdpArgs']]: """ - Interval duration threshold of the health checking in seconds. + Options that are specific to the UDP protocol. """ - return pulumi.get(self, "interval_jitter") + return pulumi.get(self, "udp") - @interval_jitter.setter - def interval_jitter(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "interval_jitter", value) + @udp.setter + def udp(self, value: pulumi.Input[Optional['LoadbalancerListenerUdpArgs']]): + pulumi.set(self, "udp", value) - @_builtins.property - @pulumi.getter - def timeout(self) -> pulumi.Input[Optional[_builtins.str]]: + +class LoadbalancerListenerServerNameIndicatorArgsDict(TypedDict): + name: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + A domain name to match in order to pass TLS traffic to the target pool in the current listener + """ + +@pulumi.input_type +class LoadbalancerListenerServerNameIndicatorArgs: + def __init__(__self__, *, + name: pulumi.Input[Optional[_builtins.str]] = None): """ - Active health checking timeout duration in seconds. + :param pulumi.Input[_builtins.str] name: A domain name to match in order to pass TLS traffic to the target pool in the current listener """ - return pulumi.get(self, "timeout") - - @timeout.setter - def timeout(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "timeout", value) + if name is not None: + pulumi.set(__self__, "name", name) @_builtins.property - @pulumi.getter(name="unhealthyThreshold") - def unhealthy_threshold(self) -> pulumi.Input[Optional[_builtins.int]]: + @pulumi.getter + def name(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Unhealthy threshold of the health checking. + A domain name to match in order to pass TLS traffic to the target pool in the current listener """ - return pulumi.get(self, "unhealthy_threshold") + return pulumi.get(self, "name") - @unhealthy_threshold.setter - def unhealthy_threshold(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "unhealthy_threshold", value) + @name.setter + def name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "name", value) -class LoadbalancerTargetPoolSessionPersistenceArgsDict(TypedDict): - use_source_ip_address: NotRequired[pulumi.Input[Optional[_builtins.bool]]] +class LoadbalancerListenerTcpArgsDict(TypedDict): + idle_timeout: NotRequired[pulumi.Input[Optional[_builtins.str]]] """ - 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. + Time after which an idle connection is closed. The default value is set to 300 seconds, and the maximum value is 3600 seconds. The format is a duration and the unit must be seconds. Example: 30s """ @pulumi.input_type -class LoadbalancerTargetPoolSessionPersistenceArgs: +class LoadbalancerListenerTcpArgs: def __init__(__self__, *, - use_source_ip_address: pulumi.Input[Optional[_builtins.bool]] = None): + idle_timeout: pulumi.Input[Optional[_builtins.str]] = None): """ - :param pulumi.Input[_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. + :param pulumi.Input[_builtins.str] idle_timeout: Time after which an idle connection is closed. The default value is set to 300 seconds, and the maximum value is 3600 seconds. The format is a duration and the unit must be seconds. Example: 30s """ - if use_source_ip_address is not None: - pulumi.set(__self__, "use_source_ip_address", use_source_ip_address) + if idle_timeout is not None: + pulumi.set(__self__, "idle_timeout", idle_timeout) @_builtins.property - @pulumi.getter(name="useSourceIpAddress") - def use_source_ip_address(self) -> pulumi.Input[Optional[_builtins.bool]]: + @pulumi.getter(name="idleTimeout") + def idle_timeout(self) -> pulumi.Input[Optional[_builtins.str]]: """ - 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. + Time after which an idle connection is closed. The default value is set to 300 seconds, and the maximum value is 3600 seconds. The format is a duration and the unit must be seconds. Example: 30s """ - return pulumi.get(self, "use_source_ip_address") + return pulumi.get(self, "idle_timeout") - @use_source_ip_address.setter - def use_source_ip_address(self, value: pulumi.Input[Optional[_builtins.bool]]): - pulumi.set(self, "use_source_ip_address", value) + @idle_timeout.setter + def idle_timeout(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "idle_timeout", value) -class LoadbalancerTargetPoolTargetArgsDict(TypedDict): - display_name: pulumi.Input[_builtins.str] - """ - Target display name - """ - ip: pulumi.Input[_builtins.str] +class LoadbalancerListenerUdpArgsDict(TypedDict): + idle_timeout: NotRequired[pulumi.Input[Optional[_builtins.str]]] """ - Target IP + Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. The format is a duration and the unit must be seconds. Example: 30s """ @pulumi.input_type -class LoadbalancerTargetPoolTargetArgs: +class LoadbalancerListenerUdpArgs: def __init__(__self__, *, - display_name: pulumi.Input[_builtins.str], - ip: pulumi.Input[_builtins.str]): + idle_timeout: pulumi.Input[Optional[_builtins.str]] = None): """ - :param pulumi.Input[_builtins.str] display_name: Target display name - :param pulumi.Input[_builtins.str] ip: Target IP + :param pulumi.Input[_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. The format is a duration and the unit must be seconds. Example: 30s """ - pulumi.set(__self__, "display_name", display_name) - pulumi.set(__self__, "ip", ip) + if idle_timeout is not None: + pulumi.set(__self__, "idle_timeout", idle_timeout) @_builtins.property - @pulumi.getter(name="displayName") - def display_name(self) -> pulumi.Input[_builtins.str]: + @pulumi.getter(name="idleTimeout") + def idle_timeout(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Target display name + Time after which an idle session is closed. The default value is set to 1 minute, and the maximum value is 2 minutes. The format is a duration and the unit must be seconds. Example: 30s """ - return pulumi.get(self, "display_name") + return pulumi.get(self, "idle_timeout") - @display_name.setter + @idle_timeout.setter + def idle_timeout(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "idle_timeout", value) + + +class LoadbalancerNetworkArgsDict(TypedDict): + network_id: pulumi.Input[_builtins.str] + """ + Openstack network ID. + """ + role: pulumi.Input[_builtins.str] + """ + The role defines how the load balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. + """ + +@pulumi.input_type +class LoadbalancerNetworkArgs: + def __init__(__self__, *, + network_id: pulumi.Input[_builtins.str], + role: pulumi.Input[_builtins.str]): + """ + :param pulumi.Input[_builtins.str] network_id: Openstack network ID. + :param pulumi.Input[_builtins.str] role: The role defines how the load balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. + """ + pulumi.set(__self__, "network_id", network_id) + pulumi.set(__self__, "role", role) + + @_builtins.property + @pulumi.getter(name="networkId") + def network_id(self) -> pulumi.Input[_builtins.str]: + """ + Openstack network ID. + """ + return pulumi.get(self, "network_id") + + @network_id.setter + def network_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "network_id", value) + + @_builtins.property + @pulumi.getter + def role(self) -> pulumi.Input[_builtins.str]: + """ + The role defines how the load balancer is using the network. Possible values are: `ROLE_UNSPECIFIED`, `ROLE_LISTENERS_AND_TARGETS`, `ROLE_LISTENERS`, `ROLE_TARGETS`. + """ + return pulumi.get(self, "role") + + @role.setter + def role(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "role", value) + + +class LoadbalancerOptionsArgsDict(TypedDict): + acls: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]] + """ + Load Balancer is accessible only from an IP address in this range. + """ + observability: NotRequired[pulumi.Input[Optional['LoadbalancerOptionsObservabilityArgsDict']]] + """ + We offer Load Balancer metrics observability via ARGUS or external solutions. Not changeable after creation. + """ + private_network_only: NotRequired[pulumi.Input[Optional[_builtins.bool]]] + """ + If true, Load Balancer is accessible only via a private network IP address. + """ + +@pulumi.input_type +class LoadbalancerOptionsArgs: + def __init__(__self__, *, + acls: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + observability: pulumi.Input[Optional['LoadbalancerOptionsObservabilityArgs']] = None, + private_network_only: pulumi.Input[Optional[_builtins.bool]] = None): + """ + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] acls: Load Balancer is accessible only from an IP address in this range. + :param pulumi.Input['LoadbalancerOptionsObservabilityArgs'] observability: We offer Load Balancer metrics observability via ARGUS or external solutions. Not changeable after creation. + :param pulumi.Input[_builtins.bool] private_network_only: If true, Load Balancer is accessible only via a private network IP address. + """ + if acls is not None: + pulumi.set(__self__, "acls", acls) + if observability is not None: + pulumi.set(__self__, "observability", observability) + if private_network_only is not None: + pulumi.set(__self__, "private_network_only", private_network_only) + + @_builtins.property + @pulumi.getter + def acls(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + """ + Load Balancer is accessible only from an IP address in this range. + """ + return pulumi.get(self, "acls") + + @acls.setter + def acls(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "acls", value) + + @_builtins.property + @pulumi.getter + def observability(self) -> pulumi.Input[Optional['LoadbalancerOptionsObservabilityArgs']]: + """ + We offer Load Balancer metrics observability via ARGUS or external solutions. Not changeable after creation. + """ + return pulumi.get(self, "observability") + + @observability.setter + def observability(self, value: pulumi.Input[Optional['LoadbalancerOptionsObservabilityArgs']]): + pulumi.set(self, "observability", value) + + @_builtins.property + @pulumi.getter(name="privateNetworkOnly") + def private_network_only(self) -> pulumi.Input[Optional[_builtins.bool]]: + """ + If true, Load Balancer is accessible only via a private network IP address. + """ + return pulumi.get(self, "private_network_only") + + @private_network_only.setter + def private_network_only(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "private_network_only", value) + + +class LoadbalancerOptionsObservabilityArgsDict(TypedDict): + logs: NotRequired[pulumi.Input[Optional['LoadbalancerOptionsObservabilityLogsArgsDict']]] + """ + Observability logs configuration. Not changeable after creation. + """ + metrics: NotRequired[pulumi.Input[Optional['LoadbalancerOptionsObservabilityMetricsArgsDict']]] + """ + Observability metrics configuration. Not changeable after creation. + """ + +@pulumi.input_type +class LoadbalancerOptionsObservabilityArgs: + def __init__(__self__, *, + logs: pulumi.Input[Optional['LoadbalancerOptionsObservabilityLogsArgs']] = None, + metrics: pulumi.Input[Optional['LoadbalancerOptionsObservabilityMetricsArgs']] = None): + """ + :param pulumi.Input['LoadbalancerOptionsObservabilityLogsArgs'] logs: Observability logs configuration. Not changeable after creation. + :param pulumi.Input['LoadbalancerOptionsObservabilityMetricsArgs'] metrics: Observability metrics configuration. Not changeable after creation. + """ + if logs is not None: + pulumi.set(__self__, "logs", logs) + if metrics is not None: + pulumi.set(__self__, "metrics", metrics) + + @_builtins.property + @pulumi.getter + def logs(self) -> pulumi.Input[Optional['LoadbalancerOptionsObservabilityLogsArgs']]: + """ + Observability logs configuration. Not changeable after creation. + """ + return pulumi.get(self, "logs") + + @logs.setter + def logs(self, value: pulumi.Input[Optional['LoadbalancerOptionsObservabilityLogsArgs']]): + pulumi.set(self, "logs", value) + + @_builtins.property + @pulumi.getter + def metrics(self) -> pulumi.Input[Optional['LoadbalancerOptionsObservabilityMetricsArgs']]: + """ + Observability metrics configuration. Not changeable after creation. + """ + return pulumi.get(self, "metrics") + + @metrics.setter + def metrics(self, value: pulumi.Input[Optional['LoadbalancerOptionsObservabilityMetricsArgs']]): + pulumi.set(self, "metrics", value) + + +class LoadbalancerOptionsObservabilityLogsArgsDict(TypedDict): + credentials_ref: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Credentials reference for logs. Not changeable after creation. + """ + push_url: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + The ARGUS/Loki remote write Push URL to ship the logs to. Not changeable after creation. + """ + +@pulumi.input_type +class LoadbalancerOptionsObservabilityLogsArgs: + def __init__(__self__, *, + credentials_ref: pulumi.Input[Optional[_builtins.str]] = None, + push_url: pulumi.Input[Optional[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] credentials_ref: Credentials reference for logs. Not changeable after creation. + :param pulumi.Input[_builtins.str] push_url: The ARGUS/Loki remote write Push URL to ship the logs to. Not changeable after creation. + """ + if credentials_ref is not None: + pulumi.set(__self__, "credentials_ref", credentials_ref) + if push_url is not None: + pulumi.set(__self__, "push_url", push_url) + + @_builtins.property + @pulumi.getter(name="credentialsRef") + def credentials_ref(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Credentials reference for logs. Not changeable after creation. + """ + return pulumi.get(self, "credentials_ref") + + @credentials_ref.setter + def credentials_ref(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "credentials_ref", value) + + @_builtins.property + @pulumi.getter(name="pushUrl") + def push_url(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The ARGUS/Loki remote write Push URL to ship the logs to. Not changeable after creation. + """ + return pulumi.get(self, "push_url") + + @push_url.setter + def push_url(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "push_url", value) + + +class LoadbalancerOptionsObservabilityMetricsArgsDict(TypedDict): + credentials_ref: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Credentials reference for metrics. Not changeable after creation. + """ + push_url: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + The ARGUS/Prometheus remote write Push URL to ship the metrics to. Not changeable after creation. + """ + +@pulumi.input_type +class LoadbalancerOptionsObservabilityMetricsArgs: + def __init__(__self__, *, + credentials_ref: pulumi.Input[Optional[_builtins.str]] = None, + push_url: pulumi.Input[Optional[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.str] credentials_ref: Credentials reference for metrics. Not changeable after creation. + :param pulumi.Input[_builtins.str] push_url: The ARGUS/Prometheus remote write Push URL to ship the metrics to. Not changeable after creation. + """ + if credentials_ref is not None: + pulumi.set(__self__, "credentials_ref", credentials_ref) + if push_url is not None: + pulumi.set(__self__, "push_url", push_url) + + @_builtins.property + @pulumi.getter(name="credentialsRef") + def credentials_ref(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Credentials reference for metrics. Not changeable after creation. + """ + return pulumi.get(self, "credentials_ref") + + @credentials_ref.setter + def credentials_ref(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "credentials_ref", value) + + @_builtins.property + @pulumi.getter(name="pushUrl") + def push_url(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The ARGUS/Prometheus remote write Push URL to ship the metrics to. Not changeable after creation. + """ + return pulumi.get(self, "push_url") + + @push_url.setter + def push_url(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "push_url", value) + + +class LoadbalancerTargetPoolArgsDict(TypedDict): + name: pulumi.Input[_builtins.str] + """ + Target pool name. + """ + target_port: pulumi.Input[_builtins.int] + """ + Identical port number where each target listens for traffic. + """ + targets: pulumi.Input[Sequence[pulumi.Input['LoadbalancerTargetPoolTargetArgsDict']]] + """ + List of all targets which will be used in the pool. Limited to 1000. + """ + active_health_check: NotRequired[pulumi.Input[Optional['LoadbalancerTargetPoolActiveHealthCheckArgsDict']]] + session_persistence: NotRequired[pulumi.Input[Optional['LoadbalancerTargetPoolSessionPersistenceArgsDict']]] + """ + Here you can setup various session persistence options, so far only "`use_source_ip_address`" is supported. + """ + +@pulumi.input_type +class LoadbalancerTargetPoolArgs: + def __init__(__self__, *, + name: pulumi.Input[_builtins.str], + target_port: pulumi.Input[_builtins.int], + targets: pulumi.Input[Sequence[pulumi.Input['LoadbalancerTargetPoolTargetArgs']]], + active_health_check: pulumi.Input[Optional['LoadbalancerTargetPoolActiveHealthCheckArgs']] = None, + session_persistence: pulumi.Input[Optional['LoadbalancerTargetPoolSessionPersistenceArgs']] = None): + """ + :param pulumi.Input[_builtins.str] name: Target pool name. + :param pulumi.Input[_builtins.int] target_port: Identical port number where each target listens for traffic. + :param pulumi.Input[Sequence[pulumi.Input['LoadbalancerTargetPoolTargetArgs']]] targets: List of all targets which will be used in the pool. Limited to 1000. + :param pulumi.Input['LoadbalancerTargetPoolSessionPersistenceArgs'] session_persistence: Here you can setup various session persistence options, so far only "`use_source_ip_address`" is supported. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "target_port", target_port) + pulumi.set(__self__, "targets", targets) + if active_health_check is not None: + pulumi.set(__self__, "active_health_check", active_health_check) + if session_persistence is not None: + pulumi.set(__self__, "session_persistence", session_persistence) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Input[_builtins.str]: + """ + Target pool name. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter(name="targetPort") + def target_port(self) -> pulumi.Input[_builtins.int]: + """ + Identical port number where each target listens for traffic. + """ + return pulumi.get(self, "target_port") + + @target_port.setter + def target_port(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "target_port", value) + + @_builtins.property + @pulumi.getter + def targets(self) -> pulumi.Input[Sequence[pulumi.Input['LoadbalancerTargetPoolTargetArgs']]]: + """ + List of all targets which will be used in the pool. Limited to 1000. + """ + return pulumi.get(self, "targets") + + @targets.setter + def targets(self, value: pulumi.Input[Sequence[pulumi.Input['LoadbalancerTargetPoolTargetArgs']]]): + pulumi.set(self, "targets", value) + + @_builtins.property + @pulumi.getter(name="activeHealthCheck") + def active_health_check(self) -> pulumi.Input[Optional['LoadbalancerTargetPoolActiveHealthCheckArgs']]: + return pulumi.get(self, "active_health_check") + + @active_health_check.setter + def active_health_check(self, value: pulumi.Input[Optional['LoadbalancerTargetPoolActiveHealthCheckArgs']]): + pulumi.set(self, "active_health_check", value) + + @_builtins.property + @pulumi.getter(name="sessionPersistence") + def session_persistence(self) -> pulumi.Input[Optional['LoadbalancerTargetPoolSessionPersistenceArgs']]: + """ + Here you can setup various session persistence options, so far only "`use_source_ip_address`" is supported. + """ + return pulumi.get(self, "session_persistence") + + @session_persistence.setter + def session_persistence(self, value: pulumi.Input[Optional['LoadbalancerTargetPoolSessionPersistenceArgs']]): + pulumi.set(self, "session_persistence", value) + + +class LoadbalancerTargetPoolActiveHealthCheckArgsDict(TypedDict): + healthy_threshold: NotRequired[pulumi.Input[Optional[_builtins.int]]] + """ + Healthy threshold of the health checking. + """ + interval: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Interval duration of health checking in seconds. + """ + interval_jitter: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Interval duration threshold of the health checking in seconds. + """ + timeout: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Active health checking timeout duration in seconds. + """ + unhealthy_threshold: NotRequired[pulumi.Input[Optional[_builtins.int]]] + """ + Unhealthy threshold of the health checking. + """ + +@pulumi.input_type +class LoadbalancerTargetPoolActiveHealthCheckArgs: + def __init__(__self__, *, + healthy_threshold: pulumi.Input[Optional[_builtins.int]] = None, + interval: pulumi.Input[Optional[_builtins.str]] = None, + interval_jitter: pulumi.Input[Optional[_builtins.str]] = None, + timeout: pulumi.Input[Optional[_builtins.str]] = None, + unhealthy_threshold: pulumi.Input[Optional[_builtins.int]] = None): + """ + :param pulumi.Input[_builtins.int] healthy_threshold: Healthy threshold of the health checking. + :param pulumi.Input[_builtins.str] interval: Interval duration of health checking in seconds. + :param pulumi.Input[_builtins.str] interval_jitter: Interval duration threshold of the health checking in seconds. + :param pulumi.Input[_builtins.str] timeout: Active health checking timeout duration in seconds. + :param pulumi.Input[_builtins.int] unhealthy_threshold: Unhealthy threshold of the health checking. + """ + if healthy_threshold is not None: + pulumi.set(__self__, "healthy_threshold", healthy_threshold) + if interval is not None: + pulumi.set(__self__, "interval", interval) + if interval_jitter is not None: + pulumi.set(__self__, "interval_jitter", interval_jitter) + if timeout is not None: + pulumi.set(__self__, "timeout", timeout) + if unhealthy_threshold is not None: + pulumi.set(__self__, "unhealthy_threshold", unhealthy_threshold) + + @_builtins.property + @pulumi.getter(name="healthyThreshold") + def healthy_threshold(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + Healthy threshold of the health checking. + """ + return pulumi.get(self, "healthy_threshold") + + @healthy_threshold.setter + def healthy_threshold(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "healthy_threshold", value) + + @_builtins.property + @pulumi.getter + def interval(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Interval duration of health checking in seconds. + """ + return pulumi.get(self, "interval") + + @interval.setter + def interval(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "interval", value) + + @_builtins.property + @pulumi.getter(name="intervalJitter") + def interval_jitter(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Interval duration threshold of the health checking in seconds. + """ + return pulumi.get(self, "interval_jitter") + + @interval_jitter.setter + def interval_jitter(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "interval_jitter", value) + + @_builtins.property + @pulumi.getter + def timeout(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Active health checking timeout duration in seconds. + """ + return pulumi.get(self, "timeout") + + @timeout.setter + def timeout(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "timeout", value) + + @_builtins.property + @pulumi.getter(name="unhealthyThreshold") + def unhealthy_threshold(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + Unhealthy threshold of the health checking. + """ + return pulumi.get(self, "unhealthy_threshold") + + @unhealthy_threshold.setter + def unhealthy_threshold(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "unhealthy_threshold", value) + + +class LoadbalancerTargetPoolSessionPersistenceArgsDict(TypedDict): + use_source_ip_address: NotRequired[pulumi.Input[Optional[_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. + """ + +@pulumi.input_type +class LoadbalancerTargetPoolSessionPersistenceArgs: + def __init__(__self__, *, + use_source_ip_address: pulumi.Input[Optional[_builtins.bool]] = None): + """ + :param pulumi.Input[_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. + """ + if use_source_ip_address is not None: + pulumi.set(__self__, "use_source_ip_address", use_source_ip_address) + + @_builtins.property + @pulumi.getter(name="useSourceIpAddress") + def use_source_ip_address(self) -> pulumi.Input[Optional[_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") + + @use_source_ip_address.setter + def use_source_ip_address(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "use_source_ip_address", value) + + +class LoadbalancerTargetPoolTargetArgsDict(TypedDict): + display_name: pulumi.Input[_builtins.str] + """ + Target display name + """ + ip: pulumi.Input[_builtins.str] + """ + Target IP + """ + +@pulumi.input_type +class LoadbalancerTargetPoolTargetArgs: + def __init__(__self__, *, + display_name: pulumi.Input[_builtins.str], + ip: pulumi.Input[_builtins.str]): + """ + :param pulumi.Input[_builtins.str] display_name: Target display name + :param pulumi.Input[_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) -> pulumi.Input[_builtins.str]: + """ + Target display name + """ + return pulumi.get(self, "display_name") + + @display_name.setter def display_name(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "display_name", value) @@ -4674,6 +5333,13 @@ def weekly_snapshot_retention_weeks(self, value: pulumi.Input[Optional[_builtins class MongodbflexInstanceStorageArgsDict(TypedDict): class_: pulumi.Input[_builtins.str] + """ + The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + `bash + stackit mongodbflex options --storages --flavor-id FLAVOR_ID + ` + - `size` (Number) + """ size: pulumi.Input[_builtins.int] @pulumi.input_type @@ -4681,12 +5347,26 @@ class MongodbflexInstanceStorageArgs: def __init__(__self__, *, class_: pulumi.Input[_builtins.str], size: pulumi.Input[_builtins.int]): + """ + :param pulumi.Input[_builtins.str] class_: The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + `bash + stackit mongodbflex options --storages --flavor-id FLAVOR_ID + ` + - `size` (Number) + """ pulumi.set(__self__, "class_", class_) pulumi.set(__self__, "size", size) @_builtins.property @pulumi.getter(name="class") def class_(self) -> pulumi.Input[_builtins.str]: + """ + The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + `bash + stackit mongodbflex options --storages --flavor-id FLAVOR_ID + ` + - `size` (Number) + """ return pulumi.get(self, "class_") @class_.setter @@ -5152,7 +5832,7 @@ class ObservabilityInstanceAlertConfigArgsDict(TypedDict): """ Route configuration for the alerts. """ - global_: NotRequired[pulumi.Input[Optional['ObservabilityInstanceAlertConfigGlobalArgs']]] + global_: NotRequired[pulumi.Input[Optional['ObservabilityInstanceAlertConfigGlobalArgsDict']]] """ Global configuration for the alerts. If nothing passed the default argus config will be used. It is only possible to update the entire global part, not individual attributes. """ @@ -5384,15 +6064,15 @@ class ObservabilityInstanceAlertConfigReceiverArgsDict(TypedDict): """ Name of the receiver. """ - email_configs: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input['ObservabilityInstanceAlertConfigReceiverEmailConfigArgs']]]]] + email_configs: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input['ObservabilityInstanceAlertConfigReceiverEmailConfigArgsDict']]]]] """ List of email configurations. """ - opsgenie_configs: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input['ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgs']]]]] + opsgenie_configs: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input['ObservabilityInstanceAlertConfigReceiverOpsgenieConfigArgsDict']]]]] """ List of OpsGenie configurations. """ - webhooks_configs: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input['ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgs']]]]] + webhooks_configs: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input['ObservabilityInstanceAlertConfigReceiverWebhooksConfigArgsDict']]]]] """ List of Webhooks configurations. """ @@ -5839,7 +6519,7 @@ class ObservabilityInstanceAlertConfigRouteArgsDict(TypedDict): """ How long to wait before sending a notification again if it has already been sent successfully for an alert. (Usually ~3h or more). """ - routes: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input['ObservabilityInstanceAlertConfigRouteRouteArgs']]]]] + routes: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input['ObservabilityInstanceAlertConfigRouteRouteArgsDict']]]]] """ List of child routes. """ @@ -6737,6 +7417,13 @@ def id(self, value: pulumi.Input[Optional[_builtins.str]]): class PostgresflexInstanceStorageArgsDict(TypedDict): class_: pulumi.Input[_builtins.str] + """ + The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + `bash + stackit postgresflex options --storages --flavor-id FLAVOR_ID + ` + - `size` (Number) + """ size: pulumi.Input[_builtins.int] @pulumi.input_type @@ -6744,12 +7431,26 @@ class PostgresflexInstanceStorageArgs: def __init__(__self__, *, class_: pulumi.Input[_builtins.str], size: pulumi.Input[_builtins.int]): + """ + :param pulumi.Input[_builtins.str] class_: The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + `bash + stackit postgresflex options --storages --flavor-id FLAVOR_ID + ` + - `size` (Number) + """ pulumi.set(__self__, "class_", class_) pulumi.set(__self__, "size", size) @_builtins.property @pulumi.getter(name="class") def class_(self) -> pulumi.Input[_builtins.str]: + """ + The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + `bash + stackit postgresflex options --storages --flavor-id FLAVOR_ID + ` + - `size` (Number) + """ return pulumi.get(self, "class_") @class_.setter @@ -7271,1485 +7972,1986 @@ def graphite(self, value: pulumi.Input[Optional[_builtins.str]]): @pulumi.getter(name="lazyfreeLazyEviction") def lazyfree_lazy_eviction(self) -> pulumi.Input[Optional[_builtins.str]]: """ - The lazy eviction enablement (yes or no). + The lazy eviction enablement (yes or no). + """ + return pulumi.get(self, "lazyfree_lazy_eviction") + + @lazyfree_lazy_eviction.setter + def lazyfree_lazy_eviction(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "lazyfree_lazy_eviction", value) + + @_builtins.property + @pulumi.getter(name="lazyfreeLazyExpire") + def lazyfree_lazy_expire(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The lazy expire enablement (yes or no). + """ + return pulumi.get(self, "lazyfree_lazy_expire") + + @lazyfree_lazy_expire.setter + def lazyfree_lazy_expire(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "lazyfree_lazy_expire", value) + + @_builtins.property + @pulumi.getter(name="luaTimeLimit") + def lua_time_limit(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + The Lua time limit. + """ + return pulumi.get(self, "lua_time_limit") + + @lua_time_limit.setter + def lua_time_limit(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "lua_time_limit", value) + + @_builtins.property + @pulumi.getter(name="maxDiskThreshold") + def max_disk_threshold(self) -> pulumi.Input[Optional[_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") + + @max_disk_threshold.setter + def max_disk_threshold(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "max_disk_threshold", value) + + @_builtins.property + @pulumi.getter + def maxclients(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + The maximum number of clients. + """ + return pulumi.get(self, "maxclients") + + @maxclients.setter + def maxclients(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "maxclients", value) + + @_builtins.property + @pulumi.getter(name="maxmemoryPolicy") + def maxmemory_policy(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The policy to handle the maximum memory (volatile-lru, noeviction, etc). + """ + return pulumi.get(self, "maxmemory_policy") + + @maxmemory_policy.setter + def maxmemory_policy(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "maxmemory_policy", value) + + @_builtins.property + @pulumi.getter(name="maxmemorySamples") + def maxmemory_samples(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + The maximum memory samples. + """ + return pulumi.get(self, "maxmemory_samples") + + @maxmemory_samples.setter + def maxmemory_samples(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "maxmemory_samples", value) + + @_builtins.property + @pulumi.getter(name="metricsFrequency") + def metrics_frequency(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + The frequency in seconds at which metrics are emitted. + """ + return pulumi.get(self, "metrics_frequency") + + @metrics_frequency.setter + def metrics_frequency(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "metrics_frequency", value) + + @_builtins.property + @pulumi.getter(name="metricsPrefix") + def metrics_prefix(self) -> pulumi.Input[Optional[_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") + + @metrics_prefix.setter + def metrics_prefix(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "metrics_prefix", value) + + @_builtins.property + @pulumi.getter(name="minReplicasMaxLag") + def min_replicas_max_lag(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + The minimum replicas maximum lag. + """ + return pulumi.get(self, "min_replicas_max_lag") + + @min_replicas_max_lag.setter + def min_replicas_max_lag(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "min_replicas_max_lag", value) + + @_builtins.property + @pulumi.getter(name="monitoringInstanceId") + def monitoring_instance_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The ID of the STACKIT monitoring instance. + """ + return pulumi.get(self, "monitoring_instance_id") + + @monitoring_instance_id.setter + def monitoring_instance_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "monitoring_instance_id", value) + + @_builtins.property + @pulumi.getter(name="notifyKeyspaceEvents") + def notify_keyspace_events(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The notify keyspace events. + """ + return pulumi.get(self, "notify_keyspace_events") + + @notify_keyspace_events.setter + def notify_keyspace_events(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "notify_keyspace_events", value) + + @_builtins.property + @pulumi.getter(name="sgwAcl") + def sgw_acl(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Comma separated list of IP networks in CIDR notation which are allowed to access this instance. + """ + return pulumi.get(self, "sgw_acl") + + @sgw_acl.setter + def sgw_acl(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "sgw_acl", value) + + @_builtins.property + @pulumi.getter + def snapshot(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The snapshot configuration. + """ + return pulumi.get(self, "snapshot") + + @snapshot.setter + def snapshot(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "snapshot", value) + + @_builtins.property + @pulumi.getter + def syslogs(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + """ + List of syslog servers to send logs to. + """ + return pulumi.get(self, "syslogs") + + @syslogs.setter + def syslogs(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "syslogs", value) + + @_builtins.property + @pulumi.getter(name="tlsCiphers") + def tls_ciphers(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + """ + List of TLS ciphers to use. + """ + return pulumi.get(self, "tls_ciphers") + + @tls_ciphers.setter + def tls_ciphers(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "tls_ciphers", value) + + @_builtins.property + @pulumi.getter(name="tlsCiphersuites") + def tls_ciphersuites(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + TLS cipher suites to use. """ - return pulumi.get(self, "lazyfree_lazy_eviction") + return pulumi.get(self, "tls_ciphersuites") - @lazyfree_lazy_eviction.setter - def lazyfree_lazy_eviction(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "lazyfree_lazy_eviction", value) + @tls_ciphersuites.setter + def tls_ciphersuites(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "tls_ciphersuites", value) @_builtins.property - @pulumi.getter(name="lazyfreeLazyExpire") - def lazyfree_lazy_expire(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="tlsProtocols") + def tls_protocols(self) -> pulumi.Input[Optional[_builtins.str]]: """ - The lazy expire enablement (yes or no). + TLS protocol to use. """ - return pulumi.get(self, "lazyfree_lazy_expire") + return pulumi.get(self, "tls_protocols") - @lazyfree_lazy_expire.setter - def lazyfree_lazy_expire(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "lazyfree_lazy_expire", value) + @tls_protocols.setter + def tls_protocols(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "tls_protocols", value) - @_builtins.property - @pulumi.getter(name="luaTimeLimit") - def lua_time_limit(self) -> pulumi.Input[Optional[_builtins.int]]: + +class RoutingTableRouteDestinationArgsDict(TypedDict): + type: pulumi.Input[_builtins.str] + """ + CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. + """ + value: pulumi.Input[_builtins.str] + """ + An CIDR string. + """ + +@pulumi.input_type +class RoutingTableRouteDestinationArgs: + def __init__(__self__, *, + type: pulumi.Input[_builtins.str], + value: pulumi.Input[_builtins.str]): """ - The Lua time limit. + :param pulumi.Input[_builtins.str] type: CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. + :param pulumi.Input[_builtins.str] value: An CIDR string. """ - return pulumi.get(self, "lua_time_limit") - - @lua_time_limit.setter - def lua_time_limit(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "lua_time_limit", value) + pulumi.set(__self__, "type", type) + pulumi.set(__self__, "value", value) @_builtins.property - @pulumi.getter(name="maxDiskThreshold") - def max_disk_threshold(self) -> pulumi.Input[Optional[_builtins.int]]: + @pulumi.getter + def type(self) -> pulumi.Input[_builtins.str]: """ - The maximum disk threshold in MB. If the disk usage exceeds this threshold, the instance will be stopped. + CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. """ - return pulumi.get(self, "max_disk_threshold") + return pulumi.get(self, "type") - @max_disk_threshold.setter - def max_disk_threshold(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "max_disk_threshold", value) + @type.setter + def type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "type", value) @_builtins.property @pulumi.getter - def maxclients(self) -> pulumi.Input[Optional[_builtins.int]]: + def value(self) -> pulumi.Input[_builtins.str]: """ - The maximum number of clients. + An CIDR string. """ - return pulumi.get(self, "maxclients") + return pulumi.get(self, "value") - @maxclients.setter - def maxclients(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "maxclients", value) + @value.setter + def value(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "value", value) - @_builtins.property - @pulumi.getter(name="maxmemoryPolicy") - def maxmemory_policy(self) -> pulumi.Input[Optional[_builtins.str]]: + +class RoutingTableRouteNextHopArgsDict(TypedDict): + type: pulumi.Input[_builtins.str] + """ + Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + """ + value: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. + """ + +@pulumi.input_type +class RoutingTableRouteNextHopArgs: + def __init__(__self__, *, + type: pulumi.Input[_builtins.str], + value: pulumi.Input[Optional[_builtins.str]] = None): """ - The policy to handle the maximum memory (volatile-lru, noeviction, etc). + :param pulumi.Input[_builtins.str] type: Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + :param pulumi.Input[_builtins.str] value: Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. """ - return pulumi.get(self, "maxmemory_policy") - - @maxmemory_policy.setter - def maxmemory_policy(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "maxmemory_policy", value) + pulumi.set(__self__, "type", type) + if value is not None: + pulumi.set(__self__, "value", value) @_builtins.property - @pulumi.getter(name="maxmemorySamples") - def maxmemory_samples(self) -> pulumi.Input[Optional[_builtins.int]]: + @pulumi.getter + def type(self) -> pulumi.Input[_builtins.str]: """ - The maximum memory samples. + Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. """ - return pulumi.get(self, "maxmemory_samples") + return pulumi.get(self, "type") - @maxmemory_samples.setter - def maxmemory_samples(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "maxmemory_samples", value) + @type.setter + def type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "type", value) @_builtins.property - @pulumi.getter(name="metricsFrequency") - def metrics_frequency(self) -> pulumi.Input[Optional[_builtins.int]]: + @pulumi.getter + def value(self) -> pulumi.Input[Optional[_builtins.str]]: """ - The frequency in seconds at which metrics are emitted. + Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. """ - return pulumi.get(self, "metrics_frequency") + return pulumi.get(self, "value") - @metrics_frequency.setter - def metrics_frequency(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "metrics_frequency", value) + @value.setter + def value(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "value", value) - @_builtins.property - @pulumi.getter(name="metricsPrefix") - def metrics_prefix(self) -> pulumi.Input[Optional[_builtins.str]]: + +class SecretsmanagerInstanceKmsKeyArgsDict(TypedDict): + key_id: pulumi.Input[_builtins.str] + """ + UUID of the key within the STACKIT-KMS to use for the encryption. + """ + key_ring_id: pulumi.Input[_builtins.str] + """ + UUID of the keyring where the key is located within the STACKTI-KMS. + """ + key_version: pulumi.Input[_builtins.int] + """ + Version of the key within the STACKIT-KMS to use for the encryption. + """ + service_account_email: pulumi.Input[_builtins.str] + """ + Service-Account linked to the Key within the STACKIT-KMS. + """ + +@pulumi.input_type +class SecretsmanagerInstanceKmsKeyArgs: + def __init__(__self__, *, + key_id: pulumi.Input[_builtins.str], + key_ring_id: pulumi.Input[_builtins.str], + key_version: pulumi.Input[_builtins.int], + service_account_email: pulumi.Input[_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 pulumi.Input[_builtins.str] key_id: UUID of the key within the STACKIT-KMS to use for the encryption. + :param pulumi.Input[_builtins.str] key_ring_id: UUID of the keyring where the key is located within the STACKTI-KMS. + :param pulumi.Input[_builtins.int] key_version: Version of the key within the STACKIT-KMS to use for the encryption. + :param pulumi.Input[_builtins.str] service_account_email: Service-Account linked to the Key within the STACKIT-KMS. """ - return pulumi.get(self, "metrics_prefix") - - @metrics_prefix.setter - def metrics_prefix(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "metrics_prefix", value) + 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="minReplicasMaxLag") - def min_replicas_max_lag(self) -> pulumi.Input[Optional[_builtins.int]]: + @pulumi.getter(name="keyId") + def key_id(self) -> pulumi.Input[_builtins.str]: """ - The minimum replicas maximum lag. + UUID of the key within the STACKIT-KMS to use for the encryption. """ - return pulumi.get(self, "min_replicas_max_lag") + return pulumi.get(self, "key_id") - @min_replicas_max_lag.setter - def min_replicas_max_lag(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "min_replicas_max_lag", value) + @key_id.setter + def key_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "key_id", value) @_builtins.property - @pulumi.getter(name="monitoringInstanceId") - def monitoring_instance_id(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="keyRingId") + def key_ring_id(self) -> pulumi.Input[_builtins.str]: """ - The ID of the STACKIT monitoring instance. + UUID of the keyring where the key is located within the STACKTI-KMS. """ - return pulumi.get(self, "monitoring_instance_id") + return pulumi.get(self, "key_ring_id") - @monitoring_instance_id.setter - def monitoring_instance_id(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "monitoring_instance_id", value) + @key_ring_id.setter + def key_ring_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "key_ring_id", value) @_builtins.property - @pulumi.getter(name="notifyKeyspaceEvents") - def notify_keyspace_events(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="keyVersion") + def key_version(self) -> pulumi.Input[_builtins.int]: """ - The notify keyspace events. + Version of the key within the STACKIT-KMS to use for the encryption. """ - return pulumi.get(self, "notify_keyspace_events") + return pulumi.get(self, "key_version") - @notify_keyspace_events.setter - def notify_keyspace_events(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "notify_keyspace_events", value) + @key_version.setter + def key_version(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "key_version", value) @_builtins.property - @pulumi.getter(name="sgwAcl") - def sgw_acl(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="serviceAccountEmail") + def service_account_email(self) -> pulumi.Input[_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") - @sgw_acl.setter - def sgw_acl(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "sgw_acl", value) + @service_account_email.setter + def service_account_email(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "service_account_email", value) + + +class SecurityGroupRuleIcmpParametersArgsDict(TypedDict): + code: pulumi.Input[_builtins.int] + """ + ICMP code. Can be set if the protocol is ICMP. + """ + type: pulumi.Input[_builtins.int] + """ + ICMP type. Can be set if the protocol is ICMP. + """ + +@pulumi.input_type +class SecurityGroupRuleIcmpParametersArgs: + def __init__(__self__, *, + code: pulumi.Input[_builtins.int], + type: pulumi.Input[_builtins.int]): + """ + :param pulumi.Input[_builtins.int] code: ICMP code. Can be set if the protocol is ICMP. + :param pulumi.Input[_builtins.int] type: ICMP type. Can be set if the protocol is ICMP. + """ + pulumi.set(__self__, "code", code) + pulumi.set(__self__, "type", type) @_builtins.property @pulumi.getter - def snapshot(self) -> pulumi.Input[Optional[_builtins.str]]: + def code(self) -> pulumi.Input[_builtins.int]: """ - The snapshot configuration. + ICMP code. Can be set if the protocol is ICMP. """ - return pulumi.get(self, "snapshot") + return pulumi.get(self, "code") - @snapshot.setter - def snapshot(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "snapshot", value) + @code.setter + def code(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "code", value) @_builtins.property @pulumi.getter - def syslogs(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + def type(self) -> pulumi.Input[_builtins.int]: """ - List of syslog servers to send logs to. + ICMP type. Can be set if the protocol is ICMP. """ - return pulumi.get(self, "syslogs") + return pulumi.get(self, "type") - @syslogs.setter - def syslogs(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): - pulumi.set(self, "syslogs", value) + @type.setter + def type(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "type", value) - @_builtins.property - @pulumi.getter(name="tlsCiphers") - def tls_ciphers(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + +class SecurityGroupRulePortRangeArgsDict(TypedDict): + max: pulumi.Input[_builtins.int] + """ + The maximum port number. Should be greater or equal to the minimum. + """ + min: pulumi.Input[_builtins.int] + """ + The minimum port number. Should be less or equal to the maximum. + """ + +@pulumi.input_type +class SecurityGroupRulePortRangeArgs: + def __init__(__self__, *, + max: pulumi.Input[_builtins.int], + min: pulumi.Input[_builtins.int]): """ - List of TLS ciphers to use. + :param pulumi.Input[_builtins.int] max: The maximum port number. Should be greater or equal to the minimum. + :param pulumi.Input[_builtins.int] min: The minimum port number. Should be less or equal to the maximum. """ - return pulumi.get(self, "tls_ciphers") - - @tls_ciphers.setter - def tls_ciphers(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): - pulumi.set(self, "tls_ciphers", value) + pulumi.set(__self__, "max", max) + pulumi.set(__self__, "min", min) @_builtins.property - @pulumi.getter(name="tlsCiphersuites") - def tls_ciphersuites(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter + def max(self) -> pulumi.Input[_builtins.int]: """ - TLS cipher suites to use. + The maximum port number. Should be greater or equal to the minimum. """ - return pulumi.get(self, "tls_ciphersuites") + return pulumi.get(self, "max") - @tls_ciphersuites.setter - def tls_ciphersuites(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "tls_ciphersuites", value) + @max.setter + def max(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "max", value) @_builtins.property - @pulumi.getter(name="tlsProtocols") - def tls_protocols(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter + def min(self) -> pulumi.Input[_builtins.int]: """ - TLS protocol to use. + The minimum port number. Should be less or equal to the maximum. """ - return pulumi.get(self, "tls_protocols") + return pulumi.get(self, "min") - @tls_protocols.setter - def tls_protocols(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "tls_protocols", value) + @min.setter + def min(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "min", value) -class RoutingTableRouteDestinationArgsDict(TypedDict): - type: pulumi.Input[_builtins.str] +class SecurityGroupRuleProtocolArgsDict(TypedDict): + name: NotRequired[pulumi.Input[Optional[_builtins.str]]] """ - CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. + The protocol name which the rule should match. Either `name` or `number` must be provided. Possible values are: `ah`, `dccp`, `egp`, `esp`, `gre`, `icmp`, `igmp`, `ipip`, `ipv6-encap`, `ipv6-frag`, `ipv6-icmp`, `ipv6-nonxt`, `ipv6-opts`, `ipv6-route`, `ospf`, `pgm`, `rsvp`, `sctp`, `tcp`, `udp`, `udplite`, `vrrp`. """ - value: pulumi.Input[_builtins.str] + number: NotRequired[pulumi.Input[Optional[_builtins.int]]] """ - An CIDR string. + The protocol number which the rule should match. Either `name` or `number` must be provided. """ @pulumi.input_type -class RoutingTableRouteDestinationArgs: +class SecurityGroupRuleProtocolArgs: def __init__(__self__, *, - type: pulumi.Input[_builtins.str], - value: pulumi.Input[_builtins.str]): + name: pulumi.Input[Optional[_builtins.str]] = None, + number: pulumi.Input[Optional[_builtins.int]] = None): """ - :param pulumi.Input[_builtins.str] type: CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. - :param pulumi.Input[_builtins.str] value: An CIDR string. + :param pulumi.Input[_builtins.str] name: The protocol name which the rule should match. Either `name` or `number` must be provided. Possible values are: `ah`, `dccp`, `egp`, `esp`, `gre`, `icmp`, `igmp`, `ipip`, `ipv6-encap`, `ipv6-frag`, `ipv6-icmp`, `ipv6-nonxt`, `ipv6-opts`, `ipv6-route`, `ospf`, `pgm`, `rsvp`, `sctp`, `tcp`, `udp`, `udplite`, `vrrp`. + :param pulumi.Input[_builtins.int] number: The protocol number which the rule should match. Either `name` or `number` must be provided. """ - pulumi.set(__self__, "type", type) - pulumi.set(__self__, "value", value) + if name is not None: + pulumi.set(__self__, "name", name) + if number is not None: + pulumi.set(__self__, "number", number) @_builtins.property @pulumi.getter - def type(self) -> pulumi.Input[_builtins.str]: + def name(self) -> pulumi.Input[Optional[_builtins.str]]: """ - CIDRV type. Possible values are: `cidrv4`, `cidrv6`. Only `cidrv4` is supported during experimental stage. + The protocol name which the rule should match. Either `name` or `number` must be provided. Possible values are: `ah`, `dccp`, `egp`, `esp`, `gre`, `icmp`, `igmp`, `ipip`, `ipv6-encap`, `ipv6-frag`, `ipv6-icmp`, `ipv6-nonxt`, `ipv6-opts`, `ipv6-route`, `ospf`, `pgm`, `rsvp`, `sctp`, `tcp`, `udp`, `udplite`, `vrrp`. """ - return pulumi.get(self, "type") + return pulumi.get(self, "name") - @type.setter - def type(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "type", value) + @name.setter + def name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "name", value) @_builtins.property @pulumi.getter - def value(self) -> pulumi.Input[_builtins.str]: + def number(self) -> pulumi.Input[Optional[_builtins.int]]: """ - An CIDR string. + The protocol number which the rule should match. Either `name` or `number` must be provided. """ - return pulumi.get(self, "value") + return pulumi.get(self, "number") - @value.setter - def value(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "value", value) + @number.setter + def number(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "number", value) -class RoutingTableRouteNextHopArgsDict(TypedDict): - type: pulumi.Input[_builtins.str] +class ServerAgentArgsDict(TypedDict): + provisioned: NotRequired[pulumi.Input[Optional[_builtins.bool]]] """ - Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + Whether a STACKIT Server Agent is provisioned at the server """ - value: NotRequired[pulumi.Input[Optional[_builtins.str]]] + provisioning_policy: NotRequired[pulumi.Input[Optional[_builtins.str]]] """ - Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. + Agent provisioning policy: `ALWAYS`, `NEVER`, or `INHERIT`. `INHERIT` follows the image default value. """ @pulumi.input_type -class RoutingTableRouteNextHopArgs: +class ServerAgentArgs: def __init__(__self__, *, - type: pulumi.Input[_builtins.str], - value: pulumi.Input[Optional[_builtins.str]] = None): + provisioned: pulumi.Input[Optional[_builtins.bool]] = None, + provisioning_policy: pulumi.Input[Optional[_builtins.str]] = None): """ - :param pulumi.Input[_builtins.str] type: Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. - :param pulumi.Input[_builtins.str] value: Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. + :param pulumi.Input[_builtins.bool] provisioned: Whether a STACKIT Server Agent is provisioned at the server + :param pulumi.Input[_builtins.str] provisioning_policy: Agent provisioning policy: `ALWAYS`, `NEVER`, or `INHERIT`. `INHERIT` follows the image default value. """ - pulumi.set(__self__, "type", type) - if value is not None: - pulumi.set(__self__, "value", value) + if provisioned is not None: + pulumi.set(__self__, "provisioned", provisioned) + if provisioning_policy is not None: + pulumi.set(__self__, "provisioning_policy", provisioning_policy) @_builtins.property @pulumi.getter - def type(self) -> pulumi.Input[_builtins.str]: + def provisioned(self) -> pulumi.Input[Optional[_builtins.bool]]: """ - Type of the next hop. Possible values are: `blackhole`, `internet`, `ipv4`, `ipv6`. + Whether a STACKIT Server Agent is provisioned at the server """ - return pulumi.get(self, "type") + return pulumi.get(self, "provisioned") - @type.setter - def type(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "type", value) + @provisioned.setter + def provisioned(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "provisioned", value) @_builtins.property - @pulumi.getter - def value(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="provisioningPolicy") + def provisioning_policy(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Either IPv4 or IPv6 (not set for blackhole and internet). Only IPv4 supported during experimental stage. + Agent provisioning policy: `ALWAYS`, `NEVER`, or `INHERIT`. `INHERIT` follows the image default value. """ - return pulumi.get(self, "value") + return pulumi.get(self, "provisioning_policy") - @value.setter - def value(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "value", value) + @provisioning_policy.setter + def provisioning_policy(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "provisioning_policy", value) -class SecretsmanagerInstanceKmsKeyArgsDict(TypedDict): - key_id: pulumi.Input[_builtins.str] +class ServerBackupScheduleBackupPropertiesArgsDict(TypedDict): + name: pulumi.Input[_builtins.str] + retention_period: pulumi.Input[_builtins.int] + volume_ids: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]] + +@pulumi.input_type +class ServerBackupScheduleBackupPropertiesArgs: + def __init__(__self__, *, + name: pulumi.Input[_builtins.str], + retention_period: pulumi.Input[_builtins.int], + volume_ids: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None): + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "retention_period", retention_period) + if volume_ids is not None: + pulumi.set(__self__, "volume_ids", volume_ids) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Input[_builtins.str]: + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter(name="retentionPeriod") + def retention_period(self) -> pulumi.Input[_builtins.int]: + return pulumi.get(self, "retention_period") + + @retention_period.setter + def retention_period(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "retention_period", value) + + @_builtins.property + @pulumi.getter(name="volumeIds") + def volume_ids(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + return pulumi.get(self, "volume_ids") + + @volume_ids.setter + def volume_ids(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "volume_ids", value) + + +class ServerBootVolumeArgsDict(TypedDict): + source_id: pulumi.Input[_builtins.str] """ - UUID of the key within the STACKIT-KMS to use for the encryption. + The ID of the source, either image ID or volume ID """ - key_ring_id: pulumi.Input[_builtins.str] + source_type: pulumi.Input[_builtins.str] """ - UUID of the keyring where the key is located within the STACKTI-KMS. + The type of the source. Possible values are: `volume`, `image`. """ - key_version: pulumi.Input[_builtins.int] + delete_on_termination: NotRequired[pulumi.Input[Optional[_builtins.bool]]] """ - Version of the key within the STACKIT-KMS to use for the encryption. + Delete the volume during the termination of the server. Only allowed when `source_type` is `image`. + """ + id: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + The ID of the boot volume + """ + performance_class: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + The performance class of the server. """ - service_account_email: pulumi.Input[_builtins.str] + size: NotRequired[pulumi.Input[Optional[_builtins.int]]] """ - Service-Account linked to the Key within the STACKIT-KMS. + The size of the boot volume in GB. Must be provided when `source_type` is `image`. """ @pulumi.input_type -class SecretsmanagerInstanceKmsKeyArgs: +class ServerBootVolumeArgs: def __init__(__self__, *, - key_id: pulumi.Input[_builtins.str], - key_ring_id: pulumi.Input[_builtins.str], - key_version: pulumi.Input[_builtins.int], - service_account_email: pulumi.Input[_builtins.str]): + source_id: pulumi.Input[_builtins.str], + source_type: pulumi.Input[_builtins.str], + delete_on_termination: pulumi.Input[Optional[_builtins.bool]] = None, + id: pulumi.Input[Optional[_builtins.str]] = None, + performance_class: pulumi.Input[Optional[_builtins.str]] = None, + size: pulumi.Input[Optional[_builtins.int]] = None): """ - :param pulumi.Input[_builtins.str] key_id: UUID of the key within the STACKIT-KMS to use for the encryption. - :param pulumi.Input[_builtins.str] key_ring_id: UUID of the keyring where the key is located within the STACKTI-KMS. - :param pulumi.Input[_builtins.int] key_version: Version of the key within the STACKIT-KMS to use for the encryption. - :param pulumi.Input[_builtins.str] service_account_email: Service-Account linked to the Key within the STACKIT-KMS. + :param pulumi.Input[_builtins.str] source_id: The ID of the source, either image ID or volume ID + :param pulumi.Input[_builtins.str] source_type: The type of the source. Possible values are: `volume`, `image`. + :param pulumi.Input[_builtins.bool] delete_on_termination: Delete the volume during the termination of the server. Only allowed when `source_type` is `image`. + :param pulumi.Input[_builtins.str] id: The ID of the boot volume + :param pulumi.Input[_builtins.str] performance_class: The performance class of the server. + :param pulumi.Input[_builtins.int] size: The size of the boot volume in GB. Must be provided when `source_type` is `image`. """ - 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__, "source_id", source_id) + pulumi.set(__self__, "source_type", source_type) + if delete_on_termination is not None: + pulumi.set(__self__, "delete_on_termination", delete_on_termination) + if id is not None: + pulumi.set(__self__, "id", id) + if performance_class is not None: + pulumi.set(__self__, "performance_class", performance_class) + if size is not None: + pulumi.set(__self__, "size", size) @_builtins.property - @pulumi.getter(name="keyId") - def key_id(self) -> pulumi.Input[_builtins.str]: + @pulumi.getter(name="sourceId") + def source_id(self) -> pulumi.Input[_builtins.str]: """ - UUID of the key within the STACKIT-KMS to use for the encryption. + The ID of the source, either image ID or volume ID """ - return pulumi.get(self, "key_id") + return pulumi.get(self, "source_id") - @key_id.setter - def key_id(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "key_id", value) + @source_id.setter + def source_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "source_id", value) @_builtins.property - @pulumi.getter(name="keyRingId") - def key_ring_id(self) -> pulumi.Input[_builtins.str]: + @pulumi.getter(name="sourceType") + def source_type(self) -> pulumi.Input[_builtins.str]: """ - UUID of the keyring where the key is located within the STACKTI-KMS. + The type of the source. Possible values are: `volume`, `image`. """ - return pulumi.get(self, "key_ring_id") + return pulumi.get(self, "source_type") - @key_ring_id.setter - def key_ring_id(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "key_ring_id", value) + @source_type.setter + def source_type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "source_type", value) @_builtins.property - @pulumi.getter(name="keyVersion") - def key_version(self) -> pulumi.Input[_builtins.int]: + @pulumi.getter(name="deleteOnTermination") + def delete_on_termination(self) -> pulumi.Input[Optional[_builtins.bool]]: """ - Version of the key within the STACKIT-KMS to use for the encryption. + Delete the volume during the termination of the server. Only allowed when `source_type` is `image`. """ - return pulumi.get(self, "key_version") + return pulumi.get(self, "delete_on_termination") - @key_version.setter - def key_version(self, value: pulumi.Input[_builtins.int]): - pulumi.set(self, "key_version", value) + @delete_on_termination.setter + def delete_on_termination(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "delete_on_termination", value) @_builtins.property - @pulumi.getter(name="serviceAccountEmail") - def service_account_email(self) -> pulumi.Input[_builtins.str]: + @pulumi.getter + def id(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Service-Account linked to the Key within the STACKIT-KMS. + The ID of the boot volume """ - return pulumi.get(self, "service_account_email") + return pulumi.get(self, "id") - @service_account_email.setter - def service_account_email(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "service_account_email", value) + @id.setter + def id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "id", value) + @_builtins.property + @pulumi.getter(name="performanceClass") + def performance_class(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The performance class of the server. + """ + return pulumi.get(self, "performance_class") -class SecurityGroupRuleIcmpParametersArgsDict(TypedDict): - code: pulumi.Input[_builtins.int] + @performance_class.setter + def performance_class(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "performance_class", value) + + @_builtins.property + @pulumi.getter + def size(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + The size of the boot volume in GB. Must be provided when `source_type` is `image`. + """ + return pulumi.get(self, "size") + + @size.setter + def size(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "size", value) + + +class ServiceAccountFederatedIdentityProviderAssertionArgsDict(TypedDict): + item: pulumi.Input[_builtins.str] """ - ICMP code. Can be set if the protocol is ICMP. + The assertion claim. At least one assertion with the claim "aud" is required for security reasons. """ - type: pulumi.Input[_builtins.int] + operator: pulumi.Input[_builtins.str] """ - ICMP type. Can be set if the protocol is ICMP. + The assertion operator. Currently, the only supported operator is "equals". + """ + value: pulumi.Input[_builtins.str] + """ + The assertion value. """ @pulumi.input_type -class SecurityGroupRuleIcmpParametersArgs: +class ServiceAccountFederatedIdentityProviderAssertionArgs: def __init__(__self__, *, - code: pulumi.Input[_builtins.int], - type: pulumi.Input[_builtins.int]): + item: pulumi.Input[_builtins.str], + operator: pulumi.Input[_builtins.str], + value: pulumi.Input[_builtins.str]): """ - :param pulumi.Input[_builtins.int] code: ICMP code. Can be set if the protocol is ICMP. - :param pulumi.Input[_builtins.int] type: ICMP type. Can be set if the protocol is ICMP. + :param pulumi.Input[_builtins.str] item: The assertion claim. At least one assertion with the claim "aud" is required for security reasons. + :param pulumi.Input[_builtins.str] operator: The assertion operator. Currently, the only supported operator is "equals". + :param pulumi.Input[_builtins.str] value: The assertion value. """ - pulumi.set(__self__, "code", code) - 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 code(self) -> pulumi.Input[_builtins.int]: + def item(self) -> pulumi.Input[_builtins.str]: """ - ICMP code. Can be set if the protocol is ICMP. + The assertion claim. At least one assertion with the claim "aud" is required for security reasons. """ - return pulumi.get(self, "code") + return pulumi.get(self, "item") - @code.setter - def code(self, value: pulumi.Input[_builtins.int]): - pulumi.set(self, "code", value) + @item.setter + def item(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "item", value) @_builtins.property @pulumi.getter - def type(self) -> pulumi.Input[_builtins.int]: + def operator(self) -> pulumi.Input[_builtins.str]: """ - ICMP type. Can be set if the protocol is ICMP. + The assertion operator. Currently, the only supported operator is "equals". """ - return pulumi.get(self, "type") + return pulumi.get(self, "operator") - @type.setter - def type(self, value: pulumi.Input[_builtins.int]): - pulumi.set(self, "type", value) + @operator.setter + def operator(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "operator", value) + + @_builtins.property + @pulumi.getter + def value(self) -> pulumi.Input[_builtins.str]: + """ + The assertion value. + """ + return pulumi.get(self, "value") + + @value.setter + def value(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "value", value) -class SecurityGroupRulePortRangeArgsDict(TypedDict): - max: pulumi.Input[_builtins.int] +class SfsExportPolicyRuleArgsDict(TypedDict): + ip_acls: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] """ - The maximum port number. Should be greater or equal to the minimum. + 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). """ - min: pulumi.Input[_builtins.int] + order: pulumi.Input[_builtins.int] """ - The minimum port number. Should be less or equal to the maximum. + Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + """ + description: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Description of the Rule + """ + read_only: NotRequired[pulumi.Input[Optional[_builtins.bool]]] + """ + Flag to indicate if client IPs matching this rule can only mount the share in read only mode + """ + set_uuid: NotRequired[pulumi.Input[Optional[_builtins.bool]]] + """ + Flag to honor set UUID + """ + super_user: NotRequired[pulumi.Input[Optional[_builtins.bool]]] + """ + Flag to indicate if client IPs matching this rule have root access on the Share """ @pulumi.input_type -class SecurityGroupRulePortRangeArgs: +class SfsExportPolicyRuleArgs: def __init__(__self__, *, - max: pulumi.Input[_builtins.int], - min: pulumi.Input[_builtins.int]): + ip_acls: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], + order: pulumi.Input[_builtins.int], + description: pulumi.Input[Optional[_builtins.str]] = None, + read_only: pulumi.Input[Optional[_builtins.bool]] = None, + set_uuid: pulumi.Input[Optional[_builtins.bool]] = None, + super_user: pulumi.Input[Optional[_builtins.bool]] = None): """ - :param pulumi.Input[_builtins.int] max: The maximum port number. Should be greater or equal to the minimum. - :param pulumi.Input[_builtins.int] min: The minimum port number. Should be less or equal to the maximum. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_acls: IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + :param pulumi.Input[_builtins.int] order: Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied + :param pulumi.Input[_builtins.str] description: Description of the Rule + :param pulumi.Input[_builtins.bool] read_only: Flag to indicate if client IPs matching this rule can only mount the share in read only mode + :param pulumi.Input[_builtins.bool] set_uuid: Flag to honor set UUID + :param pulumi.Input[_builtins.bool] super_user: Flag to indicate if client IPs matching this rule have root access on the Share """ - pulumi.set(__self__, "max", max) - pulumi.set(__self__, "min", min) + pulumi.set(__self__, "ip_acls", ip_acls) + pulumi.set(__self__, "order", order) + if description is not None: + pulumi.set(__self__, "description", description) + if read_only is not None: + pulumi.set(__self__, "read_only", read_only) + if set_uuid is not None: + pulumi.set(__self__, "set_uuid", set_uuid) + if super_user is not None: + pulumi.set(__self__, "super_user", super_user) @_builtins.property - @pulumi.getter - def max(self) -> pulumi.Input[_builtins.int]: + @pulumi.getter(name="ipAcls") + def ip_acls(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: """ - The maximum port number. Should be greater or equal to the minimum. + 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, "max") + return pulumi.get(self, "ip_acls") - @max.setter - def max(self, value: pulumi.Input[_builtins.int]): - pulumi.set(self, "max", value) + @ip_acls.setter + def ip_acls(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): + pulumi.set(self, "ip_acls", value) @_builtins.property @pulumi.getter - def min(self) -> pulumi.Input[_builtins.int]: + def order(self) -> pulumi.Input[_builtins.int]: """ - The minimum port number. Should be less or equal to the maximum. + 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, "min") + return pulumi.get(self, "order") - @min.setter - def min(self, value: pulumi.Input[_builtins.int]): - pulumi.set(self, "min", value) + @order.setter + def order(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "order", value) + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Description of the Rule + """ + return pulumi.get(self, "description") -class SecurityGroupRuleProtocolArgsDict(TypedDict): - name: NotRequired[pulumi.Input[Optional[_builtins.str]]] - """ - The protocol name which the rule should match. Either `name` or `number` must be provided. Possible values are: `ah`, `dccp`, `egp`, `esp`, `gre`, `icmp`, `igmp`, `ipip`, `ipv6-encap`, `ipv6-frag`, `ipv6-icmp`, `ipv6-nonxt`, `ipv6-opts`, `ipv6-route`, `ospf`, `pgm`, `rsvp`, `sctp`, `tcp`, `udp`, `udplite`, `vrrp`. - """ - number: NotRequired[pulumi.Input[Optional[_builtins.int]]] - """ - The protocol number which the rule should match. Either `name` or `number` must be provided. - """ + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) -@pulumi.input_type -class SecurityGroupRuleProtocolArgs: - def __init__(__self__, *, - name: pulumi.Input[Optional[_builtins.str]] = None, - number: pulumi.Input[Optional[_builtins.int]] = None): + @_builtins.property + @pulumi.getter(name="readOnly") + def read_only(self) -> pulumi.Input[Optional[_builtins.bool]]: """ - :param pulumi.Input[_builtins.str] name: The protocol name which the rule should match. Either `name` or `number` must be provided. Possible values are: `ah`, `dccp`, `egp`, `esp`, `gre`, `icmp`, `igmp`, `ipip`, `ipv6-encap`, `ipv6-frag`, `ipv6-icmp`, `ipv6-nonxt`, `ipv6-opts`, `ipv6-route`, `ospf`, `pgm`, `rsvp`, `sctp`, `tcp`, `udp`, `udplite`, `vrrp`. - :param pulumi.Input[_builtins.int] number: The protocol number which the rule should match. Either `name` or `number` must be provided. + Flag to indicate if client IPs matching this rule can only mount the share in read only mode """ - if name is not None: - pulumi.set(__self__, "name", name) - if number is not None: - pulumi.set(__self__, "number", number) + return pulumi.get(self, "read_only") + + @read_only.setter + def read_only(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "read_only", value) @_builtins.property - @pulumi.getter - def name(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="setUuid") + def set_uuid(self) -> pulumi.Input[Optional[_builtins.bool]]: """ - The protocol name which the rule should match. Either `name` or `number` must be provided. Possible values are: `ah`, `dccp`, `egp`, `esp`, `gre`, `icmp`, `igmp`, `ipip`, `ipv6-encap`, `ipv6-frag`, `ipv6-icmp`, `ipv6-nonxt`, `ipv6-opts`, `ipv6-route`, `ospf`, `pgm`, `rsvp`, `sctp`, `tcp`, `udp`, `udplite`, `vrrp`. + Flag to honor set UUID """ - return pulumi.get(self, "name") + return pulumi.get(self, "set_uuid") - @name.setter - def name(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "name", value) + @set_uuid.setter + def set_uuid(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "set_uuid", value) @_builtins.property - @pulumi.getter - def number(self) -> pulumi.Input[Optional[_builtins.int]]: + @pulumi.getter(name="superUser") + def super_user(self) -> pulumi.Input[Optional[_builtins.bool]]: """ - The protocol number which the rule should match. Either `name` or `number` must be provided. + Flag to indicate if client IPs matching this rule have root access on the Share """ - return pulumi.get(self, "number") + return pulumi.get(self, "super_user") - @number.setter - def number(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "number", value) + @super_user.setter + def super_user(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "super_user", value) -class ServerAgentArgsDict(TypedDict): - provisioned: NotRequired[pulumi.Input[Optional[_builtins.bool]]] +class SfsResourcePoolSnapshotPolicyArgsDict(TypedDict): + id: pulumi.Input[_builtins.str] """ - Whether a STACKIT Server Agent is provisioned at the server + ID of the snapshot policy. """ - provisioning_policy: NotRequired[pulumi.Input[Optional[_builtins.str]]] + name: NotRequired[pulumi.Input[Optional[_builtins.str]]] """ - Agent provisioning policy: `ALWAYS`, `NEVER`, or `INHERIT`. `INHERIT` follows the image default value. + Name of the snapshot policy. """ @pulumi.input_type -class ServerAgentArgs: +class SfsResourcePoolSnapshotPolicyArgs: def __init__(__self__, *, - provisioned: pulumi.Input[Optional[_builtins.bool]] = None, - provisioning_policy: pulumi.Input[Optional[_builtins.str]] = None): + id: pulumi.Input[_builtins.str], + name: pulumi.Input[Optional[_builtins.str]] = None): """ - :param pulumi.Input[_builtins.bool] provisioned: Whether a STACKIT Server Agent is provisioned at the server - :param pulumi.Input[_builtins.str] provisioning_policy: Agent provisioning policy: `ALWAYS`, `NEVER`, or `INHERIT`. `INHERIT` follows the image default value. + :param pulumi.Input[_builtins.str] id: ID of the snapshot policy. + :param pulumi.Input[_builtins.str] name: Name of the snapshot policy. """ - if provisioned is not None: - pulumi.set(__self__, "provisioned", provisioned) - if provisioning_policy is not None: - pulumi.set(__self__, "provisioning_policy", provisioning_policy) + pulumi.set(__self__, "id", id) + if name is not None: + pulumi.set(__self__, "name", name) @_builtins.property @pulumi.getter - def provisioned(self) -> pulumi.Input[Optional[_builtins.bool]]: + def id(self) -> pulumi.Input[_builtins.str]: """ - Whether a STACKIT Server Agent is provisioned at the server + ID of the snapshot policy. """ - return pulumi.get(self, "provisioned") + return pulumi.get(self, "id") - @provisioned.setter - def provisioned(self, value: pulumi.Input[Optional[_builtins.bool]]): - pulumi.set(self, "provisioned", value) + @id.setter + def id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "id", value) @_builtins.property - @pulumi.getter(name="provisioningPolicy") - def provisioning_policy(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter + def name(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Agent provisioning policy: `ALWAYS`, `NEVER`, or `INHERIT`. `INHERIT` follows the image default value. + Name of the snapshot policy. """ - return pulumi.get(self, "provisioning_policy") - - @provisioning_policy.setter - def provisioning_policy(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "provisioning_policy", value) - - -class ServerBackupScheduleBackupPropertiesArgsDict(TypedDict): - name: pulumi.Input[_builtins.str] - retention_period: pulumi.Input[_builtins.int] - volume_ids: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]] - -@pulumi.input_type -class ServerBackupScheduleBackupPropertiesArgs: - def __init__(__self__, *, - name: pulumi.Input[_builtins.str], - retention_period: pulumi.Input[_builtins.int], - volume_ids: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None): - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "retention_period", retention_period) - if volume_ids is not None: - pulumi.set(__self__, "volume_ids", volume_ids) - - @_builtins.property - @pulumi.getter - def name(self) -> pulumi.Input[_builtins.str]: return pulumi.get(self, "name") @name.setter - def name(self, value: pulumi.Input[_builtins.str]): + def name(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "name", value) - @_builtins.property - @pulumi.getter(name="retentionPeriod") - def retention_period(self) -> pulumi.Input[_builtins.int]: - return pulumi.get(self, "retention_period") - - @retention_period.setter - def retention_period(self, value: pulumi.Input[_builtins.int]): - pulumi.set(self, "retention_period", value) - - @_builtins.property - @pulumi.getter(name="volumeIds") - def volume_ids(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: - return pulumi.get(self, "volume_ids") - - @volume_ids.setter - def volume_ids(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): - pulumi.set(self, "volume_ids", value) - -class ServerBootVolumeArgsDict(TypedDict): - source_id: pulumi.Input[_builtins.str] - """ - The ID of the source, either image ID or volume ID - """ - source_type: pulumi.Input[_builtins.str] - """ - The type of the source. Possible values are: `volume`, `image`. - """ - delete_on_termination: NotRequired[pulumi.Input[Optional[_builtins.bool]]] +class SkeClusterExtensionsArgsDict(TypedDict): + acl: NotRequired[pulumi.Input[Optional['SkeClusterExtensionsAclArgsDict']]] """ - Delete the volume during the termination of the server. Only allowed when `source_type` is `image`. + Cluster access control configuration. """ - id: NotRequired[pulumi.Input[Optional[_builtins.str]]] + argus: NotRequired[pulumi.Input[Optional['SkeClusterExtensionsArgusArgsDict']]] """ - The ID of the boot volume + A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. """ - performance_class: NotRequired[pulumi.Input[Optional[_builtins.str]]] + dns: NotRequired[pulumi.Input[Optional['SkeClusterExtensionsDnsArgsDict']]] """ - The performance class of the server. + DNS extension configuration """ - size: NotRequired[pulumi.Input[Optional[_builtins.int]]] + observability: NotRequired[pulumi.Input[Optional['SkeClusterExtensionsObservabilityArgsDict']]] """ - The size of the boot volume in GB. Must be provided when `source_type` is `image`. + A single observability block as defined below. """ @pulumi.input_type -class ServerBootVolumeArgs: +class SkeClusterExtensionsArgs: def __init__(__self__, *, - source_id: pulumi.Input[_builtins.str], - source_type: pulumi.Input[_builtins.str], - delete_on_termination: pulumi.Input[Optional[_builtins.bool]] = None, - id: pulumi.Input[Optional[_builtins.str]] = None, - performance_class: pulumi.Input[Optional[_builtins.str]] = None, - size: pulumi.Input[Optional[_builtins.int]] = None): - """ - :param pulumi.Input[_builtins.str] source_id: The ID of the source, either image ID or volume ID - :param pulumi.Input[_builtins.str] source_type: The type of the source. Possible values are: `volume`, `image`. - :param pulumi.Input[_builtins.bool] delete_on_termination: Delete the volume during the termination of the server. Only allowed when `source_type` is `image`. - :param pulumi.Input[_builtins.str] id: The ID of the boot volume - :param pulumi.Input[_builtins.str] performance_class: The performance class of the server. - :param pulumi.Input[_builtins.int] size: The size of the boot volume in GB. Must be provided when `source_type` is `image`. - """ - pulumi.set(__self__, "source_id", source_id) - pulumi.set(__self__, "source_type", source_type) - if delete_on_termination is not None: - pulumi.set(__self__, "delete_on_termination", delete_on_termination) - if id is not None: - pulumi.set(__self__, "id", id) - if performance_class is not None: - pulumi.set(__self__, "performance_class", performance_class) - if size is not None: - pulumi.set(__self__, "size", size) - - @_builtins.property - @pulumi.getter(name="sourceId") - def source_id(self) -> pulumi.Input[_builtins.str]: - """ - The ID of the source, either image ID or volume ID - """ - return pulumi.get(self, "source_id") - - @source_id.setter - def source_id(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "source_id", value) - - @_builtins.property - @pulumi.getter(name="sourceType") - def source_type(self) -> pulumi.Input[_builtins.str]: + acl: pulumi.Input[Optional['SkeClusterExtensionsAclArgs']] = None, + argus: pulumi.Input[Optional['SkeClusterExtensionsArgusArgs']] = None, + dns: pulumi.Input[Optional['SkeClusterExtensionsDnsArgs']] = None, + observability: pulumi.Input[Optional['SkeClusterExtensionsObservabilityArgs']] = None): """ - The type of the source. Possible values are: `volume`, `image`. + :param pulumi.Input['SkeClusterExtensionsAclArgs'] acl: Cluster access control configuration. + :param pulumi.Input['SkeClusterExtensionsArgusArgs'] argus: A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. + :param pulumi.Input['SkeClusterExtensionsDnsArgs'] dns: DNS extension configuration + :param pulumi.Input['SkeClusterExtensionsObservabilityArgs'] observability: A single observability block as defined below. """ - return pulumi.get(self, "source_type") - - @source_type.setter - def source_type(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "source_type", value) + if acl is not None: + pulumi.set(__self__, "acl", acl) + if argus is not None: + warnings.warn("""Use observability instead.""", DeprecationWarning) + pulumi.log.warn("""argus is deprecated: Use observability instead.""") + if argus is not None: + pulumi.set(__self__, "argus", argus) + if dns is not None: + pulumi.set(__self__, "dns", dns) + if observability is not None: + pulumi.set(__self__, "observability", observability) @_builtins.property - @pulumi.getter(name="deleteOnTermination") - def delete_on_termination(self) -> pulumi.Input[Optional[_builtins.bool]]: + @pulumi.getter + def acl(self) -> pulumi.Input[Optional['SkeClusterExtensionsAclArgs']]: """ - Delete the volume during the termination of the server. Only allowed when `source_type` is `image`. + Cluster access control configuration. """ - return pulumi.get(self, "delete_on_termination") + return pulumi.get(self, "acl") - @delete_on_termination.setter - def delete_on_termination(self, value: pulumi.Input[Optional[_builtins.bool]]): - pulumi.set(self, "delete_on_termination", value) + @acl.setter + def acl(self, value: pulumi.Input[Optional['SkeClusterExtensionsAclArgs']]): + pulumi.set(self, "acl", value) @_builtins.property @pulumi.getter - def id(self) -> pulumi.Input[Optional[_builtins.str]]: + @_utilities.deprecated("""Use observability instead.""") + def argus(self) -> pulumi.Input[Optional['SkeClusterExtensionsArgusArgs']]: """ - The ID of the boot volume + A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. """ - return pulumi.get(self, "id") + return pulumi.get(self, "argus") - @id.setter - def id(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "id", value) + @argus.setter + def argus(self, value: pulumi.Input[Optional['SkeClusterExtensionsArgusArgs']]): + pulumi.set(self, "argus", value) @_builtins.property - @pulumi.getter(name="performanceClass") - def performance_class(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter + def dns(self) -> pulumi.Input[Optional['SkeClusterExtensionsDnsArgs']]: """ - The performance class of the server. + DNS extension configuration """ - return pulumi.get(self, "performance_class") + return pulumi.get(self, "dns") - @performance_class.setter - def performance_class(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "performance_class", value) + @dns.setter + def dns(self, value: pulumi.Input[Optional['SkeClusterExtensionsDnsArgs']]): + pulumi.set(self, "dns", value) @_builtins.property @pulumi.getter - def size(self) -> pulumi.Input[Optional[_builtins.int]]: + def observability(self) -> pulumi.Input[Optional['SkeClusterExtensionsObservabilityArgs']]: """ - The size of the boot volume in GB. Must be provided when `source_type` is `image`. + A single observability block as defined below. """ - return pulumi.get(self, "size") + return pulumi.get(self, "observability") - @size.setter - def size(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "size", value) + @observability.setter + def observability(self, value: pulumi.Input[Optional['SkeClusterExtensionsObservabilityArgs']]): + pulumi.set(self, "observability", value) -class ServiceAccountFederatedIdentityProviderAssertionArgsDict(TypedDict): - item: pulumi.Input[_builtins.str] - """ - The assertion claim. At least one assertion with the claim "aud" is required for security reasons. - """ - operator: pulumi.Input[_builtins.str] +class SkeClusterExtensionsAclArgsDict(TypedDict): + allowed_cidrs: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] """ - The assertion operator. Currently, the only supported operator is "equals". + Specify a list of CIDRs to whitelist. """ - value: pulumi.Input[_builtins.str] + enabled: pulumi.Input[_builtins.bool] """ - The assertion value. + Is ACL enabled? """ @pulumi.input_type -class ServiceAccountFederatedIdentityProviderAssertionArgs: +class SkeClusterExtensionsAclArgs: def __init__(__self__, *, - item: pulumi.Input[_builtins.str], - operator: pulumi.Input[_builtins.str], - value: pulumi.Input[_builtins.str]): + allowed_cidrs: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], + enabled: pulumi.Input[_builtins.bool]): """ - :param pulumi.Input[_builtins.str] item: The assertion claim. At least one assertion with the claim "aud" is required for security reasons. - :param pulumi.Input[_builtins.str] operator: The assertion operator. Currently, the only supported operator is "equals". - :param pulumi.Input[_builtins.str] value: The assertion value. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_cidrs: Specify a list of CIDRs to whitelist. + :param pulumi.Input[_builtins.bool] enabled: Is ACL enabled? """ - pulumi.set(__self__, "item", item) - pulumi.set(__self__, "operator", operator) - pulumi.set(__self__, "value", value) + pulumi.set(__self__, "allowed_cidrs", allowed_cidrs) + pulumi.set(__self__, "enabled", enabled) @_builtins.property - @pulumi.getter - def item(self) -> pulumi.Input[_builtins.str]: + @pulumi.getter(name="allowedCidrs") + def allowed_cidrs(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: """ - The assertion claim. At least one assertion with the claim "aud" is required for security reasons. + Specify a list of CIDRs to whitelist. """ - return pulumi.get(self, "item") + return pulumi.get(self, "allowed_cidrs") - @item.setter - def item(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "item", value) + @allowed_cidrs.setter + def allowed_cidrs(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): + pulumi.set(self, "allowed_cidrs", value) @_builtins.property @pulumi.getter - def operator(self) -> pulumi.Input[_builtins.str]: + def enabled(self) -> pulumi.Input[_builtins.bool]: """ - The assertion operator. Currently, the only supported operator is "equals". + Is ACL enabled? """ - return pulumi.get(self, "operator") + return pulumi.get(self, "enabled") - @operator.setter - def operator(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "operator", value) + @enabled.setter + def enabled(self, value: pulumi.Input[_builtins.bool]): + pulumi.set(self, "enabled", value) + + +class SkeClusterExtensionsArgusArgsDict(TypedDict): + enabled: pulumi.Input[_builtins.bool] + """ + Flag to enable/disable Argus extensions. + """ + argus_instance_id: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Argus instance ID to choose which Argus instance is used. Required when enabled is set to `true`. + """ + +@pulumi.input_type +class SkeClusterExtensionsArgusArgs: + def __init__(__self__, *, + enabled: pulumi.Input[_builtins.bool], + argus_instance_id: pulumi.Input[Optional[_builtins.str]] = None): + """ + :param pulumi.Input[_builtins.bool] enabled: Flag to enable/disable Argus extensions. + :param pulumi.Input[_builtins.str] argus_instance_id: Argus instance ID to choose which Argus instance is used. Required when enabled is set to `true`. + """ + pulumi.set(__self__, "enabled", enabled) + if argus_instance_id is not None: + pulumi.set(__self__, "argus_instance_id", argus_instance_id) @_builtins.property @pulumi.getter - def value(self) -> pulumi.Input[_builtins.str]: + def enabled(self) -> pulumi.Input[_builtins.bool]: """ - The assertion value. + Flag to enable/disable Argus extensions. """ - return pulumi.get(self, "value") + return pulumi.get(self, "enabled") - @value.setter - def value(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "value", value) + @enabled.setter + def enabled(self, value: pulumi.Input[_builtins.bool]): + pulumi.set(self, "enabled", value) + @_builtins.property + @pulumi.getter(name="argusInstanceId") + def argus_instance_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Argus instance ID to choose which Argus instance is used. Required when enabled is set to `true`. + """ + return pulumi.get(self, "argus_instance_id") -class SfsExportPolicyRuleArgsDict(TypedDict): - ip_acls: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] - """ - IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). - """ - order: pulumi.Input[_builtins.int] - """ - Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied - """ - description: NotRequired[pulumi.Input[Optional[_builtins.str]]] - """ - Description of the Rule - """ - read_only: NotRequired[pulumi.Input[Optional[_builtins.bool]]] - """ - Flag to indicate if client IPs matching this rule can only mount the share in read only mode - """ - set_uuid: NotRequired[pulumi.Input[Optional[_builtins.bool]]] + @argus_instance_id.setter + def argus_instance_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "argus_instance_id", value) + + +class SkeClusterExtensionsDnsArgsDict(TypedDict): + enabled: pulumi.Input[_builtins.bool] """ - Flag to honor set UUID + Flag to enable/disable DNS extensions """ - super_user: NotRequired[pulumi.Input[Optional[_builtins.bool]]] + zones: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]] """ - Flag to indicate if client IPs matching this rule have root access on the Share + Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) """ @pulumi.input_type -class SfsExportPolicyRuleArgs: +class SkeClusterExtensionsDnsArgs: def __init__(__self__, *, - ip_acls: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], - order: pulumi.Input[_builtins.int], - description: pulumi.Input[Optional[_builtins.str]] = None, - read_only: pulumi.Input[Optional[_builtins.bool]] = None, - set_uuid: pulumi.Input[Optional[_builtins.bool]] = None, - super_user: pulumi.Input[Optional[_builtins.bool]] = None): - """ - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_acls: IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). - :param pulumi.Input[_builtins.int] order: Order of the rule within a Share Export Policy. The order is used so that when a client IP matches multiple rules, the first rule is applied - :param pulumi.Input[_builtins.str] description: Description of the Rule - :param pulumi.Input[_builtins.bool] read_only: Flag to indicate if client IPs matching this rule can only mount the share in read only mode - :param pulumi.Input[_builtins.bool] set_uuid: Flag to honor set UUID - :param pulumi.Input[_builtins.bool] super_user: Flag to indicate if client IPs matching this rule have root access on the Share - """ - pulumi.set(__self__, "ip_acls", ip_acls) - pulumi.set(__self__, "order", order) - if description is not None: - pulumi.set(__self__, "description", description) - if read_only is not None: - pulumi.set(__self__, "read_only", read_only) - if set_uuid is not None: - pulumi.set(__self__, "set_uuid", set_uuid) - if super_user is not None: - pulumi.set(__self__, "super_user", super_user) - - @_builtins.property - @pulumi.getter(name="ipAcls") - def ip_acls(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: + enabled: pulumi.Input[_builtins.bool], + zones: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None): """ - IP access control list; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + :param pulumi.Input[_builtins.bool] enabled: Flag to enable/disable DNS extensions + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] zones: Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) """ - return pulumi.get(self, "ip_acls") - - @ip_acls.setter - def ip_acls(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): - pulumi.set(self, "ip_acls", value) + pulumi.set(__self__, "enabled", enabled) + if zones is not None: + pulumi.set(__self__, "zones", zones) @_builtins.property @pulumi.getter - def order(self) -> pulumi.Input[_builtins.int]: + def enabled(self) -> pulumi.Input[_builtins.bool]: """ - 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 + Flag to enable/disable DNS extensions """ - return pulumi.get(self, "order") + return pulumi.get(self, "enabled") - @order.setter - def order(self, value: pulumi.Input[_builtins.int]): - pulumi.set(self, "order", value) + @enabled.setter + def enabled(self, value: pulumi.Input[_builtins.bool]): + pulumi.set(self, "enabled", value) @_builtins.property @pulumi.getter - def description(self) -> pulumi.Input[Optional[_builtins.str]]: + def zones(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: """ - Description of the Rule + Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) """ - return pulumi.get(self, "description") + return pulumi.get(self, "zones") + + @zones.setter + def zones(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "zones", value) - @description.setter - def description(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "description", value) - @_builtins.property - @pulumi.getter(name="readOnly") - def read_only(self) -> pulumi.Input[Optional[_builtins.bool]]: +class SkeClusterExtensionsObservabilityArgsDict(TypedDict): + enabled: pulumi.Input[_builtins.bool] + """ + Flag to enable/disable Observability extensions. + """ + instance_id: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`. + """ + +@pulumi.input_type +class SkeClusterExtensionsObservabilityArgs: + def __init__(__self__, *, + enabled: pulumi.Input[_builtins.bool], + instance_id: pulumi.Input[Optional[_builtins.str]] = None): """ - Flag to indicate if client IPs matching this rule can only mount the share in read only mode + :param pulumi.Input[_builtins.bool] enabled: Flag to enable/disable Observability extensions. + :param pulumi.Input[_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, "read_only") - - @read_only.setter - def read_only(self, value: pulumi.Input[Optional[_builtins.bool]]): - pulumi.set(self, "read_only", value) + pulumi.set(__self__, "enabled", enabled) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) @_builtins.property - @pulumi.getter(name="setUuid") - def set_uuid(self) -> pulumi.Input[Optional[_builtins.bool]]: + @pulumi.getter + def enabled(self) -> pulumi.Input[_builtins.bool]: """ - Flag to honor set UUID + Flag to enable/disable Observability extensions. """ - return pulumi.get(self, "set_uuid") + return pulumi.get(self, "enabled") - @set_uuid.setter - def set_uuid(self, value: pulumi.Input[Optional[_builtins.bool]]): - pulumi.set(self, "set_uuid", value) + @enabled.setter + def enabled(self, value: pulumi.Input[_builtins.bool]): + pulumi.set(self, "enabled", value) @_builtins.property - @pulumi.getter(name="superUser") - def super_user(self) -> pulumi.Input[Optional[_builtins.bool]]: + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Flag to indicate if client IPs matching this rule have root access on the Share + Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`. """ - return pulumi.get(self, "super_user") + return pulumi.get(self, "instance_id") - @super_user.setter - def super_user(self, value: pulumi.Input[Optional[_builtins.bool]]): - pulumi.set(self, "super_user", value) + @instance_id.setter + def instance_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "instance_id", value) -class SfsResourcePoolSnapshotPolicyArgsDict(TypedDict): - id: pulumi.Input[_builtins.str] +class SkeClusterHibernationArgsDict(TypedDict): + end: pulumi.Input[_builtins.str] """ - ID of the snapshot policy. + End time of hibernation in crontab syntax. E.g. `0 8 * * *` for waking up the cluster at 8am. """ - name: NotRequired[pulumi.Input[Optional[_builtins.str]]] + start: pulumi.Input[_builtins.str] """ - Name of the snapshot policy. + Start time of cluster hibernation in crontab syntax. E.g. `0 18 * * *` for starting everyday at 6pm. + """ + timezone: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Timezone name corresponding to a file in the IANA Time Zone database. i.e. `Europe/Berlin`. """ @pulumi.input_type -class SfsResourcePoolSnapshotPolicyArgs: +class SkeClusterHibernationArgs: def __init__(__self__, *, - id: pulumi.Input[_builtins.str], - name: pulumi.Input[Optional[_builtins.str]] = None): + end: pulumi.Input[_builtins.str], + start: pulumi.Input[_builtins.str], + timezone: pulumi.Input[Optional[_builtins.str]] = None): """ - :param pulumi.Input[_builtins.str] id: ID of the snapshot policy. - :param pulumi.Input[_builtins.str] name: Name of the snapshot policy. + :param pulumi.Input[_builtins.str] end: End time of hibernation in crontab syntax. E.g. `0 8 * * *` for waking up the cluster at 8am. + :param pulumi.Input[_builtins.str] start: Start time of cluster hibernation in crontab syntax. E.g. `0 18 * * *` for starting everyday at 6pm. + :param pulumi.Input[_builtins.str] timezone: Timezone name corresponding to a file in the IANA Time Zone database. i.e. `Europe/Berlin`. """ - pulumi.set(__self__, "id", id) - if name is not None: - pulumi.set(__self__, "name", name) + pulumi.set(__self__, "end", end) + pulumi.set(__self__, "start", start) + if timezone is not None: + pulumi.set(__self__, "timezone", timezone) @_builtins.property @pulumi.getter - def id(self) -> pulumi.Input[_builtins.str]: + def end(self) -> pulumi.Input[_builtins.str]: """ - ID of the snapshot policy. + End time of hibernation in crontab syntax. E.g. `0 8 * * *` for waking up the cluster at 8am. """ - return pulumi.get(self, "id") + return pulumi.get(self, "end") - @id.setter - def id(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "id", value) + @end.setter + def end(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "end", value) @_builtins.property @pulumi.getter - def name(self) -> pulumi.Input[Optional[_builtins.str]]: + def start(self) -> pulumi.Input[_builtins.str]: """ - Name of the snapshot policy. + Start time of cluster hibernation in crontab syntax. E.g. `0 18 * * *` for starting everyday at 6pm. """ - return pulumi.get(self, "name") + return pulumi.get(self, "start") - @name.setter - def name(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "name", value) + @start.setter + def start(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "start", value) + + @_builtins.property + @pulumi.getter + def timezone(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Timezone name corresponding to a file in the IANA Time Zone database. i.e. `Europe/Berlin`. + """ + return pulumi.get(self, "timezone") + + @timezone.setter + def timezone(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "timezone", value) -class SkeClusterExtensionsArgsDict(TypedDict): - acl: NotRequired[pulumi.Input[Optional['SkeClusterExtensionsAclArgs']]] +class SkeClusterMaintenanceArgsDict(TypedDict): + enable_kubernetes_version_updates: NotRequired[pulumi.Input[Optional[_builtins.bool]]] """ - Cluster access control configuration. + Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). """ - argus: NotRequired[pulumi.Input[Optional['SkeClusterExtensionsArgusArgs']]] + enable_machine_image_version_updates: NotRequired[pulumi.Input[Optional[_builtins.bool]]] """ - A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. + Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). """ - dns: NotRequired[pulumi.Input[Optional['SkeClusterExtensionsDnsArgs']]] + end: NotRequired[pulumi.Input[Optional[_builtins.str]]] """ - DNS extension configuration + Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`. """ - observability: NotRequired[pulumi.Input[Optional['SkeClusterExtensionsObservabilityArgs']]] + start: NotRequired[pulumi.Input[Optional[_builtins.str]]] """ - A single observability block as defined below. + Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`. """ @pulumi.input_type -class SkeClusterExtensionsArgs: +class SkeClusterMaintenanceArgs: def __init__(__self__, *, - acl: pulumi.Input[Optional['SkeClusterExtensionsAclArgs']] = None, - argus: pulumi.Input[Optional['SkeClusterExtensionsArgusArgs']] = None, - dns: pulumi.Input[Optional['SkeClusterExtensionsDnsArgs']] = None, - observability: pulumi.Input[Optional['SkeClusterExtensionsObservabilityArgs']] = None): + enable_kubernetes_version_updates: pulumi.Input[Optional[_builtins.bool]] = None, + enable_machine_image_version_updates: pulumi.Input[Optional[_builtins.bool]] = None, + end: pulumi.Input[Optional[_builtins.str]] = None, + start: pulumi.Input[Optional[_builtins.str]] = None): """ - :param pulumi.Input['SkeClusterExtensionsAclArgs'] acl: Cluster access control configuration. - :param pulumi.Input['SkeClusterExtensionsArgusArgs'] argus: A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. - :param pulumi.Input['SkeClusterExtensionsDnsArgs'] dns: DNS extension configuration - :param pulumi.Input['SkeClusterExtensionsObservabilityArgs'] observability: A single observability block as defined below. + :param pulumi.Input[_builtins.bool] enable_kubernetes_version_updates: Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + :param pulumi.Input[_builtins.bool] enable_machine_image_version_updates: Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + :param pulumi.Input[_builtins.str] end: Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`. + :param pulumi.Input[_builtins.str] start: Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`. """ - if acl is not None: - pulumi.set(__self__, "acl", acl) - if argus is not None: - warnings.warn("""Use observability instead.""", DeprecationWarning) - pulumi.log.warn("""argus is deprecated: Use observability instead.""") - if argus is not None: - pulumi.set(__self__, "argus", argus) - if dns is not None: - pulumi.set(__self__, "dns", dns) - if observability is not None: - pulumi.set(__self__, "observability", observability) + if enable_kubernetes_version_updates is not None: + pulumi.set(__self__, "enable_kubernetes_version_updates", enable_kubernetes_version_updates) + if enable_machine_image_version_updates is not None: + pulumi.set(__self__, "enable_machine_image_version_updates", enable_machine_image_version_updates) + if end is not None: + pulumi.set(__self__, "end", end) + if start is not None: + pulumi.set(__self__, "start", start) @_builtins.property - @pulumi.getter - def acl(self) -> pulumi.Input[Optional['SkeClusterExtensionsAclArgs']]: + @pulumi.getter(name="enableKubernetesVersionUpdates") + def enable_kubernetes_version_updates(self) -> pulumi.Input[Optional[_builtins.bool]]: """ - Cluster access control configuration. + Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). """ - return pulumi.get(self, "acl") + return pulumi.get(self, "enable_kubernetes_version_updates") - @acl.setter - def acl(self, value: pulumi.Input[Optional['SkeClusterExtensionsAclArgs']]): - pulumi.set(self, "acl", value) + @enable_kubernetes_version_updates.setter + def enable_kubernetes_version_updates(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "enable_kubernetes_version_updates", value) + + @_builtins.property + @pulumi.getter(name="enableMachineImageVersionUpdates") + def enable_machine_image_version_updates(self) -> pulumi.Input[Optional[_builtins.bool]]: + """ + Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + """ + return pulumi.get(self, "enable_machine_image_version_updates") + + @enable_machine_image_version_updates.setter + def enable_machine_image_version_updates(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "enable_machine_image_version_updates", value) @_builtins.property @pulumi.getter - @_utilities.deprecated("""Use observability instead.""") - def argus(self) -> pulumi.Input[Optional['SkeClusterExtensionsArgusArgs']]: + def end(self) -> pulumi.Input[Optional[_builtins.str]]: """ - A single argus block as defined below. This field is deprecated and will be removed 06 January 2026. + Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`. """ - return pulumi.get(self, "argus") + return pulumi.get(self, "end") - @argus.setter - def argus(self, value: pulumi.Input[Optional['SkeClusterExtensionsArgusArgs']]): - pulumi.set(self, "argus", value) + @end.setter + def end(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "end", value) @_builtins.property @pulumi.getter - def dns(self) -> pulumi.Input[Optional['SkeClusterExtensionsDnsArgs']]: + def start(self) -> pulumi.Input[Optional[_builtins.str]]: """ - DNS extension configuration + Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`. + """ + return pulumi.get(self, "start") + + @start.setter + def start(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "start", value) + + +class SkeClusterNetworkArgsDict(TypedDict): + control_plane: NotRequired[pulumi.Input[Optional['SkeClusterNetworkControlPlaneArgsDict']]] + """ + Control plane for the cluster. + """ + id: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. + """ + +@pulumi.input_type +class SkeClusterNetworkArgs: + def __init__(__self__, *, + control_plane: pulumi.Input[Optional['SkeClusterNetworkControlPlaneArgs']] = None, + id: pulumi.Input[Optional[_builtins.str]] = None): + """ + :param pulumi.Input['SkeClusterNetworkControlPlaneArgs'] control_plane: Control plane for the cluster. + :param pulumi.Input[_builtins.str] id: ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. + """ + if control_plane is not None: + pulumi.set(__self__, "control_plane", control_plane) + if id is not None: + pulumi.set(__self__, "id", id) + + @_builtins.property + @pulumi.getter(name="controlPlane") + def control_plane(self) -> pulumi.Input[Optional['SkeClusterNetworkControlPlaneArgs']]: + """ + Control plane for the cluster. """ - return pulumi.get(self, "dns") + return pulumi.get(self, "control_plane") - @dns.setter - def dns(self, value: pulumi.Input[Optional['SkeClusterExtensionsDnsArgs']]): - pulumi.set(self, "dns", value) + @control_plane.setter + def control_plane(self, value: pulumi.Input[Optional['SkeClusterNetworkControlPlaneArgs']]): + pulumi.set(self, "control_plane", value) @_builtins.property @pulumi.getter - def observability(self) -> pulumi.Input[Optional['SkeClusterExtensionsObservabilityArgs']]: + def id(self) -> pulumi.Input[Optional[_builtins.str]]: """ - A single observability block as defined below. + ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. """ - return pulumi.get(self, "observability") + return pulumi.get(self, "id") - @observability.setter - def observability(self, value: pulumi.Input[Optional['SkeClusterExtensionsObservabilityArgs']]): - pulumi.set(self, "observability", value) + @id.setter + def id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "id", value) -class SkeClusterExtensionsAclArgsDict(TypedDict): - allowed_cidrs: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] - """ - Specify a list of CIDRs to whitelist. - """ - enabled: pulumi.Input[_builtins.bool] +class SkeClusterNetworkControlPlaneArgsDict(TypedDict): + access_scope: NotRequired[pulumi.Input[Optional[_builtins.str]]] """ - Is ACL enabled? + 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.input_type -class SkeClusterExtensionsAclArgs: +class SkeClusterNetworkControlPlaneArgs: def __init__(__self__, *, - allowed_cidrs: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], - enabled: pulumi.Input[_builtins.bool]): - """ - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_cidrs: Specify a list of CIDRs to whitelist. - :param pulumi.Input[_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) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: + access_scope: pulumi.Input[Optional[_builtins.str]] = None): """ - Specify a list of CIDRs to whitelist. + :param pulumi.Input[_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, "allowed_cidrs") - - @allowed_cidrs.setter - def allowed_cidrs(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): - pulumi.set(self, "allowed_cidrs", value) + if access_scope is not None: + pulumi.set(__self__, "access_scope", access_scope) @_builtins.property - @pulumi.getter - def enabled(self) -> pulumi.Input[_builtins.bool]: + @pulumi.getter(name="accessScope") + def access_scope(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Is ACL enabled? + 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, "enabled") + return pulumi.get(self, "access_scope") - @enabled.setter - def enabled(self, value: pulumi.Input[_builtins.bool]): - pulumi.set(self, "enabled", value) + @access_scope.setter + def access_scope(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "access_scope", value) -class SkeClusterExtensionsArgusArgsDict(TypedDict): - enabled: pulumi.Input[_builtins.bool] +class SkeClusterNodePoolArgsDict(TypedDict): + availability_zones: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] """ - Flag to enable/disable Argus extensions. + Specify a list of availability zones. E.g. `eu01-m` """ - argus_instance_id: NotRequired[pulumi.Input[Optional[_builtins.str]]] + machine_type: pulumi.Input[_builtins.str] """ - Argus instance ID to choose which Argus instance is used. Required when enabled is set to `true`. + The machine type. + """ + maximum: pulumi.Input[_builtins.int] + """ + Maximum number of nodes in the pool. + """ + minimum: pulumi.Input[_builtins.int] + """ + Minimum number of nodes in the pool. + """ + name: pulumi.Input[_builtins.str] + """ + Specifies the name of the node pool. + """ + allow_system_components: NotRequired[pulumi.Input[Optional[_builtins.bool]]] + """ + Allow system components to run on this node pool. + """ + cri: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Specifies the container runtime. Defaults to `containerd` + """ + labels: NotRequired[pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]] + """ + Labels to add to each node. + """ + max_surge: NotRequired[pulumi.Input[Optional[_builtins.int]]] + """ + Maximum number of additional VMs that are created during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `max_surge` and `max_unavailable` fields cannot both be unset at the same time. + """ + max_unavailable: NotRequired[pulumi.Input[Optional[_builtins.int]]] + """ + Maximum number of VMs that that can be unavailable during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `max_surge` and `max_unavailable` fields cannot both be unset at the same time. + """ + os_name: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + The name of the OS image. Defaults to `flatcar`. + """ + os_version: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + This field is deprecated, use `os_version_min` to configure the version and `os_version_used` to get the currently used version instead. + """ + os_version_min: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. + """ + os_version_used: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + """ + taints: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input['SkeClusterNodePoolTaintArgsDict']]]]] + """ + Specifies a taint list as defined below. + """ + volume_size: NotRequired[pulumi.Input[Optional[_builtins.int]]] + """ + The volume size in GB. Defaults to `20` + """ + volume_type: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Specifies the volume type. Defaults to `storage_premium_perf1`. """ @pulumi.input_type -class SkeClusterExtensionsArgusArgs: +class SkeClusterNodePoolArgs: def __init__(__self__, *, - enabled: pulumi.Input[_builtins.bool], - argus_instance_id: pulumi.Input[Optional[_builtins.str]] = None): + availability_zones: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], + machine_type: pulumi.Input[_builtins.str], + maximum: pulumi.Input[_builtins.int], + minimum: pulumi.Input[_builtins.int], + name: pulumi.Input[_builtins.str], + allow_system_components: pulumi.Input[Optional[_builtins.bool]] = None, + cri: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + max_surge: pulumi.Input[Optional[_builtins.int]] = None, + max_unavailable: pulumi.Input[Optional[_builtins.int]] = None, + os_name: pulumi.Input[Optional[_builtins.str]] = None, + os_version: pulumi.Input[Optional[_builtins.str]] = None, + os_version_min: pulumi.Input[Optional[_builtins.str]] = None, + os_version_used: pulumi.Input[Optional[_builtins.str]] = None, + taints: pulumi.Input[Optional[Sequence[pulumi.Input['SkeClusterNodePoolTaintArgs']]]] = None, + volume_size: pulumi.Input[Optional[_builtins.int]] = None, + volume_type: pulumi.Input[Optional[_builtins.str]] = None): """ - :param pulumi.Input[_builtins.bool] enabled: Flag to enable/disable Argus extensions. - :param pulumi.Input[_builtins.str] argus_instance_id: Argus instance ID to choose which Argus instance is used. Required when enabled is set to `true`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] availability_zones: Specify a list of availability zones. E.g. `eu01-m` + :param pulumi.Input[_builtins.str] machine_type: The machine type. + :param pulumi.Input[_builtins.int] maximum: Maximum number of nodes in the pool. + :param pulumi.Input[_builtins.int] minimum: Minimum number of nodes in the pool. + :param pulumi.Input[_builtins.str] name: Specifies the name of the node pool. + :param pulumi.Input[_builtins.bool] allow_system_components: Allow system components to run on this node pool. + :param pulumi.Input[_builtins.str] cri: Specifies the container runtime. Defaults to `containerd` + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels to add to each node. + :param pulumi.Input[_builtins.int] max_surge: Maximum number of additional VMs that are created during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `max_surge` and `max_unavailable` fields cannot both be unset at the same time. + :param pulumi.Input[_builtins.int] max_unavailable: Maximum number of VMs that that can be unavailable during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `max_surge` and `max_unavailable` fields cannot both be unset at the same time. + :param pulumi.Input[_builtins.str] os_name: The name of the OS image. Defaults to `flatcar`. + :param pulumi.Input[_builtins.str] os_version: This field is deprecated, use `os_version_min` to configure the version and `os_version_used` to get the currently used version instead. + :param pulumi.Input[_builtins.str] os_version_min: The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. + :param pulumi.Input[_builtins.str] os_version_used: Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + :param pulumi.Input[Sequence[pulumi.Input['SkeClusterNodePoolTaintArgs']]] taints: Specifies a taint list as defined below. + :param pulumi.Input[_builtins.int] volume_size: The volume size in GB. Defaults to `20` + :param pulumi.Input[_builtins.str] volume_type: Specifies the volume type. Defaults to `storage_premium_perf1`. """ - pulumi.set(__self__, "enabled", enabled) - if argus_instance_id is not None: - pulumi.set(__self__, "argus_instance_id", argus_instance_id) + pulumi.set(__self__, "availability_zones", availability_zones) + pulumi.set(__self__, "machine_type", machine_type) + pulumi.set(__self__, "maximum", maximum) + pulumi.set(__self__, "minimum", minimum) + pulumi.set(__self__, "name", name) + if allow_system_components is not None: + pulumi.set(__self__, "allow_system_components", allow_system_components) + if cri is not None: + pulumi.set(__self__, "cri", cri) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if max_surge is not None: + pulumi.set(__self__, "max_surge", max_surge) + if max_unavailable is not None: + pulumi.set(__self__, "max_unavailable", max_unavailable) + if os_name is not None: + pulumi.set(__self__, "os_name", os_name) + if os_version is not None: + warnings.warn("""Use `os_version_min` to configure the version and `os_version_used` to get the currently used version instead. Setting a specific OS image version will cause errors during minor OS upgrades due to forced updates.""", DeprecationWarning) + pulumi.log.warn("""os_version is deprecated: Use `os_version_min` to configure the version and `os_version_used` to get the currently used version instead. Setting a specific OS image version will cause errors during minor OS upgrades due to forced updates.""") + if os_version is not None: + pulumi.set(__self__, "os_version", os_version) + if os_version_min is not None: + pulumi.set(__self__, "os_version_min", os_version_min) + if os_version_used is not None: + pulumi.set(__self__, "os_version_used", os_version_used) + if taints is not None: + pulumi.set(__self__, "taints", taints) + if volume_size is not None: + pulumi.set(__self__, "volume_size", volume_size) + if volume_type is not None: + pulumi.set(__self__, "volume_type", volume_type) @_builtins.property - @pulumi.getter - def enabled(self) -> pulumi.Input[_builtins.bool]: + @pulumi.getter(name="availabilityZones") + def availability_zones(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: """ - Flag to enable/disable Argus extensions. + Specify a list of availability zones. E.g. `eu01-m` """ - return pulumi.get(self, "enabled") + return pulumi.get(self, "availability_zones") - @enabled.setter - def enabled(self, value: pulumi.Input[_builtins.bool]): - pulumi.set(self, "enabled", value) + @availability_zones.setter + def availability_zones(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): + pulumi.set(self, "availability_zones", value) @_builtins.property - @pulumi.getter(name="argusInstanceId") - def argus_instance_id(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="machineType") + def machine_type(self) -> pulumi.Input[_builtins.str]: """ - Argus instance ID to choose which Argus instance is used. Required when enabled is set to `true`. + The machine type. """ - return pulumi.get(self, "argus_instance_id") - - @argus_instance_id.setter - def argus_instance_id(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "argus_instance_id", value) - - -class SkeClusterExtensionsDnsArgsDict(TypedDict): - enabled: pulumi.Input[_builtins.bool] - """ - Flag to enable/disable DNS extensions - """ - zones: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]] - """ - Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) - """ + return pulumi.get(self, "machine_type") -@pulumi.input_type -class SkeClusterExtensionsDnsArgs: - def __init__(__self__, *, - enabled: pulumi.Input[_builtins.bool], - zones: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None): + @machine_type.setter + def machine_type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "machine_type", value) + + @_builtins.property + @pulumi.getter + def maximum(self) -> pulumi.Input[_builtins.int]: """ - :param pulumi.Input[_builtins.bool] enabled: Flag to enable/disable DNS extensions - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] zones: Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) + Maximum number of nodes in the pool. """ - pulumi.set(__self__, "enabled", enabled) - if zones is not None: - pulumi.set(__self__, "zones", zones) + return pulumi.get(self, "maximum") + + @maximum.setter + def maximum(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "maximum", value) @_builtins.property @pulumi.getter - def enabled(self) -> pulumi.Input[_builtins.bool]: + def minimum(self) -> pulumi.Input[_builtins.int]: """ - Flag to enable/disable DNS extensions + Minimum number of nodes in the pool. """ - return pulumi.get(self, "enabled") + return pulumi.get(self, "minimum") - @enabled.setter - def enabled(self, value: pulumi.Input[_builtins.bool]): - pulumi.set(self, "enabled", value) + @minimum.setter + def minimum(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "minimum", value) @_builtins.property @pulumi.getter - def zones(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + def name(self) -> pulumi.Input[_builtins.str]: """ - Specify a list of domain filters for externalDNS (e.g., `foo.runs.onstackit.cloud`) + Specifies the name of the node pool. """ - return pulumi.get(self, "zones") + return pulumi.get(self, "name") - @zones.setter - def zones(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): - pulumi.set(self, "zones", value) + @name.setter + def name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "name", value) + @_builtins.property + @pulumi.getter(name="allowSystemComponents") + def allow_system_components(self) -> pulumi.Input[Optional[_builtins.bool]]: + """ + Allow system components to run on this node pool. + """ + return pulumi.get(self, "allow_system_components") -class SkeClusterExtensionsObservabilityArgsDict(TypedDict): - enabled: pulumi.Input[_builtins.bool] - """ - Flag to enable/disable Observability extensions. - """ - instance_id: NotRequired[pulumi.Input[Optional[_builtins.str]]] - """ - Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`. - """ + @allow_system_components.setter + def allow_system_components(self, value: pulumi.Input[Optional[_builtins.bool]]): + pulumi.set(self, "allow_system_components", value) -@pulumi.input_type -class SkeClusterExtensionsObservabilityArgs: - def __init__(__self__, *, - enabled: pulumi.Input[_builtins.bool], - instance_id: pulumi.Input[Optional[_builtins.str]] = None): + @_builtins.property + @pulumi.getter + def cri(self) -> pulumi.Input[Optional[_builtins.str]]: """ - :param pulumi.Input[_builtins.bool] enabled: Flag to enable/disable Observability extensions. - :param pulumi.Input[_builtins.str] instance_id: Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`. + Specifies the container runtime. Defaults to `containerd` """ - pulumi.set(__self__, "enabled", enabled) - if instance_id is not None: - pulumi.set(__self__, "instance_id", instance_id) + return pulumi.get(self, "cri") + + @cri.setter + def cri(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "cri", value) @_builtins.property @pulumi.getter - def enabled(self) -> pulumi.Input[_builtins.bool]: + def labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: """ - Flag to enable/disable Observability extensions. + Labels to add to each node. """ - return pulumi.get(self, "enabled") + return pulumi.get(self, "labels") - @enabled.setter - def enabled(self, value: pulumi.Input[_builtins.bool]): - pulumi.set(self, "enabled", value) + @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="instanceId") - def instance_id(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="maxSurge") + def max_surge(self) -> pulumi.Input[Optional[_builtins.int]]: """ - Observability instance ID to choose which Observability instance is used. Required when enabled is set to `true`. + Maximum number of additional VMs that are created during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `max_surge` and `max_unavailable` fields cannot both be unset at the same time. """ - return pulumi.get(self, "instance_id") + return pulumi.get(self, "max_surge") - @instance_id.setter - def instance_id(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "instance_id", value) + @max_surge.setter + def max_surge(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "max_surge", value) + @_builtins.property + @pulumi.getter(name="maxUnavailable") + def max_unavailable(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + Maximum number of VMs that that can be unavailable during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `max_surge` and `max_unavailable` fields cannot both be unset at the same time. + """ + return pulumi.get(self, "max_unavailable") -class SkeClusterHibernationArgsDict(TypedDict): - end: pulumi.Input[_builtins.str] - """ - End time of hibernation in crontab syntax. E.g. `0 8 * * *` for waking up the cluster at 8am. - """ - start: pulumi.Input[_builtins.str] - """ - Start time of cluster hibernation in crontab syntax. E.g. `0 18 * * *` for starting everyday at 6pm. - """ - timezone: NotRequired[pulumi.Input[Optional[_builtins.str]]] - """ - Timezone name corresponding to a file in the IANA Time Zone database. i.e. `Europe/Berlin`. - """ + @max_unavailable.setter + def max_unavailable(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "max_unavailable", value) -@pulumi.input_type -class SkeClusterHibernationArgs: - def __init__(__self__, *, - end: pulumi.Input[_builtins.str], - start: pulumi.Input[_builtins.str], - timezone: pulumi.Input[Optional[_builtins.str]] = None): + @_builtins.property + @pulumi.getter(name="osName") + def os_name(self) -> pulumi.Input[Optional[_builtins.str]]: """ - :param pulumi.Input[_builtins.str] end: End time of hibernation in crontab syntax. E.g. `0 8 * * *` for waking up the cluster at 8am. - :param pulumi.Input[_builtins.str] start: Start time of cluster hibernation in crontab syntax. E.g. `0 18 * * *` for starting everyday at 6pm. - :param pulumi.Input[_builtins.str] timezone: Timezone name corresponding to a file in the IANA Time Zone database. i.e. `Europe/Berlin`. + The name of the OS image. Defaults to `flatcar`. """ - pulumi.set(__self__, "end", end) - pulumi.set(__self__, "start", start) - if timezone is not None: - pulumi.set(__self__, "timezone", timezone) + return pulumi.get(self, "os_name") + + @os_name.setter + def os_name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "os_name", value) @_builtins.property - @pulumi.getter - def end(self) -> pulumi.Input[_builtins.str]: + @pulumi.getter(name="osVersion") + @_utilities.deprecated("""Use `os_version_min` to configure the version and `os_version_used` to get the currently used version instead. Setting a specific OS image version will cause errors during minor OS upgrades due to forced updates.""") + def os_version(self) -> pulumi.Input[Optional[_builtins.str]]: """ - End time of hibernation in crontab syntax. E.g. `0 8 * * *` for waking up the cluster at 8am. + This field is deprecated, use `os_version_min` to configure the version and `os_version_used` to get the currently used version instead. """ - return pulumi.get(self, "end") + return pulumi.get(self, "os_version") - @end.setter - def end(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "end", value) + @os_version.setter + def os_version(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "os_version", value) @_builtins.property - @pulumi.getter - def start(self) -> pulumi.Input[_builtins.str]: + @pulumi.getter(name="osVersionMin") + def os_version_min(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Start time of cluster hibernation in crontab syntax. E.g. `0 18 * * *` for starting everyday at 6pm. + The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. """ - return pulumi.get(self, "start") + return pulumi.get(self, "os_version_min") - @start.setter - def start(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "start", value) + @os_version_min.setter + def os_version_min(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "os_version_min", value) + + @_builtins.property + @pulumi.getter(name="osVersionUsed") + def os_version_used(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + """ + return pulumi.get(self, "os_version_used") + + @os_version_used.setter + def os_version_used(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "os_version_used", value) @_builtins.property @pulumi.getter - def timezone(self) -> pulumi.Input[Optional[_builtins.str]]: + def taints(self) -> pulumi.Input[Optional[Sequence[pulumi.Input['SkeClusterNodePoolTaintArgs']]]]: """ - Timezone name corresponding to a file in the IANA Time Zone database. i.e. `Europe/Berlin`. + Specifies a taint list as defined below. """ - return pulumi.get(self, "timezone") + return pulumi.get(self, "taints") - @timezone.setter - def timezone(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "timezone", value) + @taints.setter + def taints(self, value: pulumi.Input[Optional[Sequence[pulumi.Input['SkeClusterNodePoolTaintArgs']]]]): + pulumi.set(self, "taints", value) + @_builtins.property + @pulumi.getter(name="volumeSize") + def volume_size(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + The volume size in GB. Defaults to `20` + """ + return pulumi.get(self, "volume_size") -class SkeClusterMaintenanceArgsDict(TypedDict): - enable_kubernetes_version_updates: NotRequired[pulumi.Input[Optional[_builtins.bool]]] - """ - Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). - """ - enable_machine_image_version_updates: NotRequired[pulumi.Input[Optional[_builtins.bool]]] - """ - Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). - """ - end: NotRequired[pulumi.Input[Optional[_builtins.str]]] - """ - Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`. - """ - start: NotRequired[pulumi.Input[Optional[_builtins.str]]] - """ - Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`. - """ + @volume_size.setter + def volume_size(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "volume_size", value) -@pulumi.input_type -class SkeClusterMaintenanceArgs: - def __init__(__self__, *, - enable_kubernetes_version_updates: pulumi.Input[Optional[_builtins.bool]] = None, - enable_machine_image_version_updates: pulumi.Input[Optional[_builtins.bool]] = None, - end: pulumi.Input[Optional[_builtins.str]] = None, - start: pulumi.Input[Optional[_builtins.str]] = None): + @_builtins.property + @pulumi.getter(name="volumeType") + def volume_type(self) -> pulumi.Input[Optional[_builtins.str]]: """ - :param pulumi.Input[_builtins.bool] enable_kubernetes_version_updates: Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). - :param pulumi.Input[_builtins.bool] enable_machine_image_version_updates: Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). - :param pulumi.Input[_builtins.str] end: Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`. - :param pulumi.Input[_builtins.str] start: Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`. + Specifies the volume type. Defaults to `storage_premium_perf1`. """ - if enable_kubernetes_version_updates is not None: - pulumi.set(__self__, "enable_kubernetes_version_updates", enable_kubernetes_version_updates) - if enable_machine_image_version_updates is not None: - pulumi.set(__self__, "enable_machine_image_version_updates", enable_machine_image_version_updates) - if end is not None: - pulumi.set(__self__, "end", end) - if start is not None: - pulumi.set(__self__, "start", start) + return pulumi.get(self, "volume_type") + + @volume_type.setter + def volume_type(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "volume_type", value) - @_builtins.property - @pulumi.getter(name="enableKubernetesVersionUpdates") - def enable_kubernetes_version_updates(self) -> pulumi.Input[Optional[_builtins.bool]]: + +class SkeClusterNodePoolTaintArgsDict(TypedDict): + effect: pulumi.Input[_builtins.str] + """ + The taint effect. E.g `PreferNoSchedule`. + """ + key: pulumi.Input[_builtins.str] + """ + Taint key to be applied to a node. + """ + value: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + Taint value corresponding to the taint key. + """ + +@pulumi.input_type +class SkeClusterNodePoolTaintArgs: + def __init__(__self__, *, + effect: pulumi.Input[_builtins.str], + key: pulumi.Input[_builtins.str], + value: pulumi.Input[Optional[_builtins.str]] = None): """ - Flag to enable/disable auto-updates of the Kubernetes version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + :param pulumi.Input[_builtins.str] effect: The taint effect. E.g `PreferNoSchedule`. + :param pulumi.Input[_builtins.str] key: Taint key to be applied to a node. + :param pulumi.Input[_builtins.str] value: Taint value corresponding to the taint key. """ - return pulumi.get(self, "enable_kubernetes_version_updates") - - @enable_kubernetes_version_updates.setter - def enable_kubernetes_version_updates(self, value: pulumi.Input[Optional[_builtins.bool]]): - pulumi.set(self, "enable_kubernetes_version_updates", value) + pulumi.set(__self__, "effect", effect) + pulumi.set(__self__, "key", key) + if value is not None: + pulumi.set(__self__, "value", value) @_builtins.property - @pulumi.getter(name="enableMachineImageVersionUpdates") - def enable_machine_image_version_updates(self) -> pulumi.Input[Optional[_builtins.bool]]: + @pulumi.getter + def effect(self) -> pulumi.Input[_builtins.str]: """ - Flag to enable/disable auto-updates of the OS image version. Defaults to `true`. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + The taint effect. E.g `PreferNoSchedule`. """ - return pulumi.get(self, "enable_machine_image_version_updates") + return pulumi.get(self, "effect") - @enable_machine_image_version_updates.setter - def enable_machine_image_version_updates(self, value: pulumi.Input[Optional[_builtins.bool]]): - pulumi.set(self, "enable_machine_image_version_updates", value) + @effect.setter + def effect(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "effect", value) @_builtins.property @pulumi.getter - def end(self) -> pulumi.Input[Optional[_builtins.str]]: + def key(self) -> pulumi.Input[_builtins.str]: """ - Time for maintenance window end. E.g. `01:23:45Z`, `05:00:00+02:00`. + Taint key to be applied to a node. """ - return pulumi.get(self, "end") + return pulumi.get(self, "key") - @end.setter - def end(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "end", value) + @key.setter + def key(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "key", value) @_builtins.property @pulumi.getter - def start(self) -> pulumi.Input[Optional[_builtins.str]]: + def value(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Time for maintenance window start. E.g. `01:23:45Z`, `05:00:00+02:00`. + Taint value corresponding to the taint key. """ - return pulumi.get(self, "start") + return pulumi.get(self, "value") - @start.setter - def start(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "start", value) + @value.setter + def value(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "value", value) -class SkeClusterNetworkArgsDict(TypedDict): - control_plane: NotRequired[pulumi.Input[Optional['SkeClusterNetworkControlPlaneArgs']]] - """ - Control plane for the cluster. - """ +class SqlserverflexInstanceFlavorArgsDict(TypedDict): + cpu: pulumi.Input[_builtins.int] + ram: pulumi.Input[_builtins.int] + description: NotRequired[pulumi.Input[Optional[_builtins.str]]] id: NotRequired[pulumi.Input[Optional[_builtins.str]]] - """ - ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. - """ @pulumi.input_type -class SkeClusterNetworkArgs: +class SqlserverflexInstanceFlavorArgs: def __init__(__self__, *, - control_plane: pulumi.Input[Optional['SkeClusterNetworkControlPlaneArgs']] = None, + cpu: pulumi.Input[_builtins.int], + ram: pulumi.Input[_builtins.int], + description: pulumi.Input[Optional[_builtins.str]] = None, id: pulumi.Input[Optional[_builtins.str]] = None): - """ - :param pulumi.Input['SkeClusterNetworkControlPlaneArgs'] control_plane: Control plane for the cluster. - :param pulumi.Input[_builtins.str] id: ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. - """ - if control_plane is not None: - pulumi.set(__self__, "control_plane", control_plane) + pulumi.set(__self__, "cpu", cpu) + pulumi.set(__self__, "ram", ram) + if description is not None: + pulumi.set(__self__, "description", description) if id is not None: pulumi.set(__self__, "id", id) @_builtins.property - @pulumi.getter(name="controlPlane") - def control_plane(self) -> pulumi.Input[Optional['SkeClusterNetworkControlPlaneArgs']]: - """ - Control plane for the cluster. - """ - return pulumi.get(self, "control_plane") + @pulumi.getter + def cpu(self) -> pulumi.Input[_builtins.int]: + return pulumi.get(self, "cpu") - @control_plane.setter - def control_plane(self, value: pulumi.Input[Optional['SkeClusterNetworkControlPlaneArgs']]): - pulumi.set(self, "control_plane", value) + @cpu.setter + def cpu(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "cpu", value) + + @_builtins.property + @pulumi.getter + def ram(self) -> pulumi.Input[_builtins.int]: + return pulumi.get(self, "ram") + + @ram.setter + def ram(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "ram", value) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) @_builtins.property @pulumi.getter def id(self) -> pulumi.Input[Optional[_builtins.str]]: - """ - ID of the STACKIT Network Area (SNA) network into which the cluster will be deployed. - """ return pulumi.get(self, "id") @id.setter @@ -8757,571 +9959,634 @@ def id(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "id", value) -class SkeClusterNetworkControlPlaneArgsDict(TypedDict): - access_scope: NotRequired[pulumi.Input[Optional[_builtins.str]]] +class SqlserverflexInstanceOptionsArgsDict(TypedDict): + edition: NotRequired[pulumi.Input[Optional[_builtins.str]]] + retention_days: NotRequired[pulumi.Input[Optional[_builtins.int]]] + +@pulumi.input_type +class SqlserverflexInstanceOptionsArgs: + def __init__(__self__, *, + edition: pulumi.Input[Optional[_builtins.str]] = None, + retention_days: pulumi.Input[Optional[_builtins.int]] = None): + if edition is not None: + pulumi.set(__self__, "edition", edition) + if retention_days is not None: + pulumi.set(__self__, "retention_days", retention_days) + + @_builtins.property + @pulumi.getter + def edition(self) -> pulumi.Input[Optional[_builtins.str]]: + return pulumi.get(self, "edition") + + @edition.setter + def edition(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "edition", value) + + @_builtins.property + @pulumi.getter(name="retentionDays") + def retention_days(self) -> pulumi.Input[Optional[_builtins.int]]: + return pulumi.get(self, "retention_days") + + @retention_days.setter + def retention_days(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "retention_days", value) + + +class SqlserverflexInstanceStorageArgsDict(TypedDict): + class_: NotRequired[pulumi.Input[Optional[_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! + The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + `bash + stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID + ` + - `size` (Number) """ + size: NotRequired[pulumi.Input[Optional[_builtins.int]]] @pulumi.input_type -class SkeClusterNetworkControlPlaneArgs: +class SqlserverflexInstanceStorageArgs: def __init__(__self__, *, - access_scope: pulumi.Input[Optional[_builtins.str]] = None): + class_: pulumi.Input[Optional[_builtins.str]] = None, + size: pulumi.Input[Optional[_builtins.int]] = None): """ - :param pulumi.Input[_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! + :param pulumi.Input[_builtins.str] class_: The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + `bash + stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID + ` + - `size` (Number) """ - if access_scope is not None: - pulumi.set(__self__, "access_scope", access_scope) + if class_ is not None: + pulumi.set(__self__, "class_", class_) + if size is not None: + pulumi.set(__self__, "size", size) @_builtins.property - @pulumi.getter(name="accessScope") - def access_scope(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="class") + def class_(self) -> pulumi.Input[Optional[_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! + The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + `bash + stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID + ` + - `size` (Number) """ - return pulumi.get(self, "access_scope") - - @access_scope.setter - def access_scope(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "access_scope", value) - + return pulumi.get(self, "class_") -class SkeClusterNodePoolArgsDict(TypedDict): - availability_zones: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] - """ - Specify a list of availability zones. E.g. `eu01-m` - """ - machine_type: pulumi.Input[_builtins.str] - """ - The machine type. - """ - maximum: pulumi.Input[_builtins.int] - """ - Maximum number of nodes in the pool. - """ - minimum: pulumi.Input[_builtins.int] - """ - Minimum number of nodes in the pool. - """ - name: pulumi.Input[_builtins.str] - """ - Specifies the name of the node pool. - """ - allow_system_components: NotRequired[pulumi.Input[Optional[_builtins.bool]]] - """ - Allow system components to run on this node pool. - """ - cri: NotRequired[pulumi.Input[Optional[_builtins.str]]] - """ - Specifies the container runtime. Defaults to `containerd` - """ - labels: NotRequired[pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]] - """ - Labels to add to each node. - """ - max_surge: NotRequired[pulumi.Input[Optional[_builtins.int]]] - """ - Maximum number of additional VMs that are created during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `max_surge` and `max_unavailable` fields cannot both be unset at the same time. - """ - max_unavailable: NotRequired[pulumi.Input[Optional[_builtins.int]]] - """ - Maximum number of VMs that that can be unavailable during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `max_surge` and `max_unavailable` fields cannot both be unset at the same time. - """ - os_name: NotRequired[pulumi.Input[Optional[_builtins.str]]] - """ - The name of the OS image. Defaults to `flatcar`. - """ - os_version: NotRequired[pulumi.Input[Optional[_builtins.str]]] - """ - This field is deprecated, use `os_version_min` to configure the version and `os_version_used` to get the currently used version instead. - """ - os_version_min: NotRequired[pulumi.Input[Optional[_builtins.str]]] - """ - The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. - """ - os_version_used: NotRequired[pulumi.Input[Optional[_builtins.str]]] + @class_.setter + def class_(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "class_", value) + + @_builtins.property + @pulumi.getter + def size(self) -> pulumi.Input[Optional[_builtins.int]]: + return pulumi.get(self, "size") + + @size.setter + def size(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "size", value) + + +class TelemetryrouterDestinationConfigArgsDict(TypedDict): + config_type: pulumi.Input[_builtins.str] """ - Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. """ - taints: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input['SkeClusterNodePoolTaintArgs']]]]] + filter: NotRequired[pulumi.Input[Optional['TelemetryrouterDestinationConfigFilterArgsDict']]] """ - Specifies a taint list as defined below. + The TelemetryRouter destination's filter settings """ - volume_size: NotRequired[pulumi.Input[Optional[_builtins.int]]] + opentelemetry: NotRequired[pulumi.Input[Optional['TelemetryrouterDestinationConfigOpentelemetryArgsDict']]] """ - The volume size in GB. Defaults to `20` + OpenTelemetry configuration """ - volume_type: NotRequired[pulumi.Input[Optional[_builtins.str]]] + s3: NotRequired[pulumi.Input[Optional['TelemetryrouterDestinationConfigS3ArgsDict']]] """ - Specifies the volume type. Defaults to `storage_premium_perf1`. + S3 configuration """ @pulumi.input_type -class SkeClusterNodePoolArgs: +class TelemetryrouterDestinationConfigArgs: def __init__(__self__, *, - availability_zones: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], - machine_type: pulumi.Input[_builtins.str], - maximum: pulumi.Input[_builtins.int], - minimum: pulumi.Input[_builtins.int], - name: pulumi.Input[_builtins.str], - allow_system_components: pulumi.Input[Optional[_builtins.bool]] = None, - cri: pulumi.Input[Optional[_builtins.str]] = None, - labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, - max_surge: pulumi.Input[Optional[_builtins.int]] = None, - max_unavailable: pulumi.Input[Optional[_builtins.int]] = None, - os_name: pulumi.Input[Optional[_builtins.str]] = None, - os_version: pulumi.Input[Optional[_builtins.str]] = None, - os_version_min: pulumi.Input[Optional[_builtins.str]] = None, - os_version_used: pulumi.Input[Optional[_builtins.str]] = None, - taints: pulumi.Input[Optional[Sequence[pulumi.Input['SkeClusterNodePoolTaintArgs']]]] = None, - volume_size: pulumi.Input[Optional[_builtins.int]] = None, - volume_type: pulumi.Input[Optional[_builtins.str]] = None): + config_type: pulumi.Input[_builtins.str], + filter: pulumi.Input[Optional['TelemetryrouterDestinationConfigFilterArgs']] = None, + opentelemetry: pulumi.Input[Optional['TelemetryrouterDestinationConfigOpentelemetryArgs']] = None, + s3: pulumi.Input[Optional['TelemetryrouterDestinationConfigS3Args']] = None): """ - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] availability_zones: Specify a list of availability zones. E.g. `eu01-m` - :param pulumi.Input[_builtins.str] machine_type: The machine type. - :param pulumi.Input[_builtins.int] maximum: Maximum number of nodes in the pool. - :param pulumi.Input[_builtins.int] minimum: Minimum number of nodes in the pool. - :param pulumi.Input[_builtins.str] name: Specifies the name of the node pool. - :param pulumi.Input[_builtins.bool] allow_system_components: Allow system components to run on this node pool. - :param pulumi.Input[_builtins.str] cri: Specifies the container runtime. Defaults to `containerd` - :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels to add to each node. - :param pulumi.Input[_builtins.int] max_surge: Maximum number of additional VMs that are created during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `max_surge` and `max_unavailable` fields cannot both be unset at the same time. - :param pulumi.Input[_builtins.int] max_unavailable: Maximum number of VMs that that can be unavailable during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `max_surge` and `max_unavailable` fields cannot both be unset at the same time. - :param pulumi.Input[_builtins.str] os_name: The name of the OS image. Defaults to `flatcar`. - :param pulumi.Input[_builtins.str] os_version: This field is deprecated, use `os_version_min` to configure the version and `os_version_used` to get the currently used version instead. - :param pulumi.Input[_builtins.str] os_version_min: The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. - :param pulumi.Input[_builtins.str] os_version_used: Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). - :param pulumi.Input[Sequence[pulumi.Input['SkeClusterNodePoolTaintArgs']]] taints: Specifies a taint list as defined below. - :param pulumi.Input[_builtins.int] volume_size: The volume size in GB. Defaults to `20` - :param pulumi.Input[_builtins.str] volume_type: Specifies the volume type. Defaults to `storage_premium_perf1`. + :param pulumi.Input[_builtins.str] config_type: The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. + :param pulumi.Input['TelemetryrouterDestinationConfigFilterArgs'] filter: The TelemetryRouter destination's filter settings + :param pulumi.Input['TelemetryrouterDestinationConfigOpentelemetryArgs'] opentelemetry: OpenTelemetry configuration + :param pulumi.Input['TelemetryrouterDestinationConfigS3Args'] s3: S3 configuration """ - pulumi.set(__self__, "availability_zones", availability_zones) - pulumi.set(__self__, "machine_type", machine_type) - pulumi.set(__self__, "maximum", maximum) - pulumi.set(__self__, "minimum", minimum) - pulumi.set(__self__, "name", name) - if allow_system_components is not None: - pulumi.set(__self__, "allow_system_components", allow_system_components) - if cri is not None: - pulumi.set(__self__, "cri", cri) - if labels is not None: - pulumi.set(__self__, "labels", labels) - if max_surge is not None: - pulumi.set(__self__, "max_surge", max_surge) - if max_unavailable is not None: - pulumi.set(__self__, "max_unavailable", max_unavailable) - if os_name is not None: - pulumi.set(__self__, "os_name", os_name) - if os_version is not None: - warnings.warn("""Use `os_version_min` to configure the version and `os_version_used` to get the currently used version instead. Setting a specific OS image version will cause errors during minor OS upgrades due to forced updates.""", DeprecationWarning) - pulumi.log.warn("""os_version is deprecated: Use `os_version_min` to configure the version and `os_version_used` to get the currently used version instead. Setting a specific OS image version will cause errors during minor OS upgrades due to forced updates.""") - if os_version is not None: - pulumi.set(__self__, "os_version", os_version) - if os_version_min is not None: - pulumi.set(__self__, "os_version_min", os_version_min) - if os_version_used is not None: - pulumi.set(__self__, "os_version_used", os_version_used) - if taints is not None: - pulumi.set(__self__, "taints", taints) - if volume_size is not None: - pulumi.set(__self__, "volume_size", volume_size) - if volume_type is not None: - pulumi.set(__self__, "volume_type", volume_type) + pulumi.set(__self__, "config_type", config_type) + if filter is not None: + pulumi.set(__self__, "filter", filter) + if opentelemetry is not None: + pulumi.set(__self__, "opentelemetry", opentelemetry) + if s3 is not None: + pulumi.set(__self__, "s3", s3) @_builtins.property - @pulumi.getter(name="availabilityZones") - def availability_zones(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: + @pulumi.getter(name="configType") + def config_type(self) -> pulumi.Input[_builtins.str]: """ - Specify a list of availability zones. E.g. `eu01-m` + The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. """ - return pulumi.get(self, "availability_zones") + return pulumi.get(self, "config_type") - @availability_zones.setter - def availability_zones(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): - pulumi.set(self, "availability_zones", value) + @config_type.setter + def config_type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "config_type", value) @_builtins.property - @pulumi.getter(name="machineType") - def machine_type(self) -> pulumi.Input[_builtins.str]: + @pulumi.getter + def filter(self) -> pulumi.Input[Optional['TelemetryrouterDestinationConfigFilterArgs']]: """ - The machine type. + The TelemetryRouter destination's filter settings """ - return pulumi.get(self, "machine_type") + return pulumi.get(self, "filter") - @machine_type.setter - def machine_type(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "machine_type", value) + @filter.setter + def filter(self, value: pulumi.Input[Optional['TelemetryrouterDestinationConfigFilterArgs']]): + pulumi.set(self, "filter", value) @_builtins.property @pulumi.getter - def maximum(self) -> pulumi.Input[_builtins.int]: + def opentelemetry(self) -> pulumi.Input[Optional['TelemetryrouterDestinationConfigOpentelemetryArgs']]: """ - Maximum number of nodes in the pool. + OpenTelemetry configuration """ - return pulumi.get(self, "maximum") + return pulumi.get(self, "opentelemetry") - @maximum.setter - def maximum(self, value: pulumi.Input[_builtins.int]): - pulumi.set(self, "maximum", value) + @opentelemetry.setter + def opentelemetry(self, value: pulumi.Input[Optional['TelemetryrouterDestinationConfigOpentelemetryArgs']]): + pulumi.set(self, "opentelemetry", value) @_builtins.property @pulumi.getter - def minimum(self) -> pulumi.Input[_builtins.int]: + def s3(self) -> pulumi.Input[Optional['TelemetryrouterDestinationConfigS3Args']]: """ - Minimum number of nodes in the pool. + S3 configuration """ - return pulumi.get(self, "minimum") + return pulumi.get(self, "s3") - @minimum.setter - def minimum(self, value: pulumi.Input[_builtins.int]): - pulumi.set(self, "minimum", value) + @s3.setter + def s3(self, value: pulumi.Input[Optional['TelemetryrouterDestinationConfigS3Args']]): + pulumi.set(self, "s3", value) + + +class TelemetryrouterDestinationConfigFilterArgsDict(TypedDict): + attributes: pulumi.Input[Sequence[pulumi.Input['TelemetryrouterDestinationConfigFilterAttributeArgsDict']]] + """ + The TelemetryRouter destination's filter attributes + """ + +@pulumi.input_type +class TelemetryrouterDestinationConfigFilterArgs: + def __init__(__self__, *, + attributes: pulumi.Input[Sequence[pulumi.Input['TelemetryrouterDestinationConfigFilterAttributeArgs']]]): + """ + :param pulumi.Input[Sequence[pulumi.Input['TelemetryrouterDestinationConfigFilterAttributeArgs']]] attributes: The TelemetryRouter destination's filter attributes + """ + pulumi.set(__self__, "attributes", attributes) @_builtins.property @pulumi.getter - def name(self) -> pulumi.Input[_builtins.str]: + def attributes(self) -> pulumi.Input[Sequence[pulumi.Input['TelemetryrouterDestinationConfigFilterAttributeArgs']]]: """ - Specifies the name of the node pool. + The TelemetryRouter destination's filter attributes """ - return pulumi.get(self, "name") + return pulumi.get(self, "attributes") - @name.setter - def name(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "name", value) + @attributes.setter + def attributes(self, value: pulumi.Input[Sequence[pulumi.Input['TelemetryrouterDestinationConfigFilterAttributeArgs']]]): + pulumi.set(self, "attributes", value) - @_builtins.property - @pulumi.getter(name="allowSystemComponents") - def allow_system_components(self) -> pulumi.Input[Optional[_builtins.bool]]: + +class TelemetryrouterDestinationConfigFilterAttributeArgsDict(TypedDict): + key: pulumi.Input[_builtins.str] + """ + The TelemetryRouter destination's filter attribute key + """ + level: pulumi.Input[_builtins.str] + """ + The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + """ + matcher: pulumi.Input[_builtins.str] + """ + The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. + """ + values: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] + """ + The TelemetryRouter destination's filter attribute values + """ + +@pulumi.input_type +class TelemetryrouterDestinationConfigFilterAttributeArgs: + def __init__(__self__, *, + key: pulumi.Input[_builtins.str], + level: pulumi.Input[_builtins.str], + matcher: pulumi.Input[_builtins.str], + values: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): """ - Allow system components to run on this node pool. + :param pulumi.Input[_builtins.str] key: The TelemetryRouter destination's filter attribute key + :param pulumi.Input[_builtins.str] level: The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + :param pulumi.Input[_builtins.str] matcher: The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] values: The TelemetryRouter destination's filter attribute values """ - return pulumi.get(self, "allow_system_components") - - @allow_system_components.setter - def allow_system_components(self, value: pulumi.Input[Optional[_builtins.bool]]): - pulumi.set(self, "allow_system_components", value) + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "level", level) + pulumi.set(__self__, "matcher", matcher) + pulumi.set(__self__, "values", values) @_builtins.property @pulumi.getter - def cri(self) -> pulumi.Input[Optional[_builtins.str]]: + def key(self) -> pulumi.Input[_builtins.str]: """ - Specifies the container runtime. Defaults to `containerd` + The TelemetryRouter destination's filter attribute key """ - return pulumi.get(self, "cri") + return pulumi.get(self, "key") - @cri.setter - def cri(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "cri", value) + @key.setter + def key(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "key", value) @_builtins.property @pulumi.getter - def labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + def level(self) -> pulumi.Input[_builtins.str]: """ - Labels to add to each node. + The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. """ - return pulumi.get(self, "labels") + return pulumi.get(self, "level") - @labels.setter - def labels(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): - pulumi.set(self, "labels", value) + @level.setter + def level(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "level", value) @_builtins.property - @pulumi.getter(name="maxSurge") - def max_surge(self) -> pulumi.Input[Optional[_builtins.int]]: + @pulumi.getter + def matcher(self) -> pulumi.Input[_builtins.str]: """ - Maximum number of additional VMs that are created during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `max_surge` and `max_unavailable` fields cannot both be unset at the same time. + The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. """ - return pulumi.get(self, "max_surge") + return pulumi.get(self, "matcher") - @max_surge.setter - def max_surge(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "max_surge", value) + @matcher.setter + def matcher(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "matcher", value) @_builtins.property - @pulumi.getter(name="maxUnavailable") - def max_unavailable(self) -> pulumi.Input[Optional[_builtins.int]]: + @pulumi.getter + def values(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: """ - Maximum number of VMs that that can be unavailable during an update. If set (larger than 0), then it must be at least the amount of zones configured for the nodepool. The `max_surge` and `max_unavailable` fields cannot both be unset at the same time. + The TelemetryRouter destination's filter attribute values """ - return pulumi.get(self, "max_unavailable") + return pulumi.get(self, "values") - @max_unavailable.setter - def max_unavailable(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "max_unavailable", value) + @values.setter + def values(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): + pulumi.set(self, "values", value) - @_builtins.property - @pulumi.getter(name="osName") - def os_name(self) -> pulumi.Input[Optional[_builtins.str]]: + +class TelemetryrouterDestinationConfigOpentelemetryArgsDict(TypedDict): + uri: pulumi.Input[_builtins.str] + """ + OpenTelemetry destination URI + """ + basic_auth: NotRequired[pulumi.Input[Optional['TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgsDict']]] + """ + OpenTelemetry basic auth configuration + """ + bearer_token: NotRequired[pulumi.Input[Optional[_builtins.str]]] + """ + OpenTelemetry bearer token + """ + +@pulumi.input_type +class TelemetryrouterDestinationConfigOpentelemetryArgs: + def __init__(__self__, *, + uri: pulumi.Input[_builtins.str], + basic_auth: pulumi.Input[Optional['TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs']] = None, + bearer_token: pulumi.Input[Optional[_builtins.str]] = None): """ - The name of the OS image. Defaults to `flatcar`. + :param pulumi.Input[_builtins.str] uri: OpenTelemetry destination URI + :param pulumi.Input['TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs'] basic_auth: OpenTelemetry basic auth configuration + :param pulumi.Input[_builtins.str] bearer_token: OpenTelemetry bearer token """ - return pulumi.get(self, "os_name") - - @os_name.setter - def os_name(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "os_name", value) + pulumi.set(__self__, "uri", uri) + if basic_auth is not None: + pulumi.set(__self__, "basic_auth", basic_auth) + if bearer_token is not None: + pulumi.set(__self__, "bearer_token", bearer_token) @_builtins.property - @pulumi.getter(name="osVersion") - @_utilities.deprecated("""Use `os_version_min` to configure the version and `os_version_used` to get the currently used version instead. Setting a specific OS image version will cause errors during minor OS upgrades due to forced updates.""") - def os_version(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter + def uri(self) -> pulumi.Input[_builtins.str]: """ - This field is deprecated, use `os_version_min` to configure the version and `os_version_used` to get the currently used version instead. + OpenTelemetry destination URI """ - return pulumi.get(self, "os_version") + return pulumi.get(self, "uri") - @os_version.setter - def os_version(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "os_version", value) + @uri.setter + def uri(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "uri", value) @_builtins.property - @pulumi.getter(name="osVersionMin") - def os_version_min(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="basicAuth") + def basic_auth(self) -> pulumi.Input[Optional['TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs']]: """ - The minimum OS image version. This field will be used to set the minimum OS image version on creation/update of the cluster. If unset, the latest supported OS image version will be used. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). To get the current OS image version being used for the node pool, use the read-only `os_version_used` field. + OpenTelemetry basic auth configuration """ - return pulumi.get(self, "os_version_min") + return pulumi.get(self, "basic_auth") - @os_version_min.setter - def os_version_min(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "os_version_min", value) + @basic_auth.setter + def basic_auth(self, value: pulumi.Input[Optional['TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs']]): + pulumi.set(self, "basic_auth", value) @_builtins.property - @pulumi.getter(name="osVersionUsed") - def os_version_used(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="bearerToken") + def bearer_token(self) -> pulumi.Input[Optional[_builtins.str]]: """ - Full OS image version used. For example, if 3815.2 was set in `os_version_min`, this value may result to 3815.2.2. SKE automatically updates the cluster Kubernetes version if you have set `maintenance.enable_kubernetes_version_updates` to true or if there is a mandatory update, as described in [General information for Kubernetes & OS updates](https://docs.stackit.cloud/products/runtime/kubernetes-engine/basics/version-updates/). + OpenTelemetry bearer token """ - return pulumi.get(self, "os_version_used") + return pulumi.get(self, "bearer_token") - @os_version_used.setter - def os_version_used(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "os_version_used", value) + @bearer_token.setter + def bearer_token(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "bearer_token", value) - @_builtins.property - @pulumi.getter - def taints(self) -> pulumi.Input[Optional[Sequence[pulumi.Input['SkeClusterNodePoolTaintArgs']]]]: + +class TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgsDict(TypedDict): + password: pulumi.Input[_builtins.str] + """ + OpenTelemetry basic auth username + """ + username: pulumi.Input[_builtins.str] + """ + OpenTelemetry basic auth username + """ + +@pulumi.input_type +class TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs: + def __init__(__self__, *, + password: pulumi.Input[_builtins.str], + username: pulumi.Input[_builtins.str]): """ - Specifies a taint list as defined below. + :param pulumi.Input[_builtins.str] password: OpenTelemetry basic auth username + :param pulumi.Input[_builtins.str] username: OpenTelemetry basic auth username """ - return pulumi.get(self, "taints") - - @taints.setter - def taints(self, value: pulumi.Input[Optional[Sequence[pulumi.Input['SkeClusterNodePoolTaintArgs']]]]): - pulumi.set(self, "taints", value) + pulumi.set(__self__, "password", password) + pulumi.set(__self__, "username", username) @_builtins.property - @pulumi.getter(name="volumeSize") - def volume_size(self) -> pulumi.Input[Optional[_builtins.int]]: + @pulumi.getter + def password(self) -> pulumi.Input[_builtins.str]: """ - The volume size in GB. Defaults to `20` + OpenTelemetry basic auth username """ - return pulumi.get(self, "volume_size") + return pulumi.get(self, "password") - @volume_size.setter - def volume_size(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "volume_size", value) + @password.setter + def password(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "password", value) @_builtins.property - @pulumi.getter(name="volumeType") - def volume_type(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter + def username(self) -> pulumi.Input[_builtins.str]: """ - Specifies the volume type. Defaults to `storage_premium_perf1`. + OpenTelemetry basic auth username """ - return pulumi.get(self, "volume_type") + return pulumi.get(self, "username") - @volume_type.setter - def volume_type(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "volume_type", value) + @username.setter + def username(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "username", value) -class SkeClusterNodePoolTaintArgsDict(TypedDict): - effect: pulumi.Input[_builtins.str] +class TelemetryrouterDestinationConfigS3ArgsDict(TypedDict): + bucket: pulumi.Input[_builtins.str] """ - The taint effect. E.g `PreferNoSchedule`. + S3 bucket name """ - key: pulumi.Input[_builtins.str] + endpoint: pulumi.Input[_builtins.str] """ - Taint key to be applied to a node. + S3 endpoint """ - value: NotRequired[pulumi.Input[Optional[_builtins.str]]] + access_key: NotRequired[pulumi.Input[Optional['TelemetryrouterDestinationConfigS3AccessKeyArgsDict']]] """ - Taint value corresponding to the taint key. + S3 access key configuration """ @pulumi.input_type -class SkeClusterNodePoolTaintArgs: +class TelemetryrouterDestinationConfigS3Args: def __init__(__self__, *, - effect: pulumi.Input[_builtins.str], - key: pulumi.Input[_builtins.str], - value: pulumi.Input[Optional[_builtins.str]] = None): + bucket: pulumi.Input[_builtins.str], + endpoint: pulumi.Input[_builtins.str], + access_key: pulumi.Input[Optional['TelemetryrouterDestinationConfigS3AccessKeyArgs']] = None): """ - :param pulumi.Input[_builtins.str] effect: The taint effect. E.g `PreferNoSchedule`. - :param pulumi.Input[_builtins.str] key: Taint key to be applied to a node. - :param pulumi.Input[_builtins.str] value: Taint value corresponding to the taint key. + :param pulumi.Input[_builtins.str] bucket: S3 bucket name + :param pulumi.Input[_builtins.str] endpoint: S3 endpoint + :param pulumi.Input['TelemetryrouterDestinationConfigS3AccessKeyArgs'] access_key: S3 access key configuration """ - pulumi.set(__self__, "effect", effect) - pulumi.set(__self__, "key", key) - if value is not None: - pulumi.set(__self__, "value", value) + pulumi.set(__self__, "bucket", bucket) + pulumi.set(__self__, "endpoint", endpoint) + if access_key is not None: + pulumi.set(__self__, "access_key", access_key) @_builtins.property @pulumi.getter - def effect(self) -> pulumi.Input[_builtins.str]: + def bucket(self) -> pulumi.Input[_builtins.str]: """ - The taint effect. E.g `PreferNoSchedule`. + S3 bucket name """ - return pulumi.get(self, "effect") + return pulumi.get(self, "bucket") - @effect.setter - def effect(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "effect", value) + @bucket.setter + def bucket(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "bucket", value) @_builtins.property @pulumi.getter - def key(self) -> pulumi.Input[_builtins.str]: + def endpoint(self) -> pulumi.Input[_builtins.str]: """ - Taint key to be applied to a node. + S3 endpoint """ - return pulumi.get(self, "key") + return pulumi.get(self, "endpoint") - @key.setter - def key(self, value: pulumi.Input[_builtins.str]): - pulumi.set(self, "key", value) + @endpoint.setter + def endpoint(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "endpoint", value) @_builtins.property - @pulumi.getter - def value(self) -> pulumi.Input[Optional[_builtins.str]]: + @pulumi.getter(name="accessKey") + def access_key(self) -> pulumi.Input[Optional['TelemetryrouterDestinationConfigS3AccessKeyArgs']]: """ - Taint value corresponding to the taint key. + S3 access key configuration """ - return pulumi.get(self, "value") + return pulumi.get(self, "access_key") - @value.setter - def value(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "value", value) + @access_key.setter + def access_key(self, value: pulumi.Input[Optional['TelemetryrouterDestinationConfigS3AccessKeyArgs']]): + pulumi.set(self, "access_key", value) -class SqlserverflexInstanceFlavorArgsDict(TypedDict): - cpu: pulumi.Input[_builtins.int] - ram: pulumi.Input[_builtins.int] - description: NotRequired[pulumi.Input[Optional[_builtins.str]]] - id: NotRequired[pulumi.Input[Optional[_builtins.str]]] +class TelemetryrouterDestinationConfigS3AccessKeyArgsDict(TypedDict): + id: pulumi.Input[_builtins.str] + """ + S3 access key ID + """ + secret: pulumi.Input[_builtins.str] + """ + S3 access key secret + """ @pulumi.input_type -class SqlserverflexInstanceFlavorArgs: +class TelemetryrouterDestinationConfigS3AccessKeyArgs: def __init__(__self__, *, - cpu: pulumi.Input[_builtins.int], - ram: pulumi.Input[_builtins.int], - description: pulumi.Input[Optional[_builtins.str]] = None, - id: pulumi.Input[Optional[_builtins.str]] = None): - pulumi.set(__self__, "cpu", cpu) - pulumi.set(__self__, "ram", ram) - if description is not None: - pulumi.set(__self__, "description", description) - if id is not None: - pulumi.set(__self__, "id", id) + id: pulumi.Input[_builtins.str], + secret: pulumi.Input[_builtins.str]): + """ + :param pulumi.Input[_builtins.str] id: S3 access key ID + :param pulumi.Input[_builtins.str] secret: S3 access key secret + """ + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "secret", secret) @_builtins.property @pulumi.getter - def cpu(self) -> pulumi.Input[_builtins.int]: - return pulumi.get(self, "cpu") + def id(self) -> pulumi.Input[_builtins.str]: + """ + S3 access key ID + """ + return pulumi.get(self, "id") - @cpu.setter - def cpu(self, value: pulumi.Input[_builtins.int]): - pulumi.set(self, "cpu", value) + @id.setter + def id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "id", value) @_builtins.property @pulumi.getter - def ram(self) -> pulumi.Input[_builtins.int]: - return pulumi.get(self, "ram") + def secret(self) -> pulumi.Input[_builtins.str]: + """ + S3 access key secret + """ + return pulumi.get(self, "secret") - @ram.setter - def ram(self, value: pulumi.Input[_builtins.int]): - pulumi.set(self, "ram", value) + @secret.setter + def secret(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "secret", value) - @_builtins.property - @pulumi.getter - def description(self) -> pulumi.Input[Optional[_builtins.str]]: - return pulumi.get(self, "description") - @description.setter - def description(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "description", value) +class TelemetryrouterInstanceFilterArgsDict(TypedDict): + attributes: pulumi.Input[Sequence[pulumi.Input['TelemetryrouterInstanceFilterAttributeArgsDict']]] + """ + The TelemetryRouter global filter attributes + """ + +@pulumi.input_type +class TelemetryrouterInstanceFilterArgs: + def __init__(__self__, *, + attributes: pulumi.Input[Sequence[pulumi.Input['TelemetryrouterInstanceFilterAttributeArgs']]]): + """ + :param pulumi.Input[Sequence[pulumi.Input['TelemetryrouterInstanceFilterAttributeArgs']]] attributes: The TelemetryRouter global filter attributes + """ + pulumi.set(__self__, "attributes", attributes) @_builtins.property @pulumi.getter - def id(self) -> pulumi.Input[Optional[_builtins.str]]: - return pulumi.get(self, "id") + def attributes(self) -> pulumi.Input[Sequence[pulumi.Input['TelemetryrouterInstanceFilterAttributeArgs']]]: + """ + The TelemetryRouter global filter attributes + """ + return pulumi.get(self, "attributes") - @id.setter - def id(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "id", value) + @attributes.setter + def attributes(self, value: pulumi.Input[Sequence[pulumi.Input['TelemetryrouterInstanceFilterAttributeArgs']]]): + pulumi.set(self, "attributes", value) -class SqlserverflexInstanceOptionsArgsDict(TypedDict): - edition: NotRequired[pulumi.Input[Optional[_builtins.str]]] - retention_days: NotRequired[pulumi.Input[Optional[_builtins.int]]] +class TelemetryrouterInstanceFilterAttributeArgsDict(TypedDict): + key: pulumi.Input[_builtins.str] + """ + The TelemetryRouter global filter attribute key + """ + level: pulumi.Input[_builtins.str] + """ + The TelemetryRouter global filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + """ + matcher: pulumi.Input[_builtins.str] + """ + The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. + """ + values: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] + """ + The TelemetryRouter global filter attributes + """ @pulumi.input_type -class SqlserverflexInstanceOptionsArgs: +class TelemetryrouterInstanceFilterAttributeArgs: def __init__(__self__, *, - edition: pulumi.Input[Optional[_builtins.str]] = None, - retention_days: pulumi.Input[Optional[_builtins.int]] = None): - if edition is not None: - pulumi.set(__self__, "edition", edition) - if retention_days is not None: - pulumi.set(__self__, "retention_days", retention_days) + key: pulumi.Input[_builtins.str], + level: pulumi.Input[_builtins.str], + matcher: pulumi.Input[_builtins.str], + values: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): + """ + :param pulumi.Input[_builtins.str] key: The TelemetryRouter global filter attribute key + :param pulumi.Input[_builtins.str] level: The TelemetryRouter global filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + :param pulumi.Input[_builtins.str] matcher: The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] values: The TelemetryRouter global filter attributes + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "level", level) + pulumi.set(__self__, "matcher", matcher) + pulumi.set(__self__, "values", values) @_builtins.property @pulumi.getter - def edition(self) -> pulumi.Input[Optional[_builtins.str]]: - return pulumi.get(self, "edition") + def key(self) -> pulumi.Input[_builtins.str]: + """ + The TelemetryRouter global filter attribute key + """ + return pulumi.get(self, "key") - @edition.setter - def edition(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "edition", value) + @key.setter + def key(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "key", value) @_builtins.property - @pulumi.getter(name="retentionDays") - def retention_days(self) -> pulumi.Input[Optional[_builtins.int]]: - return pulumi.get(self, "retention_days") - - @retention_days.setter - def retention_days(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "retention_days", value) - - -class SqlserverflexInstanceStorageArgsDict(TypedDict): - class_: NotRequired[pulumi.Input[Optional[_builtins.str]]] - size: NotRequired[pulumi.Input[Optional[_builtins.int]]] + @pulumi.getter + def level(self) -> pulumi.Input[_builtins.str]: + """ + The TelemetryRouter global filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + """ + return pulumi.get(self, "level") -@pulumi.input_type -class SqlserverflexInstanceStorageArgs: - def __init__(__self__, *, - class_: pulumi.Input[Optional[_builtins.str]] = None, - size: pulumi.Input[Optional[_builtins.int]] = None): - if class_ is not None: - pulumi.set(__self__, "class_", class_) - if size is not None: - pulumi.set(__self__, "size", size) + @level.setter + def level(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "level", value) @_builtins.property - @pulumi.getter(name="class") - def class_(self) -> pulumi.Input[Optional[_builtins.str]]: - return pulumi.get(self, "class_") + @pulumi.getter + def matcher(self) -> pulumi.Input[_builtins.str]: + """ + The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. + """ + return pulumi.get(self, "matcher") - @class_.setter - def class_(self, value: pulumi.Input[Optional[_builtins.str]]): - pulumi.set(self, "class_", value) + @matcher.setter + def matcher(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "matcher", value) @_builtins.property @pulumi.getter - def size(self) -> pulumi.Input[Optional[_builtins.int]]: - return pulumi.get(self, "size") + def values(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]: + """ + The TelemetryRouter global filter attributes + """ + return pulumi.get(self, "values") - @size.setter - def size(self, value: pulumi.Input[Optional[_builtins.int]]): - pulumi.set(self, "size", value) + @values.setter + def values(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]): + pulumi.set(self, "values", value) class VolumeEncryptionParametersArgsDict(TypedDict): @@ -9519,6 +10784,101 @@ def type(self, value: pulumi.Input[_builtins.str]): pulumi.set(self, "type", value) +class VpnGatewayAvailabilityZonesArgsDict(TypedDict): + tunnel1: pulumi.Input[_builtins.str] + """ + Availability zone for tunnel 1. + """ + tunnel2: pulumi.Input[_builtins.str] + """ + Availability zone for tunnel 2. + """ + +@pulumi.input_type +class VpnGatewayAvailabilityZonesArgs: + def __init__(__self__, *, + tunnel1: pulumi.Input[_builtins.str], + tunnel2: pulumi.Input[_builtins.str]): + """ + :param pulumi.Input[_builtins.str] tunnel1: Availability zone for tunnel 1. + :param pulumi.Input[_builtins.str] tunnel2: Availability zone for tunnel 2. + """ + pulumi.set(__self__, "tunnel1", tunnel1) + pulumi.set(__self__, "tunnel2", tunnel2) + + @_builtins.property + @pulumi.getter + def tunnel1(self) -> pulumi.Input[_builtins.str]: + """ + Availability zone for tunnel 1. + """ + return pulumi.get(self, "tunnel1") + + @tunnel1.setter + def tunnel1(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "tunnel1", value) + + @_builtins.property + @pulumi.getter + def tunnel2(self) -> pulumi.Input[_builtins.str]: + """ + Availability zone for tunnel 2. + """ + return pulumi.get(self, "tunnel2") + + @tunnel2.setter + def tunnel2(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "tunnel2", value) + + +class VpnGatewayBgpArgsDict(TypedDict): + local_asn: pulumi.Input[_builtins.int] + """ + Local ASN for BGP (private ASN range, 64512-4294967294). + """ + override_advertised_routes: NotRequired[pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]] + """ + List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. + """ + +@pulumi.input_type +class VpnGatewayBgpArgs: + def __init__(__self__, *, + local_asn: pulumi.Input[_builtins.int], + override_advertised_routes: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None): + """ + :param pulumi.Input[_builtins.int] local_asn: Local ASN for BGP (private ASN range, 64512-4294967294). + :param pulumi.Input[Sequence[pulumi.Input[_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) -> pulumi.Input[_builtins.int]: + """ + Local ASN for BGP (private ASN range, 64512-4294967294). + """ + return pulumi.get(self, "local_asn") + + @local_asn.setter + def local_asn(self, value: pulumi.Input[_builtins.int]): + pulumi.set(self, "local_asn", value) + + @_builtins.property + @pulumi.getter(name="overrideAdvertisedRoutes") + def override_advertised_routes(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: + """ + List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. + """ + return pulumi.get(self, "override_advertised_routes") + + @override_advertised_routes.setter + def override_advertised_routes(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "override_advertised_routes", value) + + class GetCdnCustomDomainCertificateArgsDict(TypedDict): version: _builtins.int """ diff --git a/sdk/python/pulumi_stackit/config/__init__.pyi b/sdk/python/pulumi_stackit/config/__init__.pyi index 8c9ee50..f0f7a8c 100644 --- a/sdk/python/pulumi_stackit/config/__init__.pyi +++ b/sdk/python/pulumi_stackit/config/__init__.pyi @@ -49,6 +49,11 @@ dnsCustomEndpoint: Optional[str] Custom endpoint for the DNS service """ +dremioCustomEndpoint: Optional[str] +""" +Custom endpoint for the Dremio service +""" + edgecloudCustomEndpoint: Optional[str] """ Custom endpoint for the Edge Cloud service @@ -61,7 +66,7 @@ Enable beta resources. Default is false. experiments: Optional[str] """ -Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network +Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: dremio, iam, routing-tables, network """ gitCustomEndpoint: Optional[str] @@ -249,6 +254,16 @@ sqlserverflexCustomEndpoint: Optional[str] Custom endpoint for the SQL Server Flex service """ +telemetrylinkCustomEndpoint: Optional[str] +""" +Custom endpoint for the Telemetry Link service +""" + +telemetryrouterCustomEndpoint: Optional[str] +""" +Custom endpoint for the Telemetry Router service +""" + tokenCustomEndpoint: Optional[str] """ Custom endpoint for the token API, which is used to request access tokens when using the key flow @@ -259,3 +274,8 @@ useOidc: Optional[bool] Enables OIDC for Authentication. This can also be sourced from the `STACKIT_USE_OIDC` Environment Variable. Defaults to `false`. """ +vpnCustomEndpoint: Optional[str] +""" +Custom endpoint for the VPN service +""" + diff --git a/sdk/python/pulumi_stackit/config/vars.py b/sdk/python/pulumi_stackit/config/vars.py index 37eb947..4fcc446 100644 --- a/sdk/python/pulumi_stackit/config/vars.py +++ b/sdk/python/pulumi_stackit/config/vars.py @@ -69,6 +69,13 @@ def dns_custom_endpoint(self) -> Optional[str]: """ return __config__.get('dnsCustomEndpoint') + @_builtins.property + def dremio_custom_endpoint(self) -> Optional[str]: + """ + Custom endpoint for the Dremio service + """ + return __config__.get('dremioCustomEndpoint') + @_builtins.property def edgecloud_custom_endpoint(self) -> Optional[str]: """ @@ -86,7 +93,7 @@ def enable_beta_resources(self) -> Optional[bool]: @_builtins.property def experiments(self) -> Optional[str]: """ - Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network + Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: dremio, iam, routing-tables, network """ return __config__.get('experiments') @@ -349,6 +356,20 @@ def sqlserverflex_custom_endpoint(self) -> Optional[str]: """ return __config__.get('sqlserverflexCustomEndpoint') + @_builtins.property + def telemetrylink_custom_endpoint(self) -> Optional[str]: + """ + Custom endpoint for the Telemetry Link service + """ + return __config__.get('telemetrylinkCustomEndpoint') + + @_builtins.property + def telemetryrouter_custom_endpoint(self) -> Optional[str]: + """ + Custom endpoint for the Telemetry Router service + """ + return __config__.get('telemetryrouterCustomEndpoint') + @_builtins.property def token_custom_endpoint(self) -> Optional[str]: """ @@ -363,3 +384,10 @@ def use_oidc(self) -> Optional[bool]: """ return __config__.get_bool('useOidc') + @_builtins.property + def vpn_custom_endpoint(self) -> Optional[str]: + """ + Custom endpoint for the VPN service + """ + return __config__.get('vpnCustomEndpoint') + diff --git a/sdk/python/pulumi_stackit/dremio_instance.py b/sdk/python/pulumi_stackit/dremio_instance.py new file mode 100644 index 0000000..536b4ab --- /dev/null +++ b/sdk/python/pulumi_stackit/dremio_instance.py @@ -0,0 +1,446 @@ +# 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__ = ['DremioInstanceArgs', 'DremioInstance'] + +@pulumi.input_type +class DremioInstanceArgs: + def __init__(__self__, *, + authentication: pulumi.Input['DremioInstanceAuthenticationArgs'], + display_name: pulumi.Input[_builtins.str], + project_id: pulumi.Input[_builtins.str], + description: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional['DremioInstanceTimeoutsArgs']] = None): + """ + The set of arguments for constructing a DremioInstance resource. + + :param pulumi.Input['DremioInstanceAuthenticationArgs'] authentication: Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + :param pulumi.Input[_builtins.str] display_name: The display name is a short name chosen by the user to identify the resource. + :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the resource is associated. + :param pulumi.Input[_builtins.str] description: The description is a longer text chosen by the user to provide more context for the resource. + :param pulumi.Input[_builtins.str] region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + pulumi.set(__self__, "authentication", authentication) + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "project_id", project_id) + if description is not None: + pulumi.set(__self__, "description", description) + if region is not None: + pulumi.set(__self__, "region", region) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @_builtins.property + @pulumi.getter + def authentication(self) -> pulumi.Input['DremioInstanceAuthenticationArgs']: + """ + Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + """ + return pulumi.get(self, "authentication") + + @authentication.setter + def authentication(self, value: pulumi.Input['DremioInstanceAuthenticationArgs']): + pulumi.set(self, "authentication", value) + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[_builtins.str]: + """ + The display name is a short name chosen by the user to identify the resource. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "display_name", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT Project ID to which the resource is associated. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The description is a longer text chosen by the user to provide more context for the resource. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter + def timeouts(self) -> pulumi.Input[Optional['DremioInstanceTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: pulumi.Input[Optional['DremioInstanceTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.input_type +class _DremioInstanceState: + def __init__(__self__, *, + authentication: pulumi.Input[Optional['DremioInstanceAuthenticationArgs']] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + endpoints: pulumi.Input[Optional['DremioInstanceEndpointsArgs']] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional['DremioInstanceTimeoutsArgs']] = None): + """ + Input properties used for looking up and filtering DremioInstance resources. + + :param pulumi.Input['DremioInstanceAuthenticationArgs'] authentication: Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + :param pulumi.Input[_builtins.str] description: The description is a longer text chosen by the user to provide more context for the resource. + :param pulumi.Input[_builtins.str] display_name: The display name is a short name chosen by the user to identify the resource. + :param pulumi.Input['DremioInstanceEndpointsArgs'] endpoints: The available endpoints of the Dremio instance. + :param pulumi.Input[_builtins.str] instance_id: The Dremio instance ID. + :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the resource is associated. + :param pulumi.Input[_builtins.str] region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + if authentication is not None: + pulumi.set(__self__, "authentication", authentication) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if endpoints is not None: + pulumi.set(__self__, "endpoints", endpoints) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @_builtins.property + @pulumi.getter + def authentication(self) -> pulumi.Input[Optional['DremioInstanceAuthenticationArgs']]: + """ + Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + """ + return pulumi.get(self, "authentication") + + @authentication.setter + def authentication(self, value: pulumi.Input[Optional['DremioInstanceAuthenticationArgs']]): + pulumi.set(self, "authentication", value) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The description is a longer text chosen by the user to provide more context for the resource. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The display name is a short name chosen by the user to identify the resource. + """ + 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 endpoints(self) -> pulumi.Input[Optional['DremioInstanceEndpointsArgs']]: + """ + The available endpoints of the Dremio instance. + """ + return pulumi.get(self, "endpoints") + + @endpoints.setter + def endpoints(self, value: pulumi.Input[Optional['DremioInstanceEndpointsArgs']]): + pulumi.set(self, "endpoints", value) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The Dremio instance ID. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT Project ID to which the resource is associated. + """ + 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]]: + """ + The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter + def timeouts(self) -> pulumi.Input[Optional['DremioInstanceTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: pulumi.Input[Optional['DremioInstanceTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.type_token("stackit:index/dremioInstance:DremioInstance") +class DremioInstance(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + authentication: pulumi.Input[Optional[Union['DremioInstanceAuthenticationArgs', 'DremioInstanceAuthenticationArgsDict']]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional[Union['DremioInstanceTimeoutsArgs', 'DremioInstanceTimeoutsArgsDict']]] = None, + __props__=None): + """ + Manages a STACKIT Dremio instance. + + > This resource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + ## Example Usage + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Union['DremioInstanceAuthenticationArgs', 'DremioInstanceAuthenticationArgsDict']] authentication: Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + :param pulumi.Input[_builtins.str] description: The description is a longer text chosen by the user to provide more context for the resource. + :param pulumi.Input[_builtins.str] display_name: The display name is a short name chosen by the user to identify the resource. + :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the resource is associated. + :param pulumi.Input[_builtins.str] region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DremioInstanceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a STACKIT Dremio instance. + + > This resource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + ## Example Usage + + + :param str resource_name: The name of the resource. + :param DremioInstanceArgs 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(DremioInstanceArgs, 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, + authentication: pulumi.Input[Optional[Union['DremioInstanceAuthenticationArgs', 'DremioInstanceAuthenticationArgsDict']]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional[Union['DremioInstanceTimeoutsArgs', 'DremioInstanceTimeoutsArgsDict']]] = 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__ = DremioInstanceArgs.__new__(DremioInstanceArgs) + + if authentication is None and not opts.urn: + raise TypeError("Missing required property 'authentication'") + __props__.__dict__["authentication"] = authentication + __props__.__dict__["description"] = description + if display_name is None and not opts.urn: + raise TypeError("Missing required property 'display_name'") + __props__.__dict__["display_name"] = display_name + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["endpoints"] = None + __props__.__dict__["instance_id"] = None + super(DremioInstance, __self__).__init__( + 'stackit:index/dremioInstance:DremioInstance', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + authentication: pulumi.Input[Optional[Union['DremioInstanceAuthenticationArgs', 'DremioInstanceAuthenticationArgsDict']]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + endpoints: pulumi.Input[Optional[Union['DremioInstanceEndpointsArgs', 'DremioInstanceEndpointsArgsDict']]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional[Union['DremioInstanceTimeoutsArgs', 'DremioInstanceTimeoutsArgsDict']]] = None) -> 'DremioInstance': + """ + Get an existing DremioInstance resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Union['DremioInstanceAuthenticationArgs', 'DremioInstanceAuthenticationArgsDict']] authentication: Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + :param pulumi.Input[_builtins.str] description: The description is a longer text chosen by the user to provide more context for the resource. + :param pulumi.Input[_builtins.str] display_name: The display name is a short name chosen by the user to identify the resource. + :param pulumi.Input[Union['DremioInstanceEndpointsArgs', 'DremioInstanceEndpointsArgsDict']] endpoints: The available endpoints of the Dremio instance. + :param pulumi.Input[_builtins.str] instance_id: The Dremio instance ID. + :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the resource is associated. + :param pulumi.Input[_builtins.str] region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DremioInstanceState.__new__(_DremioInstanceState) + + __props__.__dict__["authentication"] = authentication + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["endpoints"] = endpoints + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["timeouts"] = timeouts + return DremioInstance(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter + def authentication(self) -> pulumi.Output['outputs.DremioInstanceAuthentication']: + """ + Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + """ + return pulumi.get(self, "authentication") + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Output[_builtins.str]: + """ + The description is a longer text chosen by the user to provide more context for the resource. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[_builtins.str]: + """ + The display name is a short name chosen by the user to identify the resource. + """ + return pulumi.get(self, "display_name") + + @_builtins.property + @pulumi.getter + def endpoints(self) -> pulumi.Output['outputs.DremioInstanceEndpoints']: + """ + The available endpoints of the Dremio instance. + """ + return pulumi.get(self, "endpoints") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[_builtins.str]: + """ + The Dremio instance ID. + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT Project ID to which the resource is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + The 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 timeouts(self) -> pulumi.Output[Optional['outputs.DremioInstanceTimeouts']]: + return pulumi.get(self, "timeouts") + diff --git a/sdk/python/pulumi_stackit/dremio_user.py b/sdk/python/pulumi_stackit/dremio_user.py new file mode 100644 index 0000000..18cd001 --- /dev/null +++ b/sdk/python/pulumi_stackit/dremio_user.py @@ -0,0 +1,611 @@ +# 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__ = ['DremioUserArgs', 'DremioUser'] + +@pulumi.input_type +class DremioUserArgs: + def __init__(__self__, *, + email: pulumi.Input[_builtins.str], + first_name: pulumi.Input[_builtins.str], + instance_id: pulumi.Input[_builtins.str], + last_name: pulumi.Input[_builtins.str], + password: pulumi.Input[_builtins.str], + project_id: pulumi.Input[_builtins.str], + description: pulumi.Input[Optional[_builtins.str]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional['DremioUserTimeoutsArgs']] = None): + """ + The set of arguments for constructing a DremioUser resource. + + :param pulumi.Input[_builtins.str] email: The email address of the user. + :param pulumi.Input[_builtins.str] first_name: The first name of the user. + :param pulumi.Input[_builtins.str] instance_id: The Dremio instance ID. + :param pulumi.Input[_builtins.str] last_name: The last name of the user. + :param pulumi.Input[_builtins.str] password: The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character. + :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the resource is associated. + :param pulumi.Input[_builtins.str] description: The description of the user. + :param pulumi.Input[_builtins.str] name: The username of the user. + :param pulumi.Input[_builtins.str] region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + pulumi.set(__self__, "email", email) + pulumi.set(__self__, "first_name", first_name) + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "last_name", last_name) + pulumi.set(__self__, "password", password) + pulumi.set(__self__, "project_id", project_id) + if description is not None: + pulumi.set(__self__, "description", description) + if name is not None: + pulumi.set(__self__, "name", name) + if region is not None: + pulumi.set(__self__, "region", region) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + + @_builtins.property + @pulumi.getter + def email(self) -> pulumi.Input[_builtins.str]: + """ + The email address of the user. + """ + return pulumi.get(self, "email") + + @email.setter + def email(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "email", value) + + @_builtins.property + @pulumi.getter(name="firstName") + def first_name(self) -> pulumi.Input[_builtins.str]: + """ + The first name of the user. + """ + return pulumi.get(self, "first_name") + + @first_name.setter + def first_name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "first_name", value) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Input[_builtins.str]: + """ + The Dremio instance ID. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter(name="lastName") + def last_name(self) -> pulumi.Input[_builtins.str]: + """ + The last name of the user. + """ + return pulumi.get(self, "last_name") + + @last_name.setter + def last_name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "last_name", value) + + @_builtins.property + @pulumi.getter + def password(self) -> pulumi.Input[_builtins.str]: + """ + The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character. + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "password", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT Project ID to which the resource is associated. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The description of the user. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The username of the user. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter + def timeouts(self) -> pulumi.Input[Optional['DremioUserTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: pulumi.Input[Optional['DremioUserTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + +@pulumi.input_type +class _DremioUserState: + def __init__(__self__, *, + description: pulumi.Input[Optional[_builtins.str]] = None, + email: pulumi.Input[Optional[_builtins.str]] = None, + first_name: pulumi.Input[Optional[_builtins.str]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + last_name: pulumi.Input[Optional[_builtins.str]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + password: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional['DremioUserTimeoutsArgs']] = None, + user_id: pulumi.Input[Optional[_builtins.str]] = None): + """ + Input properties used for looking up and filtering DremioUser resources. + + :param pulumi.Input[_builtins.str] description: The description of the user. + :param pulumi.Input[_builtins.str] email: The email address of the user. + :param pulumi.Input[_builtins.str] first_name: The first name of the user. + :param pulumi.Input[_builtins.str] instance_id: The Dremio instance ID. + :param pulumi.Input[_builtins.str] last_name: The last name of the user. + :param pulumi.Input[_builtins.str] name: The username of the user. + :param pulumi.Input[_builtins.str] password: The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character. + :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the resource is associated. + :param pulumi.Input[_builtins.str] region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] user_id: The Dremio user ID. + """ + if description is not None: + pulumi.set(__self__, "description", description) + if email is not None: + pulumi.set(__self__, "email", email) + if first_name is not None: + pulumi.set(__self__, "first_name", first_name) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if last_name is not None: + pulumi.set(__self__, "last_name", last_name) + if name is not None: + pulumi.set(__self__, "name", name) + if password is not None: + pulumi.set(__self__, "password", password) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) + if timeouts is not None: + pulumi.set(__self__, "timeouts", timeouts) + if user_id is not None: + pulumi.set(__self__, "user_id", user_id) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The description of the user. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter + def email(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The email address of the user. + """ + return pulumi.get(self, "email") + + @email.setter + def email(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "email", value) + + @_builtins.property + @pulumi.getter(name="firstName") + def first_name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The first name of the user. + """ + return pulumi.get(self, "first_name") + + @first_name.setter + def first_name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "first_name", value) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The Dremio instance ID. + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter(name="lastName") + def last_name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The last name of the user. + """ + return pulumi.get(self, "last_name") + + @last_name.setter + def last_name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "last_name", value) + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The username of the user. + """ + return pulumi.get(self, "name") + + @name.setter + def name(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "name", value) + + @_builtins.property + @pulumi.getter + def password(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character. + """ + return pulumi.get(self, "password") + + @password.setter + def password(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "password", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT Project ID to which the resource is associated. + """ + 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]]: + """ + The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter + def timeouts(self) -> pulumi.Input[Optional['DremioUserTimeoutsArgs']]: + return pulumi.get(self, "timeouts") + + @timeouts.setter + def timeouts(self, value: pulumi.Input[Optional['DremioUserTimeoutsArgs']]): + pulumi.set(self, "timeouts", value) + + @_builtins.property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The Dremio user ID. + """ + return pulumi.get(self, "user_id") + + @user_id.setter + def user_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "user_id", value) + + +@pulumi.type_token("stackit:index/dremioUser:DremioUser") +class DremioUser(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + email: pulumi.Input[Optional[_builtins.str]] = None, + first_name: pulumi.Input[Optional[_builtins.str]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + last_name: pulumi.Input[Optional[_builtins.str]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + password: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional[Union['DremioUserTimeoutsArgs', 'DremioUserTimeoutsArgsDict']]] = None, + __props__=None): + """ + Manages a STACKIT Dremio instances user. + + > This resource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + ## Example Usage + + + :param str resource_name: The name of the resource. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] description: The description of the user. + :param pulumi.Input[_builtins.str] email: The email address of the user. + :param pulumi.Input[_builtins.str] first_name: The first name of the user. + :param pulumi.Input[_builtins.str] instance_id: The Dremio instance ID. + :param pulumi.Input[_builtins.str] last_name: The last name of the user. + :param pulumi.Input[_builtins.str] name: The username of the user. + :param pulumi.Input[_builtins.str] password: The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character. + :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the resource is associated. + :param pulumi.Input[_builtins.str] region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: DremioUserArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + Manages a STACKIT Dremio instances user. + + > This resource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + ## Example Usage + + + :param str resource_name: The name of the resource. + :param DremioUserArgs 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(DremioUserArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + email: pulumi.Input[Optional[_builtins.str]] = None, + first_name: pulumi.Input[Optional[_builtins.str]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + last_name: pulumi.Input[Optional[_builtins.str]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + password: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional[Union['DremioUserTimeoutsArgs', 'DremioUserTimeoutsArgsDict']]] = 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__ = DremioUserArgs.__new__(DremioUserArgs) + + __props__.__dict__["description"] = description + if email is None and not opts.urn: + raise TypeError("Missing required property 'email'") + __props__.__dict__["email"] = email + if first_name is None and not opts.urn: + raise TypeError("Missing required property 'first_name'") + __props__.__dict__["first_name"] = first_name + if instance_id is None and not opts.urn: + raise TypeError("Missing required property 'instance_id'") + __props__.__dict__["instance_id"] = instance_id + if last_name is None and not opts.urn: + raise TypeError("Missing required property 'last_name'") + __props__.__dict__["last_name"] = last_name + __props__.__dict__["name"] = name + if password is None and not opts.urn: + raise TypeError("Missing required property 'password'") + __props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password) + 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__["timeouts"] = timeouts + __props__.__dict__["user_id"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(DremioUser, __self__).__init__( + 'stackit:index/dremioUser:DremioUser', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + email: pulumi.Input[Optional[_builtins.str]] = None, + first_name: pulumi.Input[Optional[_builtins.str]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + last_name: pulumi.Input[Optional[_builtins.str]] = None, + name: pulumi.Input[Optional[_builtins.str]] = None, + password: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + timeouts: pulumi.Input[Optional[Union['DremioUserTimeoutsArgs', 'DremioUserTimeoutsArgsDict']]] = None, + user_id: pulumi.Input[Optional[_builtins.str]] = None) -> 'DremioUser': + """ + Get an existing DremioUser resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] description: The description of the user. + :param pulumi.Input[_builtins.str] email: The email address of the user. + :param pulumi.Input[_builtins.str] first_name: The first name of the user. + :param pulumi.Input[_builtins.str] instance_id: The Dremio instance ID. + :param pulumi.Input[_builtins.str] last_name: The last name of the user. + :param pulumi.Input[_builtins.str] name: The username of the user. + :param pulumi.Input[_builtins.str] password: The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character. + :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the resource is associated. + :param pulumi.Input[_builtins.str] region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] user_id: The Dremio user ID. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _DremioUserState.__new__(_DremioUserState) + + __props__.__dict__["description"] = description + __props__.__dict__["email"] = email + __props__.__dict__["first_name"] = first_name + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["last_name"] = last_name + __props__.__dict__["name"] = name + __props__.__dict__["password"] = password + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["timeouts"] = timeouts + __props__.__dict__["user_id"] = user_id + return DremioUser(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Output[_builtins.str]: + """ + The description of the user. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter + def email(self) -> pulumi.Output[_builtins.str]: + """ + The email address of the user. + """ + return pulumi.get(self, "email") + + @_builtins.property + @pulumi.getter(name="firstName") + def first_name(self) -> pulumi.Output[_builtins.str]: + """ + The first name of the user. + """ + return pulumi.get(self, "first_name") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[_builtins.str]: + """ + The Dremio instance ID. + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter(name="lastName") + def last_name(self) -> pulumi.Output[_builtins.str]: + """ + The last name of the user. + """ + return pulumi.get(self, "last_name") + + @_builtins.property + @pulumi.getter + def name(self) -> pulumi.Output[_builtins.str]: + """ + The username of the user. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter + def password(self) -> pulumi.Output[_builtins.str]: + """ + The password of the user. Only used for creation and updates. Must be at least 8 characters long and contain at least one uppercase letter, one lowercase letter, one number and one special character. + """ + return pulumi.get(self, "password") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT Project ID to which the resource is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + The 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 timeouts(self) -> pulumi.Output[Optional['outputs.DremioUserTimeouts']]: + return pulumi.get(self, "timeouts") + + @_builtins.property + @pulumi.getter(name="userId") + def user_id(self) -> pulumi.Output[_builtins.str]: + """ + The Dremio user ID. + """ + return pulumi.get(self, "user_id") + diff --git a/sdk/python/pulumi_stackit/get_dremio_instance.py b/sdk/python/pulumi_stackit/get_dremio_instance.py new file mode 100644 index 0000000..9883b77 --- /dev/null +++ b/sdk/python/pulumi_stackit/get_dremio_instance.py @@ -0,0 +1,205 @@ +# 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__ = [ + 'GetDremioInstanceResult', + 'AwaitableGetDremioInstanceResult', + 'get_dremio_instance', + 'get_dremio_instance_output', +] + +@pulumi.output_type +class GetDremioInstanceResult: + """ + A collection of values returned by getDremioInstance. + """ + def __init__(__self__, authentication=None, description=None, display_name=None, endpoints=None, id=None, instance_id=None, project_id=None, region=None): + if authentication and not isinstance(authentication, dict): + raise TypeError("Expected argument 'authentication' to be a dict") + pulumi.set(__self__, "authentication", authentication) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if display_name and not isinstance(display_name, str): + raise TypeError("Expected argument 'display_name' to be a str") + pulumi.set(__self__, "display_name", display_name) + if endpoints and not isinstance(endpoints, dict): + raise TypeError("Expected argument 'endpoints' to be a dict") + pulumi.set(__self__, "endpoints", endpoints) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instance_id and not isinstance(instance_id, str): + raise TypeError("Expected argument 'instance_id' to be a str") + pulumi.set(__self__, "instance_id", instance_id) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter + def authentication(self) -> 'outputs.GetDremioInstanceAuthenticationResult': + """ + Dremio instance authentication settings. A change here triggers a Dremio restart and will incur downtime. + """ + return pulumi.get(self, "authentication") + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + """ + The description is a longer text chosen by the user to provide more context for the resource. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> _builtins.str: + """ + The display name is a short name chosen by the user to identify the resource. + """ + return pulumi.get(self, "display_name") + + @_builtins.property + @pulumi.getter + def endpoints(self) -> 'outputs.GetDremioInstanceEndpointsResult': + """ + The available endpoints of the Dremio instance. + """ + return pulumi.get(self, "endpoints") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + Terraform's internal resource identifier. It is structured as "`project_id`,`region`,`instance_id`". + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> _builtins.str: + """ + The Dremio instance ID. + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT Project ID to which the resource is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> Optional[_builtins.str]: + """ + The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + +class AwaitableGetDremioInstanceResult(GetDremioInstanceResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDremioInstanceResult( + authentication=self.authentication, + description=self.description, + display_name=self.display_name, + endpoints=self.endpoints, + id=self.id, + instance_id=self.instance_id, + project_id=self.project_id, + region=self.region) + + +def get_dremio_instance(description: Optional[_builtins.str] = None, + instance_id: Optional[_builtins.str] = None, + project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDremioInstanceResult: + """ + Manages a STACKIT Dremio instance. + + > This datasource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + ## Example Usage + + + :param _builtins.str description: The description is a longer text chosen by the user to provide more context for the resource. + :param _builtins.str instance_id: The Dremio instance ID. + :param _builtins.str project_id: STACKIT Project ID to which the resource is associated. + :param _builtins.str region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['description'] = description + __args__['instanceId'] = instance_id + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getDremioInstance:getDremioInstance', __args__, opts=opts, typ=GetDremioInstanceResult).value + + return AwaitableGetDremioInstanceResult( + authentication=pulumi.get(__ret__, 'authentication'), + description=pulumi.get(__ret__, 'description'), + display_name=pulumi.get(__ret__, 'display_name'), + endpoints=pulumi.get(__ret__, 'endpoints'), + id=pulumi.get(__ret__, 'id'), + instance_id=pulumi.get(__ret__, 'instance_id'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region')) +def get_dremio_instance_output(description: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDremioInstanceResult]: + """ + Manages a STACKIT Dremio instance. + + > This datasource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + ## Example Usage + + + :param _builtins.str description: The description is a longer text chosen by the user to provide more context for the resource. + :param _builtins.str instance_id: The Dremio instance ID. + :param _builtins.str project_id: STACKIT Project ID to which the resource is associated. + :param _builtins.str region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['description'] = description + __args__['instanceId'] = instance_id + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getDremioInstance:getDremioInstance', __args__, opts=opts, typ=GetDremioInstanceResult) + return __ret__.apply(lambda __response__: GetDremioInstanceResult( + authentication=pulumi.get(__response__, 'authentication'), + description=pulumi.get(__response__, 'description'), + display_name=pulumi.get(__response__, 'display_name'), + endpoints=pulumi.get(__response__, 'endpoints'), + id=pulumi.get(__response__, 'id'), + instance_id=pulumi.get(__response__, 'instance_id'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'))) diff --git a/sdk/python/pulumi_stackit/get_dremio_user.py b/sdk/python/pulumi_stackit/get_dremio_user.py new file mode 100644 index 0000000..2f63e56 --- /dev/null +++ b/sdk/python/pulumi_stackit/get_dremio_user.py @@ -0,0 +1,238 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities + +__all__ = [ + 'GetDremioUserResult', + 'AwaitableGetDremioUserResult', + 'get_dremio_user', + 'get_dremio_user_output', +] + +@pulumi.output_type +class GetDremioUserResult: + """ + A collection of values returned by getDremioUser. + """ + def __init__(__self__, description=None, email=None, first_name=None, id=None, instance_id=None, last_name=None, name=None, project_id=None, region=None, user_id=None): + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if email and not isinstance(email, str): + raise TypeError("Expected argument 'email' to be a str") + pulumi.set(__self__, "email", email) + if first_name and not isinstance(first_name, str): + raise TypeError("Expected argument 'first_name' to be a str") + pulumi.set(__self__, "first_name", first_name) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instance_id and not isinstance(instance_id, str): + raise TypeError("Expected argument 'instance_id' to be a str") + pulumi.set(__self__, "instance_id", instance_id) + if last_name and not isinstance(last_name, str): + raise TypeError("Expected argument 'last_name' to be a str") + pulumi.set(__self__, "last_name", last_name) + if name and not isinstance(name, str): + raise TypeError("Expected argument 'name' to be a str") + pulumi.set(__self__, "name", name) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if user_id and not isinstance(user_id, str): + raise TypeError("Expected argument 'user_id' to be a str") + pulumi.set(__self__, "user_id", user_id) + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + """ + The description of the user. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter + def email(self) -> _builtins.str: + """ + The email address of the user. + """ + return pulumi.get(self, "email") + + @_builtins.property + @pulumi.getter(name="firstName") + def first_name(self) -> _builtins.str: + """ + The first name of the user. + """ + return pulumi.get(self, "first_name") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + Terraform's internal resource identifier. It is structured as "`project_id`,`region`,`instance_id`,`user_id`". + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> _builtins.str: + """ + The Dremio instance ID. + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter(name="lastName") + def last_name(self) -> _builtins.str: + """ + The last name of the user. + """ + return pulumi.get(self, "last_name") + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + The username of the user. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT Project ID to which the resource is associated. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> Optional[_builtins.str]: + """ + The STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter(name="userId") + def user_id(self) -> _builtins.str: + """ + The Dremio user ID. + """ + return pulumi.get(self, "user_id") + + +class AwaitableGetDremioUserResult(GetDremioUserResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetDremioUserResult( + description=self.description, + email=self.email, + first_name=self.first_name, + id=self.id, + instance_id=self.instance_id, + last_name=self.last_name, + name=self.name, + project_id=self.project_id, + region=self.region, + user_id=self.user_id) + + +def get_dremio_user(description: Optional[_builtins.str] = None, + instance_id: Optional[_builtins.str] = None, + project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + user_id: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDremioUserResult: + """ + Manages a STACKIT Dremio instances user. + + > This datasource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + ## Example Usage + + + :param _builtins.str description: The description of the user. + :param _builtins.str instance_id: The Dremio instance ID. + :param _builtins.str project_id: STACKIT Project ID to which the resource is associated. + :param _builtins.str region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + :param _builtins.str user_id: The Dremio user ID. + """ + __args__ = dict() + __args__['description'] = description + __args__['instanceId'] = instance_id + __args__['projectId'] = project_id + __args__['region'] = region + __args__['userId'] = user_id + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getDremioUser:getDremioUser', __args__, opts=opts, typ=GetDremioUserResult).value + + return AwaitableGetDremioUserResult( + description=pulumi.get(__ret__, 'description'), + email=pulumi.get(__ret__, 'email'), + first_name=pulumi.get(__ret__, 'first_name'), + id=pulumi.get(__ret__, 'id'), + instance_id=pulumi.get(__ret__, 'instance_id'), + last_name=pulumi.get(__ret__, 'last_name'), + name=pulumi.get(__ret__, 'name'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + user_id=pulumi.get(__ret__, 'user_id')) +def get_dremio_user_output(description: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + user_id: pulumi.Input[Optional[_builtins.str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDremioUserResult]: + """ + Manages a STACKIT Dremio instances user. + + > This datasource is part of the dremio experiment and is likely going to undergo significant changes or be removed in the future. Use it at your own discretion. + + ## Example Usage + + + :param _builtins.str description: The description of the user. + :param _builtins.str instance_id: The Dremio instance ID. + :param _builtins.str project_id: STACKIT Project ID to which the resource is associated. + :param _builtins.str region: The STACKIT region name the resource is located in. If not defined, the provider region is used. + :param _builtins.str user_id: The Dremio user ID. + """ + __args__ = dict() + __args__['description'] = description + __args__['instanceId'] = instance_id + __args__['projectId'] = project_id + __args__['region'] = region + __args__['userId'] = user_id + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getDremioUser:getDremioUser', __args__, opts=opts, typ=GetDremioUserResult) + return __ret__.apply(lambda __response__: GetDremioUserResult( + description=pulumi.get(__response__, 'description'), + email=pulumi.get(__response__, 'email'), + first_name=pulumi.get(__response__, 'first_name'), + id=pulumi.get(__response__, 'id'), + instance_id=pulumi.get(__response__, 'instance_id'), + last_name=pulumi.get(__response__, 'last_name'), + name=pulumi.get(__response__, 'name'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + user_id=pulumi.get(__response__, 'user_id'))) diff --git a/sdk/python/pulumi_stackit/get_logs_instance.py b/sdk/python/pulumi_stackit/get_logs_instance.py index 076ac5a..acb5361 100644 --- a/sdk/python/pulumi_stackit/get_logs_instance.py +++ b/sdk/python/pulumi_stackit/get_logs_instance.py @@ -189,7 +189,7 @@ def retention_days(self) -> _builtins.int: @pulumi.getter def status(self) -> _builtins.str: """ - The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + The status of the Logs instance. Possible values are: `active`, `deleting`, `reconciling`. """ return pulumi.get(self, "status") diff --git a/sdk/python/pulumi_stackit/get_service_account.py b/sdk/python/pulumi_stackit/get_service_account.py index e442999..6406119 100644 --- a/sdk/python/pulumi_stackit/get_service_account.py +++ b/sdk/python/pulumi_stackit/get_service_account.py @@ -101,7 +101,7 @@ def get_service_account(email: Optional[_builtins.str] = None, project_id: Optional[_builtins.str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetServiceAccountResult: """ - Service account data source schema. + Gets details about a STACKIT service account in a project by email. ## Example Usage @@ -125,7 +125,7 @@ def get_service_account_output(email: pulumi.Input[Optional[_builtins.str]] = No project_id: pulumi.Input[Optional[_builtins.str]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServiceAccountResult]: """ - Service account data source schema. + Gets details about a STACKIT service account in a project by email. ## Example Usage diff --git a/sdk/python/pulumi_stackit/get_service_account_federated_identity_provider.py b/sdk/python/pulumi_stackit/get_service_account_federated_identity_provider.py index 2b3f3e6..624a7e5 100644 --- a/sdk/python/pulumi_stackit/get_service_account_federated_identity_provider.py +++ b/sdk/python/pulumi_stackit/get_service_account_federated_identity_provider.py @@ -127,7 +127,7 @@ def get_service_account_federated_identity_provider(federation_id: Optional[_bui service_account_email: Optional[_builtins.str] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetServiceAccountFederatedIdentityProviderResult: """ - Service account federated identity provider schema. + Gets details about a federated identity provider configured for a STACKIT service account. ## Example Usage @@ -156,7 +156,7 @@ def get_service_account_federated_identity_provider_output(federation_id: pulumi service_account_email: pulumi.Input[Optional[_builtins.str]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServiceAccountFederatedIdentityProviderResult]: """ - Service account federated identity provider schema. + Gets details about a federated identity provider configured for a STACKIT service account. ## Example Usage diff --git a/sdk/python/pulumi_stackit/get_service_accounts.py b/sdk/python/pulumi_stackit/get_service_accounts.py index c30a4ec..f6a2e08 100644 --- a/sdk/python/pulumi_stackit/get_service_accounts.py +++ b/sdk/python/pulumi_stackit/get_service_accounts.py @@ -116,7 +116,7 @@ def get_service_accounts(email_regex: Optional[_builtins.str] = None, sort_ascending: Optional[_builtins.bool] = None, opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetServiceAccountsResult: """ - Service accounts plural data source schema. Returns a list of all service accounts in a project, optionally filtered. + Lists STACKIT service accounts in a project, optionally filtered by email. ## Example Usage @@ -147,7 +147,7 @@ def get_service_accounts_output(email_regex: pulumi.Input[Optional[Optional[_bui sort_ascending: pulumi.Input[Optional[Optional[_builtins.bool]]] = None, opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetServiceAccountsResult]: """ - Service accounts plural data source schema. Returns a list of all service accounts in a project, optionally filtered. + Lists STACKIT service accounts in a project, optionally filtered by email. ## Example Usage diff --git a/sdk/python/pulumi_stackit/get_sfs_export_policy.py b/sdk/python/pulumi_stackit/get_sfs_export_policy.py index 732ac09..0e922ce 100644 --- a/sdk/python/pulumi_stackit/get_sfs_export_policy.py +++ b/sdk/python/pulumi_stackit/get_sfs_export_policy.py @@ -27,10 +27,13 @@ class GetSfsExportPolicyResult: """ A collection of values returned by getSfsExportPolicy. """ - def __init__(__self__, id=None, name=None, policy_id=None, project_id=None, region=None, rules=None): + def __init__(__self__, id=None, labels=None, name=None, policy_id=None, project_id=None, region=None, rules=None): if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) + if labels and not isinstance(labels, dict): + raise TypeError("Expected argument 'labels' to be a dict") + pulumi.set(__self__, "labels", labels) if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) @@ -55,6 +58,14 @@ def id(self) -> _builtins.str: """ return pulumi.get(self, "id") + @_builtins.property + @pulumi.getter + def labels(self) -> Mapping[str, _builtins.str]: + """ + Labels are key-value string pairs which can be attached to an export policy + """ + return pulumi.get(self, "labels") + @_builtins.property @pulumi.getter def name(self) -> _builtins.str: @@ -100,6 +111,7 @@ def __await__(self): yield self return GetSfsExportPolicyResult( id=self.id, + labels=self.labels, name=self.name, policy_id=self.policy_id, project_id=self.project_id, @@ -132,6 +144,7 @@ def get_sfs_export_policy(policy_id: Optional[_builtins.str] = None, return AwaitableGetSfsExportPolicyResult( id=pulumi.get(__ret__, 'id'), + labels=pulumi.get(__ret__, 'labels'), name=pulumi.get(__ret__, 'name'), policy_id=pulumi.get(__ret__, 'policy_id'), project_id=pulumi.get(__ret__, 'project_id'), @@ -161,6 +174,7 @@ def get_sfs_export_policy_output(policy_id: pulumi.Input[Optional[_builtins.str] __ret__ = pulumi.runtime.invoke_output('stackit:index/getSfsExportPolicy:getSfsExportPolicy', __args__, opts=opts, typ=GetSfsExportPolicyResult) return __ret__.apply(lambda __response__: GetSfsExportPolicyResult( id=pulumi.get(__response__, 'id'), + labels=pulumi.get(__response__, 'labels'), name=pulumi.get(__response__, 'name'), policy_id=pulumi.get(__response__, 'policy_id'), project_id=pulumi.get(__response__, 'project_id'), diff --git a/sdk/python/pulumi_stackit/get_sfs_resource_pool.py b/sdk/python/pulumi_stackit/get_sfs_resource_pool.py index 0b7f515..4beaaef 100644 --- a/sdk/python/pulumi_stackit/get_sfs_resource_pool.py +++ b/sdk/python/pulumi_stackit/get_sfs_resource_pool.py @@ -27,7 +27,7 @@ class GetSfsResourcePoolResult: """ A collection of values returned by getSfsResourcePool. """ - def __init__(__self__, availability_zone=None, id=None, ip_acls=None, name=None, performance_class=None, performance_class_downgradable_at=None, project_id=None, region=None, resource_pool_id=None, size_gigabytes=None, size_reducible_at=None, snapshot_policy=None, snapshots_are_visible=None): + def __init__(__self__, availability_zone=None, id=None, ip_acls=None, labels=None, name=None, performance_class=None, performance_class_downgradable_at=None, project_id=None, region=None, resource_pool_id=None, size_gigabytes=None, size_reducible_at=None, snapshot_policy=None, snapshots_are_visible=None): if availability_zone and not isinstance(availability_zone, str): raise TypeError("Expected argument 'availability_zone' to be a str") pulumi.set(__self__, "availability_zone", availability_zone) @@ -37,6 +37,9 @@ def __init__(__self__, availability_zone=None, id=None, ip_acls=None, name=None, if ip_acls and not isinstance(ip_acls, list): raise TypeError("Expected argument 'ip_acls' to be a list") pulumi.set(__self__, "ip_acls", ip_acls) + if labels and not isinstance(labels, dict): + raise TypeError("Expected argument 'labels' to be a dict") + pulumi.set(__self__, "labels", labels) if name and not isinstance(name, str): raise TypeError("Expected argument 'name' to be a str") pulumi.set(__self__, "name", name) @@ -92,6 +95,14 @@ def ip_acls(self) -> Sequence[_builtins.str]: """ return pulumi.get(self, "ip_acls") + @_builtins.property + @pulumi.getter + def labels(self) -> Mapping[str, _builtins.str]: + """ + Labels are key-value string pairs which can be attached to a resource pool + """ + return pulumi.get(self, "labels") + @_builtins.property @pulumi.getter def name(self) -> _builtins.str: @@ -182,6 +193,7 @@ def __await__(self): availability_zone=self.availability_zone, id=self.id, ip_acls=self.ip_acls, + labels=self.labels, name=self.name, performance_class=self.performance_class, performance_class_downgradable_at=self.performance_class_downgradable_at, @@ -221,6 +233,7 @@ def get_sfs_resource_pool(project_id: Optional[_builtins.str] = None, availability_zone=pulumi.get(__ret__, 'availability_zone'), id=pulumi.get(__ret__, 'id'), ip_acls=pulumi.get(__ret__, 'ip_acls'), + labels=pulumi.get(__ret__, 'labels'), name=pulumi.get(__ret__, 'name'), performance_class=pulumi.get(__ret__, 'performance_class'), performance_class_downgradable_at=pulumi.get(__ret__, 'performance_class_downgradable_at'), @@ -257,6 +270,7 @@ def get_sfs_resource_pool_output(project_id: pulumi.Input[Optional[_builtins.str availability_zone=pulumi.get(__response__, 'availability_zone'), id=pulumi.get(__response__, 'id'), ip_acls=pulumi.get(__response__, 'ip_acls'), + labels=pulumi.get(__response__, 'labels'), name=pulumi.get(__response__, 'name'), performance_class=pulumi.get(__response__, 'performance_class'), performance_class_downgradable_at=pulumi.get(__response__, 'performance_class_downgradable_at'), diff --git a/sdk/python/pulumi_stackit/get_sfs_share.py b/sdk/python/pulumi_stackit/get_sfs_share.py index f4d70fe..65bdb56 100644 --- a/sdk/python/pulumi_stackit/get_sfs_share.py +++ b/sdk/python/pulumi_stackit/get_sfs_share.py @@ -26,13 +26,16 @@ class GetSfsShareResult: """ A collection of values returned by getSfsShare. """ - def __init__(__self__, export_policy=None, id=None, mount_path=None, name=None, project_id=None, region=None, resource_pool_id=None, share_id=None, space_hard_limit_gigabytes=None): + def __init__(__self__, export_policy=None, id=None, labels=None, mount_path=None, name=None, project_id=None, region=None, resource_pool_id=None, share_id=None, space_hard_limit_gigabytes=None): if export_policy and not isinstance(export_policy, str): raise TypeError("Expected argument 'export_policy' to be a str") pulumi.set(__self__, "export_policy", export_policy) if id and not isinstance(id, str): raise TypeError("Expected argument 'id' to be a str") pulumi.set(__self__, "id", id) + if labels and not isinstance(labels, dict): + raise TypeError("Expected argument 'labels' to be a dict") + pulumi.set(__self__, "labels", labels) if mount_path and not isinstance(mount_path, str): raise TypeError("Expected argument 'mount_path' to be a str") pulumi.set(__self__, "mount_path", mount_path) @@ -74,6 +77,14 @@ def id(self) -> _builtins.str: """ return pulumi.get(self, "id") + @_builtins.property + @pulumi.getter + def labels(self) -> Mapping[str, _builtins.str]: + """ + Labels are key-value string pairs which can be attached to a share + """ + return pulumi.get(self, "labels") + @_builtins.property @pulumi.getter(name="mountPath") def mount_path(self) -> _builtins.str: @@ -141,6 +152,7 @@ def __await__(self): return GetSfsShareResult( export_policy=self.export_policy, id=self.id, + labels=self.labels, mount_path=self.mount_path, name=self.name, project_id=self.project_id, @@ -179,6 +191,7 @@ def get_sfs_share(project_id: Optional[_builtins.str] = None, return AwaitableGetSfsShareResult( export_policy=pulumi.get(__ret__, 'export_policy'), id=pulumi.get(__ret__, 'id'), + labels=pulumi.get(__ret__, 'labels'), mount_path=pulumi.get(__ret__, 'mount_path'), name=pulumi.get(__ret__, 'name'), project_id=pulumi.get(__ret__, 'project_id'), @@ -214,6 +227,7 @@ def get_sfs_share_output(project_id: pulumi.Input[Optional[_builtins.str]] = Non return __ret__.apply(lambda __response__: GetSfsShareResult( export_policy=pulumi.get(__response__, 'export_policy'), id=pulumi.get(__response__, 'id'), + labels=pulumi.get(__response__, 'labels'), mount_path=pulumi.get(__response__, 'mount_path'), name=pulumi.get(__response__, 'name'), project_id=pulumi.get(__response__, 'project_id'), diff --git a/sdk/python/pulumi_stackit/get_telemetrylink.py b/sdk/python/pulumi_stackit/get_telemetrylink.py new file mode 100644 index 0000000..4622eee --- /dev/null +++ b/sdk/python/pulumi_stackit/get_telemetrylink.py @@ -0,0 +1,208 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities + +__all__ = [ + 'GetTelemetrylinkResult', + 'AwaitableGetTelemetrylinkResult', + 'get_telemetrylink', + 'get_telemetrylink_output', +] + +@pulumi.output_type +class GetTelemetrylinkResult: + """ + A collection of values returned by getTelemetrylink. + """ + def __init__(__self__, create_time=None, description=None, display_name=None, id=None, region=None, resource_id=None, resource_type=None, status=None, telemetry_router_id=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) + if display_name and not isinstance(display_name, str): + raise TypeError("Expected argument 'display_name' to be a str") + pulumi.set(__self__, "display_name", display_name) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if resource_id and not isinstance(resource_id, str): + raise TypeError("Expected argument 'resource_id' to be a str") + pulumi.set(__self__, "resource_id", resource_id) + if resource_type and not isinstance(resource_type, str): + raise TypeError("Expected argument 'resource_type' to be a str") + pulumi.set(__self__, "resource_type", resource_type) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + if telemetry_router_id and not isinstance(telemetry_router_id, str): + raise TypeError("Expected argument 'telemetry_router_id' to be a str") + pulumi.set(__self__, "telemetry_router_id", telemetry_router_id) + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> _builtins.str: + """ + The time the Telemetry Link was created. + """ + return pulumi.get(self, "create_time") + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + """ + The description of the Telemetry Link resource. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> _builtins.str: + """ + The displayed name of the Telemetry Link resource. + """ + return pulumi.get(self, "display_name") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + Terraform's internal resource identifier. It is structured as "`resource_type`, `resource_id`,`region`". + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter + def region(self) -> Optional[_builtins.str]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter(name="resourceId") + def resource_id(self) -> _builtins.str: + """ + STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + """ + return pulumi.get(self, "resource_id") + + @_builtins.property + @pulumi.getter(name="resourceType") + def resource_type(self) -> _builtins.str: + """ + The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + """ + return pulumi.get(self, "resource_type") + + @_builtins.property + @pulumi.getter + def status(self) -> _builtins.str: + """ + The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. + """ + return pulumi.get(self, "status") + + @_builtins.property + @pulumi.getter(name="telemetryRouterId") + def telemetry_router_id(self) -> _builtins.str: + """ + The Telemetry Router ID. + """ + return pulumi.get(self, "telemetry_router_id") + + +class AwaitableGetTelemetrylinkResult(GetTelemetrylinkResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetTelemetrylinkResult( + create_time=self.create_time, + description=self.description, + display_name=self.display_name, + id=self.id, + region=self.region, + resource_id=self.resource_id, + resource_type=self.resource_type, + status=self.status, + telemetry_router_id=self.telemetry_router_id) + + +def get_telemetrylink(region: Optional[_builtins.str] = None, + resource_id: Optional[_builtins.str] = None, + resource_type: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetTelemetrylinkResult: + """ + TelemetryLink 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 region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param _builtins.str resource_id: STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + :param _builtins.str resource_type: The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + """ + __args__ = dict() + __args__['region'] = region + __args__['resourceId'] = resource_id + __args__['resourceType'] = resource_type + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getTelemetrylink:getTelemetrylink', __args__, opts=opts, typ=GetTelemetrylinkResult).value + + return AwaitableGetTelemetrylinkResult( + create_time=pulumi.get(__ret__, 'create_time'), + description=pulumi.get(__ret__, 'description'), + display_name=pulumi.get(__ret__, 'display_name'), + id=pulumi.get(__ret__, 'id'), + region=pulumi.get(__ret__, 'region'), + resource_id=pulumi.get(__ret__, 'resource_id'), + resource_type=pulumi.get(__ret__, 'resource_type'), + status=pulumi.get(__ret__, 'status'), + telemetry_router_id=pulumi.get(__ret__, 'telemetry_router_id')) +def get_telemetrylink_output(region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + resource_id: pulumi.Input[Optional[_builtins.str]] = None, + resource_type: pulumi.Input[Optional[_builtins.str]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTelemetrylinkResult]: + """ + TelemetryLink 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 region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param _builtins.str resource_id: STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + :param _builtins.str resource_type: The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + """ + __args__ = dict() + __args__['region'] = region + __args__['resourceId'] = resource_id + __args__['resourceType'] = resource_type + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getTelemetrylink:getTelemetrylink', __args__, opts=opts, typ=GetTelemetrylinkResult) + return __ret__.apply(lambda __response__: GetTelemetrylinkResult( + create_time=pulumi.get(__response__, 'create_time'), + description=pulumi.get(__response__, 'description'), + display_name=pulumi.get(__response__, 'display_name'), + id=pulumi.get(__response__, 'id'), + region=pulumi.get(__response__, 'region'), + resource_id=pulumi.get(__response__, 'resource_id'), + resource_type=pulumi.get(__response__, 'resource_type'), + status=pulumi.get(__response__, 'status'), + telemetry_router_id=pulumi.get(__response__, 'telemetry_router_id'))) diff --git a/sdk/python/pulumi_stackit/get_telemetryrouter_access_token.py b/sdk/python/pulumi_stackit/get_telemetryrouter_access_token.py new file mode 100644 index 0000000..e5dbaf2 --- /dev/null +++ b/sdk/python/pulumi_stackit/get_telemetryrouter_access_token.py @@ -0,0 +1,228 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities + +__all__ = [ + 'GetTelemetryrouterAccessTokenResult', + 'AwaitableGetTelemetryrouterAccessTokenResult', + 'get_telemetryrouter_access_token', + 'get_telemetryrouter_access_token_output', +] + +@pulumi.output_type +class GetTelemetryrouterAccessTokenResult: + """ + A collection of values returned by getTelemetryrouterAccessToken. + """ + def __init__(__self__, access_token_id=None, creator_id=None, description=None, display_name=None, expiration_time=None, id=None, instance_id=None, project_id=None, region=None, status=None): + if access_token_id and not isinstance(access_token_id, str): + raise TypeError("Expected argument 'access_token_id' to be a str") + pulumi.set(__self__, "access_token_id", access_token_id) + if creator_id and not isinstance(creator_id, str): + raise TypeError("Expected argument 'creator_id' to be a str") + pulumi.set(__self__, "creator_id", creator_id) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if display_name and not isinstance(display_name, str): + raise TypeError("Expected argument 'display_name' to be a str") + pulumi.set(__self__, "display_name", display_name) + if expiration_time and not isinstance(expiration_time, str): + raise TypeError("Expected argument 'expiration_time' to be a str") + pulumi.set(__self__, "expiration_time", expiration_time) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instance_id and not isinstance(instance_id, str): + raise TypeError("Expected argument 'instance_id' to be a str") + pulumi.set(__self__, "instance_id", instance_id) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + + @_builtins.property + @pulumi.getter(name="accessTokenId") + def access_token_id(self) -> _builtins.str: + """ + The access token ID + """ + return pulumi.get(self, "access_token_id") + + @_builtins.property + @pulumi.getter(name="creatorId") + def creator_id(self) -> _builtins.str: + """ + The user who created the access token + """ + return pulumi.get(self, "creator_id") + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + """ + The description of the access token + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> _builtins.str: + """ + The displayed name of the access token + """ + return pulumi.get(self, "display_name") + + @_builtins.property + @pulumi.getter(name="expirationTime") + def expiration_time(self) -> _builtins.str: + """ + The date and time an access token will expire at (inclusively) + """ + return pulumi.get(self, "expiration_time") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + Terraform's internal resource identifier. It is structured as "`project_id`,`region`,`instance_id`,`access_token_id`". + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> _builtins.str: + """ + The TelemetryRouter instance ID associated with the access token + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT project ID associated with the TelemetryRouter access token + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> Optional[_builtins.str]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def status(self) -> _builtins.str: + """ + The status of the access token. Possible values are: `active`, `expired`, `deleting`. + """ + return pulumi.get(self, "status") + + +class AwaitableGetTelemetryrouterAccessTokenResult(GetTelemetryrouterAccessTokenResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetTelemetryrouterAccessTokenResult( + access_token_id=self.access_token_id, + creator_id=self.creator_id, + description=self.description, + display_name=self.display_name, + expiration_time=self.expiration_time, + id=self.id, + instance_id=self.instance_id, + project_id=self.project_id, + region=self.region, + status=self.status) + + +def get_telemetryrouter_access_token(access_token_id: Optional[_builtins.str] = None, + instance_id: Optional[_builtins.str] = None, + project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetTelemetryrouterAccessTokenResult: + """ + TelemetryRouter access token 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 access_token_id: The access token ID + :param _builtins.str instance_id: The TelemetryRouter instance ID associated with the access token + :param _builtins.str project_id: STACKIT project ID associated with the TelemetryRouter access token + :param _builtins.str region: STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['accessTokenId'] = access_token_id + __args__['instanceId'] = instance_id + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getTelemetryrouterAccessToken:getTelemetryrouterAccessToken', __args__, opts=opts, typ=GetTelemetryrouterAccessTokenResult).value + + return AwaitableGetTelemetryrouterAccessTokenResult( + access_token_id=pulumi.get(__ret__, 'access_token_id'), + creator_id=pulumi.get(__ret__, 'creator_id'), + description=pulumi.get(__ret__, 'description'), + display_name=pulumi.get(__ret__, 'display_name'), + expiration_time=pulumi.get(__ret__, 'expiration_time'), + id=pulumi.get(__ret__, 'id'), + instance_id=pulumi.get(__ret__, 'instance_id'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + status=pulumi.get(__ret__, 'status')) +def get_telemetryrouter_access_token_output(access_token_id: pulumi.Input[Optional[_builtins.str]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTelemetryrouterAccessTokenResult]: + """ + TelemetryRouter access token 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 access_token_id: The access token ID + :param _builtins.str instance_id: The TelemetryRouter instance ID associated with the access token + :param _builtins.str project_id: STACKIT project ID associated with the TelemetryRouter access token + :param _builtins.str region: STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['accessTokenId'] = access_token_id + __args__['instanceId'] = instance_id + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getTelemetryrouterAccessToken:getTelemetryrouterAccessToken', __args__, opts=opts, typ=GetTelemetryrouterAccessTokenResult) + return __ret__.apply(lambda __response__: GetTelemetryrouterAccessTokenResult( + access_token_id=pulumi.get(__response__, 'access_token_id'), + creator_id=pulumi.get(__response__, 'creator_id'), + description=pulumi.get(__response__, 'description'), + display_name=pulumi.get(__response__, 'display_name'), + expiration_time=pulumi.get(__response__, 'expiration_time'), + id=pulumi.get(__response__, 'id'), + instance_id=pulumi.get(__response__, 'instance_id'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + status=pulumi.get(__response__, 'status'))) diff --git a/sdk/python/pulumi_stackit/get_telemetryrouter_destination.py b/sdk/python/pulumi_stackit/get_telemetryrouter_destination.py new file mode 100644 index 0000000..cee5aa2 --- /dev/null +++ b/sdk/python/pulumi_stackit/get_telemetryrouter_destination.py @@ -0,0 +1,243 @@ +# 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__ = [ + 'GetTelemetryrouterDestinationResult', + 'AwaitableGetTelemetryrouterDestinationResult', + 'get_telemetryrouter_destination', + 'get_telemetryrouter_destination_output', +] + +@pulumi.output_type +class GetTelemetryrouterDestinationResult: + """ + A collection of values returned by getTelemetryrouterDestination. + """ + def __init__(__self__, config=None, creation_time=None, credential_type=None, description=None, destination_id=None, display_name=None, id=None, instance_id=None, project_id=None, region=None, status=None): + if config and not isinstance(config, dict): + raise TypeError("Expected argument 'config' to be a dict") + pulumi.set(__self__, "config", config) + if creation_time and not isinstance(creation_time, str): + raise TypeError("Expected argument 'creation_time' to be a str") + pulumi.set(__self__, "creation_time", creation_time) + if credential_type and not isinstance(credential_type, str): + raise TypeError("Expected argument 'credential_type' to be a str") + pulumi.set(__self__, "credential_type", credential_type) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if destination_id and not isinstance(destination_id, str): + raise TypeError("Expected argument 'destination_id' to be a str") + pulumi.set(__self__, "destination_id", destination_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 id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instance_id and not isinstance(instance_id, str): + raise TypeError("Expected argument 'instance_id' to be a str") + pulumi.set(__self__, "instance_id", instance_id) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + + @_builtins.property + @pulumi.getter + def config(self) -> 'outputs.GetTelemetryrouterDestinationConfigResult': + """ + The configuration of the TelemetryRouter destination + """ + return pulumi.get(self, "config") + + @_builtins.property + @pulumi.getter(name="creationTime") + def creation_time(self) -> _builtins.str: + """ + The date and time the creation of the TelemetryRouter destination was initiated + """ + return pulumi.get(self, "creation_time") + + @_builtins.property + @pulumi.getter(name="credentialType") + def credential_type(self) -> _builtins.str: + """ + The TelemetryRouter destination's credential type + """ + return pulumi.get(self, "credential_type") + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + """ + The description of the TelemetryRouter destination + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="destinationId") + def destination_id(self) -> _builtins.str: + """ + The TelemetryRouter destination ID + """ + return pulumi.get(self, "destination_id") + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> _builtins.str: + """ + The displayed name of the TelemetryRouter destination + """ + return pulumi.get(self, "display_name") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + Terraform's internal resource identifier. It is structured as "`project_id`,`region`,`instance_id`,`destionation_id`". + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> _builtins.str: + """ + The TelemetryRouter instance ID + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT project ID associated with the TelemetryRouter instance + """ + 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 status(self) -> _builtins.str: + """ + The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. + """ + return pulumi.get(self, "status") + + +class AwaitableGetTelemetryrouterDestinationResult(GetTelemetryrouterDestinationResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetTelemetryrouterDestinationResult( + config=self.config, + creation_time=self.creation_time, + credential_type=self.credential_type, + description=self.description, + destination_id=self.destination_id, + display_name=self.display_name, + id=self.id, + instance_id=self.instance_id, + project_id=self.project_id, + region=self.region, + status=self.status) + + +def get_telemetryrouter_destination(destination_id: Optional[_builtins.str] = None, + instance_id: Optional[_builtins.str] = None, + project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetTelemetryrouterDestinationResult: + """ + TelemetryRouter destination 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 destination_id: The TelemetryRouter destination ID + :param _builtins.str instance_id: The TelemetryRouter instance ID + :param _builtins.str project_id: STACKIT project ID associated with the TelemetryRouter instance + :param _builtins.str region: STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['destinationId'] = destination_id + __args__['instanceId'] = instance_id + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getTelemetryrouterDestination:getTelemetryrouterDestination', __args__, opts=opts, typ=GetTelemetryrouterDestinationResult).value + + return AwaitableGetTelemetryrouterDestinationResult( + config=pulumi.get(__ret__, 'config'), + creation_time=pulumi.get(__ret__, 'creation_time'), + credential_type=pulumi.get(__ret__, 'credential_type'), + description=pulumi.get(__ret__, 'description'), + destination_id=pulumi.get(__ret__, 'destination_id'), + display_name=pulumi.get(__ret__, 'display_name'), + id=pulumi.get(__ret__, 'id'), + instance_id=pulumi.get(__ret__, 'instance_id'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + status=pulumi.get(__ret__, 'status')) +def get_telemetryrouter_destination_output(destination_id: pulumi.Input[Optional[_builtins.str]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTelemetryrouterDestinationResult]: + """ + TelemetryRouter destination 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 destination_id: The TelemetryRouter destination ID + :param _builtins.str instance_id: The TelemetryRouter instance ID + :param _builtins.str project_id: STACKIT project ID associated with the TelemetryRouter instance + :param _builtins.str region: STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['destinationId'] = destination_id + __args__['instanceId'] = instance_id + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getTelemetryrouterDestination:getTelemetryrouterDestination', __args__, opts=opts, typ=GetTelemetryrouterDestinationResult) + return __ret__.apply(lambda __response__: GetTelemetryrouterDestinationResult( + config=pulumi.get(__response__, 'config'), + creation_time=pulumi.get(__response__, 'creation_time'), + credential_type=pulumi.get(__response__, 'credential_type'), + description=pulumi.get(__response__, 'description'), + destination_id=pulumi.get(__response__, 'destination_id'), + display_name=pulumi.get(__response__, 'display_name'), + id=pulumi.get(__response__, 'id'), + instance_id=pulumi.get(__response__, 'instance_id'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + status=pulumi.get(__response__, 'status'))) diff --git a/sdk/python/pulumi_stackit/get_telemetryrouter_instance.py b/sdk/python/pulumi_stackit/get_telemetryrouter_instance.py new file mode 100644 index 0000000..6f54eb9 --- /dev/null +++ b/sdk/python/pulumi_stackit/get_telemetryrouter_instance.py @@ -0,0 +1,223 @@ +# 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__ = [ + 'GetTelemetryrouterInstanceResult', + 'AwaitableGetTelemetryrouterInstanceResult', + 'get_telemetryrouter_instance', + 'get_telemetryrouter_instance_output', +] + +@pulumi.output_type +class GetTelemetryrouterInstanceResult: + """ + A collection of values returned by getTelemetryrouterInstance. + """ + def __init__(__self__, creation_time=None, description=None, display_name=None, filter=None, id=None, instance_id=None, project_id=None, region=None, status=None, uri=None): + if creation_time and not isinstance(creation_time, str): + raise TypeError("Expected argument 'creation_time' to be a str") + pulumi.set(__self__, "creation_time", creation_time) + if description and not isinstance(description, str): + raise TypeError("Expected argument 'description' to be a str") + pulumi.set(__self__, "description", description) + if display_name and not isinstance(display_name, str): + raise TypeError("Expected argument 'display_name' to be a str") + pulumi.set(__self__, "display_name", display_name) + if filter and not isinstance(filter, dict): + raise TypeError("Expected argument 'filter' to be a dict") + pulumi.set(__self__, "filter", filter) + if id and not isinstance(id, str): + raise TypeError("Expected argument 'id' to be a str") + pulumi.set(__self__, "id", id) + if instance_id and not isinstance(instance_id, str): + raise TypeError("Expected argument 'instance_id' to be a str") + pulumi.set(__self__, "instance_id", instance_id) + if project_id and not isinstance(project_id, str): + raise TypeError("Expected argument 'project_id' to be a str") + pulumi.set(__self__, "project_id", project_id) + if region and not isinstance(region, str): + raise TypeError("Expected argument 'region' to be a str") + pulumi.set(__self__, "region", region) + if status and not isinstance(status, str): + raise TypeError("Expected argument 'status' to be a str") + pulumi.set(__self__, "status", status) + 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="creationTime") + def creation_time(self) -> _builtins.str: + """ + The date and time the creation of the TelemetryRouter instance was initiated + """ + return pulumi.get(self, "creation_time") + + @_builtins.property + @pulumi.getter + def description(self) -> _builtins.str: + """ + The description of the TelemetryRouter instance + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> _builtins.str: + """ + The display name of the TelemetryRouter instance + """ + return pulumi.get(self, "display_name") + + @_builtins.property + @pulumi.getter + def filter(self) -> 'outputs.GetTelemetryrouterInstanceFilterResult': + """ + The TelemetryRouter global filter settings + """ + return pulumi.get(self, "filter") + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + Terraform's internal resource identifier. It is structured as "`project_id`,`region`,`instance_id`". + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> _builtins.str: + """ + The TelemetryRouter instance ID + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> _builtins.str: + """ + STACKIT project ID associated with the TelemetryRouter instance + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> Optional[_builtins.str]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def status(self) -> _builtins.str: + """ + The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. + """ + return pulumi.get(self, "status") + + @_builtins.property + @pulumi.getter + def uri(self) -> _builtins.str: + """ + The TelemetryRouter instance's URI + """ + return pulumi.get(self, "uri") + + +class AwaitableGetTelemetryrouterInstanceResult(GetTelemetryrouterInstanceResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetTelemetryrouterInstanceResult( + creation_time=self.creation_time, + description=self.description, + display_name=self.display_name, + filter=self.filter, + id=self.id, + instance_id=self.instance_id, + project_id=self.project_id, + region=self.region, + status=self.status, + uri=self.uri) + + +def get_telemetryrouter_instance(instance_id: Optional[_builtins.str] = None, + project_id: Optional[_builtins.str] = None, + region: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetTelemetryrouterInstanceResult: + """ + TelemetryRouter instance 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 instance_id: The TelemetryRouter instance ID + :param _builtins.str project_id: STACKIT project ID associated with the TelemetryRouter instance + :param _builtins.str region: STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['instanceId'] = instance_id + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke('stackit:index/getTelemetryrouterInstance:getTelemetryrouterInstance', __args__, opts=opts, typ=GetTelemetryrouterInstanceResult).value + + return AwaitableGetTelemetryrouterInstanceResult( + creation_time=pulumi.get(__ret__, 'creation_time'), + description=pulumi.get(__ret__, 'description'), + display_name=pulumi.get(__ret__, 'display_name'), + filter=pulumi.get(__ret__, 'filter'), + id=pulumi.get(__ret__, 'id'), + instance_id=pulumi.get(__ret__, 'instance_id'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + status=pulumi.get(__ret__, 'status'), + uri=pulumi.get(__ret__, 'uri')) +def get_telemetryrouter_instance_output(instance_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[Optional[_builtins.str]]] = None, + opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTelemetryrouterInstanceResult]: + """ + TelemetryRouter instance 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 instance_id: The TelemetryRouter instance ID + :param _builtins.str project_id: STACKIT project ID associated with the TelemetryRouter instance + :param _builtins.str region: STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + __args__ = dict() + __args__['instanceId'] = instance_id + __args__['projectId'] = project_id + __args__['region'] = region + opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts) + __ret__ = pulumi.runtime.invoke_output('stackit:index/getTelemetryrouterInstance:getTelemetryrouterInstance', __args__, opts=opts, typ=GetTelemetryrouterInstanceResult) + return __ret__.apply(lambda __response__: GetTelemetryrouterInstanceResult( + creation_time=pulumi.get(__response__, 'creation_time'), + description=pulumi.get(__response__, 'description'), + display_name=pulumi.get(__response__, 'display_name'), + filter=pulumi.get(__response__, 'filter'), + id=pulumi.get(__response__, 'id'), + instance_id=pulumi.get(__response__, 'instance_id'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + status=pulumi.get(__response__, 'status'), + uri=pulumi.get(__response__, 'uri'))) diff --git a/sdk/python/pulumi_stackit/get_vpn_gateway.py b/sdk/python/pulumi_stackit/get_vpn_gateway.py new file mode 100644 index 0000000..e90803c --- /dev/null +++ b/sdk/python/pulumi_stackit/get_vpn_gateway.py @@ -0,0 +1,217 @@ +# 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__ = [ + 'GetVpnGatewayResult', + 'AwaitableGetVpnGatewayResult', + 'get_vpn_gateway', + 'get_vpn_gateway_output', +] + +@pulumi.output_type +class GetVpnGatewayResult: + """ + A collection of values returned by getVpnGateway. + """ + def __init__(__self__, availability_zones=None, bgp=None, display_name=None, gateway_id=None, id=None, labels=None, plan_id=None, project_id=None, region=None, routing_type=None): + if availability_zones and not isinstance(availability_zones, dict): + raise TypeError("Expected argument 'availability_zones' to be a dict") + pulumi.set(__self__, "availability_zones", availability_zones) + if bgp and not isinstance(bgp, dict): + raise TypeError("Expected argument 'bgp' to be a dict") + pulumi.set(__self__, "bgp", bgp) + 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 labels and not isinstance(labels, dict): + raise TypeError("Expected argument 'labels' to be a dict") + pulumi.set(__self__, "labels", labels) + if plan_id and not isinstance(plan_id, str): + raise TypeError("Expected argument 'plan_id' to be a str") + pulumi.set(__self__, "plan_id", plan_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 routing_type and not isinstance(routing_type, str): + raise TypeError("Expected argument 'routing_type' to be a str") + pulumi.set(__self__, "routing_type", routing_type) + + @_builtins.property + @pulumi.getter(name="availabilityZones") + def availability_zones(self) -> 'outputs.GetVpnGatewayAvailabilityZonesResult': + """ + Availability zones for the two tunnel endpoints. + """ + return pulumi.get(self, "availability_zones") + + @_builtins.property + @pulumi.getter + def bgp(self) -> 'outputs.GetVpnGatewayBgpResult': + """ + BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + """ + return pulumi.get(self, "bgp") + + @_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 + def labels(self) -> Mapping[str, _builtins.str]: + """ + Map of custom labels (key-value string pairs). + """ + return pulumi.get(self, "labels") + + @_builtins.property + @pulumi.getter(name="planId") + def plan_id(self) -> _builtins.str: + """ + The service plan identifier (e.g. `p500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + """ + return pulumi.get(self, "plan_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(name="routingType") + def routing_type(self) -> _builtins.str: + """ + Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + """ + return pulumi.get(self, "routing_type") + + +class AwaitableGetVpnGatewayResult(GetVpnGatewayResult): + # pylint: disable=using-constant-test + def __await__(self): + if False: + yield self + return GetVpnGatewayResult( + availability_zones=self.availability_zones, + bgp=self.bgp, + display_name=self.display_name, + gateway_id=self.gateway_id, + id=self.id, + labels=self.labels, + plan_id=self.plan_id, + project_id=self.project_id, + region=self.region, + routing_type=self.routing_type) + + +def get_vpn_gateway(gateway_id: Optional[_builtins.str] = None, + project_id: Optional[_builtins.str] = None, + opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetVpnGatewayResult: + """ + VPN Gateway 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/getVpnGateway:getVpnGateway', __args__, opts=opts, typ=GetVpnGatewayResult).value + + return AwaitableGetVpnGatewayResult( + availability_zones=pulumi.get(__ret__, 'availability_zones'), + bgp=pulumi.get(__ret__, 'bgp'), + display_name=pulumi.get(__ret__, 'display_name'), + gateway_id=pulumi.get(__ret__, 'gateway_id'), + id=pulumi.get(__ret__, 'id'), + labels=pulumi.get(__ret__, 'labels'), + plan_id=pulumi.get(__ret__, 'plan_id'), + project_id=pulumi.get(__ret__, 'project_id'), + region=pulumi.get(__ret__, 'region'), + routing_type=pulumi.get(__ret__, 'routing_type')) +def get_vpn_gateway_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[GetVpnGatewayResult]: + """ + VPN Gateway 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/getVpnGateway:getVpnGateway', __args__, opts=opts, typ=GetVpnGatewayResult) + return __ret__.apply(lambda __response__: GetVpnGatewayResult( + availability_zones=pulumi.get(__response__, 'availability_zones'), + bgp=pulumi.get(__response__, 'bgp'), + display_name=pulumi.get(__response__, 'display_name'), + gateway_id=pulumi.get(__response__, 'gateway_id'), + id=pulumi.get(__response__, 'id'), + labels=pulumi.get(__response__, 'labels'), + plan_id=pulumi.get(__response__, 'plan_id'), + project_id=pulumi.get(__response__, 'project_id'), + region=pulumi.get(__response__, 'region'), + routing_type=pulumi.get(__response__, 'routing_type'))) diff --git a/sdk/python/pulumi_stackit/logs_access_token.py b/sdk/python/pulumi_stackit/logs_access_token.py index 44aedf4..204e2b5 100644 --- a/sdk/python/pulumi_stackit/logs_access_token.py +++ b/sdk/python/pulumi_stackit/logs_access_token.py @@ -25,7 +25,8 @@ def __init__(__self__, *, project_id: pulumi.Input[_builtins.str], description: pulumi.Input[Optional[_builtins.str]] = None, lifetime: pulumi.Input[Optional[_builtins.int]] = None, - region: pulumi.Input[Optional[_builtins.str]] = None): + region: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None): """ The set of arguments for constructing a LogsAccessToken resource. @@ -36,6 +37,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] description: The description of the access token :param pulumi.Input[_builtins.int] lifetime: A lifetime period for an access token in days. If unset the token will not expire. :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ pulumi.set(__self__, "display_name", display_name) pulumi.set(__self__, "instance_id", instance_id) @@ -47,6 +49,8 @@ def __init__(__self__, *, pulumi.set(__self__, "lifetime", lifetime) if region is not None: pulumi.set(__self__, "region", region) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) @_builtins.property @pulumi.getter(name="displayName") @@ -132,6 +136,18 @@ def region(self) -> pulumi.Input[Optional[_builtins.str]]: def region(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "region", value) + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @pulumi.input_type class _LogsAccessTokenState: @@ -147,6 +163,7 @@ def __init__(__self__, *, permissions: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, status: pulumi.Input[Optional[_builtins.str]] = None, valid_until: pulumi.Input[Optional[_builtins.str]] = None): """ @@ -163,6 +180,7 @@ def __init__(__self__, *, :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] permissions: The access permissions granted to the access token. Possible values: `read`, `write`. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the Logs access token :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. :param pulumi.Input[_builtins.str] status: The status of the access token. Possible values are: `active`, `expired`. :param pulumi.Input[_builtins.str] valid_until: The date and time until an access token is valid to (inclusively) """ @@ -188,6 +206,8 @@ def __init__(__self__, *, pulumi.set(__self__, "project_id", project_id) if region is not None: pulumi.set(__self__, "region", region) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) if status is not None: pulumi.set(__self__, "status", status) if valid_until is not None: @@ -325,6 +345,18 @@ def region(self) -> pulumi.Input[Optional[_builtins.str]]: def region(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "region", value) + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @_builtins.property @pulumi.getter def status(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -363,6 +395,7 @@ def __init__(__self__, permissions: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, __props__=None): """ Logs access token resource schema. Uses the `default_region` specified in the provider configuration as a fallback in case no `region` is defined on resource level. @@ -379,6 +412,7 @@ def __init__(__self__, :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] permissions: The access permissions granted to the access token. Possible values: `read`, `write`. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the Logs access token :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ ... @overload @@ -414,6 +448,7 @@ def _internal_init(__self__, permissions: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -438,6 +473,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'project_id'") __props__.__dict__["project_id"] = project_id __props__.__dict__["region"] = region + __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["access_token"] = None __props__.__dict__["access_token_id"] = None __props__.__dict__["creator"] = None @@ -467,6 +503,7 @@ def get(resource_name: str, permissions: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, status: pulumi.Input[Optional[_builtins.str]] = None, valid_until: pulumi.Input[Optional[_builtins.str]] = None) -> 'LogsAccessToken': """ @@ -487,6 +524,7 @@ def get(resource_name: str, :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] permissions: The access permissions granted to the access token. Possible values: `read`, `write`. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the Logs access token :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. :param pulumi.Input[_builtins.str] status: The status of the access token. Possible values are: `active`, `expired`. :param pulumi.Input[_builtins.str] valid_until: The date and time until an access token is valid to (inclusively) """ @@ -505,6 +543,7 @@ def get(resource_name: str, __props__.__dict__["permissions"] = permissions __props__.__dict__["project_id"] = project_id __props__.__dict__["region"] = region + __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["status"] = status __props__.__dict__["valid_until"] = valid_until return LogsAccessToken(resource_name, opts=opts, __props__=__props__) @@ -597,6 +636,14 @@ def region(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "region") + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + @_builtins.property @pulumi.getter def status(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/logs_instance.py b/sdk/python/pulumi_stackit/logs_instance.py index 734f0fe..1863073 100644 --- a/sdk/python/pulumi_stackit/logs_instance.py +++ b/sdk/python/pulumi_stackit/logs_instance.py @@ -151,7 +151,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] query_url: The Logs instance's query URL :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. :param pulumi.Input[_builtins.int] retention_days: The log retention time in days - :param pulumi.Input[_builtins.str] status: The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + :param pulumi.Input[_builtins.str] status: The status of the Logs instance. Possible values are: `active`, `deleting`, `reconciling`. """ if acls is not None: pulumi.set(__self__, "acls", acls) @@ -342,7 +342,7 @@ def retention_days(self, value: pulumi.Input[Optional[_builtins.int]]): @pulumi.getter def status(self) -> pulumi.Input[Optional[_builtins.str]]: """ - The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + The status of the Logs instance. Possible values are: `active`, `deleting`, `reconciling`. """ return pulumi.get(self, "status") @@ -485,7 +485,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] query_url: The Logs instance's query URL :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. :param pulumi.Input[_builtins.int] retention_days: The log retention time in days - :param pulumi.Input[_builtins.str] status: The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + :param pulumi.Input[_builtins.str] status: The status of the Logs instance. Possible values are: `active`, `deleting`, `reconciling`. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -615,7 +615,7 @@ def retention_days(self) -> pulumi.Output[_builtins.int]: @pulumi.getter def status(self) -> pulumi.Output[_builtins.str]: """ - The status of the Logs instance, possible values: Possible values are: `active`, `deleting`, `reconciling`. + The status of the Logs instance. Possible values are: `active`, `deleting`, `reconciling`. """ return pulumi.get(self, "status") diff --git a/sdk/python/pulumi_stackit/mariadb_credential.py b/sdk/python/pulumi_stackit/mariadb_credential.py index ab53355..dad553a 100644 --- a/sdk/python/pulumi_stackit/mariadb_credential.py +++ b/sdk/python/pulumi_stackit/mariadb_credential.py @@ -20,15 +20,19 @@ class MariadbCredentialArgs: def __init__(__self__, *, instance_id: pulumi.Input[_builtins.str], - project_id: pulumi.Input[_builtins.str]): + project_id: pulumi.Input[_builtins.str], + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None): """ The set of arguments for constructing a MariadbCredential resource. :param pulumi.Input[_builtins.str] instance_id: ID of the MariaDB instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ pulumi.set(__self__, "instance_id", instance_id) pulumi.set(__self__, "project_id", project_id) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) @_builtins.property @pulumi.getter(name="instanceId") @@ -54,6 +58,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(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @pulumi.input_type class _MariadbCredentialState: @@ -66,6 +82,7 @@ def __init__(__self__, *, password: pulumi.Input[Optional[_builtins.str]] = None, port: pulumi.Input[Optional[_builtins.int]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, uri: pulumi.Input[Optional[_builtins.str]] = None, username: pulumi.Input[Optional[_builtins.str]] = None): """ @@ -74,6 +91,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] credential_id: The credential's ID. :param pulumi.Input[_builtins.str] instance_id: ID of the MariaDB instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ if credential_id is not None: pulumi.set(__self__, "credential_id", credential_id) @@ -91,6 +109,8 @@ def __init__(__self__, *, pulumi.set(__self__, "port", port) if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) if uri is not None: pulumi.set(__self__, "uri", uri) if username is not None: @@ -177,6 +197,18 @@ def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: def project_id(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "project_id", value) + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @_builtins.property @pulumi.getter def uri(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -204,6 +236,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, __props__=None): """ MariaDB credential resource schema. Must have a `region` specified in the provider configuration. @@ -215,6 +248,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] instance_id: ID of the MariaDB instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ ... @overload @@ -245,6 +279,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -260,6 +295,7 @@ def _internal_init(__self__, if project_id is None and not opts.urn: raise TypeError("Missing required property 'project_id'") __props__.__dict__["project_id"] = project_id + __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["credential_id"] = None __props__.__dict__["host"] = None __props__.__dict__["hosts"] = None @@ -288,6 +324,7 @@ def get(resource_name: str, password: pulumi.Input[Optional[_builtins.str]] = None, port: pulumi.Input[Optional[_builtins.int]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, uri: pulumi.Input[Optional[_builtins.str]] = None, username: pulumi.Input[Optional[_builtins.str]] = None) -> 'MariadbCredential': """ @@ -300,6 +337,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] credential_id: The credential's ID. :param pulumi.Input[_builtins.str] instance_id: ID of the MariaDB instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -313,6 +351,7 @@ def get(resource_name: str, __props__.__dict__["password"] = password __props__.__dict__["port"] = port __props__.__dict__["project_id"] = project_id + __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["uri"] = uri __props__.__dict__["username"] = username return MariadbCredential(resource_name, opts=opts, __props__=__props__) @@ -366,6 +405,14 @@ def project_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "project_id") + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + @_builtins.property @pulumi.getter def uri(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/mongodbflex_user.py b/sdk/python/pulumi_stackit/mongodbflex_user.py index 179eecb..336d28c 100644 --- a/sdk/python/pulumi_stackit/mongodbflex_user.py +++ b/sdk/python/pulumi_stackit/mongodbflex_user.py @@ -24,6 +24,7 @@ def __init__(__self__, *, project_id: pulumi.Input[_builtins.str], roles: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], region: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, username: pulumi.Input[Optional[_builtins.str]] = None): """ The set of arguments for constructing a MongodbflexUser resource. @@ -32,6 +33,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: Database access levels for the user. Some of the possible values are: [`read`, `readWrite`, `readWriteAnyDatabase`] :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ pulumi.set(__self__, "database", database) pulumi.set(__self__, "instance_id", instance_id) @@ -39,6 +41,8 @@ def __init__(__self__, *, pulumi.set(__self__, "roles", roles) if region is not None: pulumi.set(__self__, "region", region) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) if username is not None: pulumi.set(__self__, "username", username) @@ -99,6 +103,18 @@ def region(self) -> pulumi.Input[Optional[_builtins.str]]: def region(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "region", value) + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @_builtins.property @pulumi.getter def username(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -120,6 +136,7 @@ def __init__(__self__, *, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, roles: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, uri: pulumi.Input[Optional[_builtins.str]] = None, user_id: pulumi.Input[Optional[_builtins.str]] = None, username: pulumi.Input[Optional[_builtins.str]] = None): @@ -130,6 +147,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: Database access levels for the user. Some of the possible values are: [`read`, `readWrite`, `readWriteAnyDatabase`] + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. :param pulumi.Input[_builtins.str] user_id: User ID. """ if database is not None: @@ -148,6 +166,8 @@ def __init__(__self__, *, pulumi.set(__self__, "region", region) if roles is not None: pulumi.set(__self__, "roles", roles) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) if uri is not None: pulumi.set(__self__, "uri", uri) if user_id is not None: @@ -239,6 +259,18 @@ def roles(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] def roles(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): pulumi.set(self, "roles", value) + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @_builtins.property @pulumi.getter def uri(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -281,6 +313,7 @@ def __init__(__self__, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, roles: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, username: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): """ @@ -295,6 +328,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: Database access levels for the user. Some of the possible values are: [`read`, `readWrite`, `readWriteAnyDatabase`] + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ ... @overload @@ -328,6 +362,7 @@ def _internal_init(__self__, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, roles: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, username: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -351,6 +386,7 @@ def _internal_init(__self__, if roles is None and not opts.urn: raise TypeError("Missing required property 'roles'") __props__.__dict__["roles"] = roles + __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["username"] = username __props__.__dict__["host"] = None __props__.__dict__["password"] = None @@ -377,6 +413,7 @@ def get(resource_name: str, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, roles: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, uri: pulumi.Input[Optional[_builtins.str]] = None, user_id: pulumi.Input[Optional[_builtins.str]] = None, username: pulumi.Input[Optional[_builtins.str]] = None) -> 'MongodbflexUser': @@ -391,6 +428,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: Database access levels for the user. Some of the possible values are: [`read`, `readWrite`, `readWriteAnyDatabase`] + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. :param pulumi.Input[_builtins.str] user_id: User ID. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -405,6 +443,7 @@ def get(resource_name: str, __props__.__dict__["project_id"] = project_id __props__.__dict__["region"] = region __props__.__dict__["roles"] = roles + __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["uri"] = uri __props__.__dict__["user_id"] = user_id __props__.__dict__["username"] = username @@ -462,6 +501,14 @@ def roles(self) -> pulumi.Output[Sequence[_builtins.str]]: """ return pulumi.get(self, "roles") + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + @_builtins.property @pulumi.getter def uri(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/objectstorage_credential.py b/sdk/python/pulumi_stackit/objectstorage_credential.py index 4a100b9..62d372b 100644 --- a/sdk/python/pulumi_stackit/objectstorage_credential.py +++ b/sdk/python/pulumi_stackit/objectstorage_credential.py @@ -22,7 +22,8 @@ def __init__(__self__, *, credentials_group_id: pulumi.Input[_builtins.str], project_id: pulumi.Input[_builtins.str], expiration_timestamp: pulumi.Input[Optional[_builtins.str]] = None, - region: pulumi.Input[Optional[_builtins.str]] = None): + region: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None): """ The set of arguments for constructing a ObjectstorageCredential resource. @@ -30,6 +31,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the credential group is associated. :param pulumi.Input[_builtins.str] expiration_timestamp: Expiration timestamp, in RFC339 format without fractional seconds. Example: "2025-01-01T00:00:00Z". If not set, the credential never expires. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ pulumi.set(__self__, "credentials_group_id", credentials_group_id) pulumi.set(__self__, "project_id", project_id) @@ -37,6 +39,8 @@ def __init__(__self__, *, pulumi.set(__self__, "expiration_timestamp", expiration_timestamp) if region is not None: pulumi.set(__self__, "region", region) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) @_builtins.property @pulumi.getter(name="credentialsGroupId") @@ -86,6 +90,18 @@ def region(self) -> pulumi.Input[Optional[_builtins.str]]: def region(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "region", value) + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @pulumi.input_type class _ObjectstorageCredentialState: @@ -97,6 +113,7 @@ 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, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, secret_access_key: pulumi.Input[Optional[_builtins.str]] = None): """ Input properties used for looking up and filtering ObjectstorageCredential resources. @@ -106,6 +123,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] expiration_timestamp: Expiration timestamp, in RFC339 format without fractional seconds. Example: "2025-01-01T00:00:00Z". If not set, the credential never expires. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the credential group is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ if access_key is not None: pulumi.set(__self__, "access_key", access_key) @@ -121,6 +139,8 @@ def __init__(__self__, *, pulumi.set(__self__, "project_id", project_id) if region is not None: pulumi.set(__self__, "region", region) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) if secret_access_key is not None: pulumi.set(__self__, "secret_access_key", secret_access_key) @@ -202,6 +222,18 @@ def region(self) -> pulumi.Input[Optional[_builtins.str]]: def region(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "region", value) + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @_builtins.property @pulumi.getter(name="secretAccessKey") def secret_access_key(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -222,6 +254,7 @@ def __init__(__self__, expiration_timestamp: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, __props__=None): """ ObjectStorage credential resource schema. Must have a `region` specified in the provider configuration. @@ -235,6 +268,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] expiration_timestamp: Expiration timestamp, in RFC339 format without fractional seconds. Example: "2025-01-01T00:00:00Z". If not set, the credential never expires. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the credential group is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ ... @overload @@ -267,6 +301,7 @@ def _internal_init(__self__, expiration_timestamp: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -284,6 +319,7 @@ def _internal_init(__self__, raise TypeError("Missing required property 'project_id'") __props__.__dict__["project_id"] = project_id __props__.__dict__["region"] = region + __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["access_key"] = None __props__.__dict__["credential_id"] = None __props__.__dict__["name"] = None @@ -307,6 +343,7 @@ 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, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, secret_access_key: pulumi.Input[Optional[_builtins.str]] = None) -> 'ObjectstorageCredential': """ Get an existing ObjectstorageCredential resource's state with the given name, id, and optional extra @@ -320,6 +357,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] expiration_timestamp: Expiration timestamp, in RFC339 format without fractional seconds. Example: "2025-01-01T00:00:00Z". If not set, the credential never expires. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the credential group is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -332,6 +370,7 @@ def get(resource_name: str, __props__.__dict__["name"] = name __props__.__dict__["project_id"] = project_id __props__.__dict__["region"] = region + __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["secret_access_key"] = secret_access_key return ObjectstorageCredential(resource_name, opts=opts, __props__=__props__) @@ -385,6 +424,14 @@ def region(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "region") + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + @_builtins.property @pulumi.getter(name="secretAccessKey") def secret_access_key(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/observability_credential.py b/sdk/python/pulumi_stackit/observability_credential.py index 906a5b5..074b64c 100644 --- a/sdk/python/pulumi_stackit/observability_credential.py +++ b/sdk/python/pulumi_stackit/observability_credential.py @@ -21,18 +21,22 @@ class ObservabilityCredentialArgs: def __init__(__self__, *, instance_id: pulumi.Input[_builtins.str], project_id: pulumi.Input[_builtins.str], - description: pulumi.Input[Optional[_builtins.str]] = None): + description: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None): """ The set of arguments for constructing a ObservabilityCredential resource. :param pulumi.Input[_builtins.str] instance_id: The Observability Instance ID the credential belongs to. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the credential is associated. :param pulumi.Input[_builtins.str] description: A description of the credential. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ pulumi.set(__self__, "instance_id", instance_id) pulumi.set(__self__, "project_id", project_id) if description is not None: pulumi.set(__self__, "description", description) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) @_builtins.property @pulumi.getter(name="instanceId") @@ -70,6 +74,18 @@ def description(self) -> pulumi.Input[Optional[_builtins.str]]: def description(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "description", value) + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @pulumi.input_type class _ObservabilityCredentialState: @@ -78,6 +94,7 @@ def __init__(__self__, *, instance_id: pulumi.Input[Optional[_builtins.str]] = None, password: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, username: pulumi.Input[Optional[_builtins.str]] = None): """ Input properties used for looking up and filtering ObservabilityCredential resources. @@ -86,6 +103,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] instance_id: The Observability Instance ID the credential belongs to. :param pulumi.Input[_builtins.str] password: Credential password :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the credential is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. :param pulumi.Input[_builtins.str] username: Credential username """ if description is not None: @@ -96,6 +114,8 @@ def __init__(__self__, *, pulumi.set(__self__, "password", password) if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) if username is not None: pulumi.set(__self__, "username", username) @@ -147,6 +167,18 @@ def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: def project_id(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "project_id", value) + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @_builtins.property @pulumi.getter def username(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -169,6 +201,7 @@ def __init__(__self__, description: pulumi.Input[Optional[_builtins.str]] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, __props__=None): """ Observability credential resource schema. Must have a `region` specified in the provider configuration. @@ -181,6 +214,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] description: A description of the credential. :param pulumi.Input[_builtins.str] instance_id: The Observability Instance ID the credential belongs to. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the credential is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ ... @overload @@ -212,6 +246,7 @@ def _internal_init(__self__, description: pulumi.Input[Optional[_builtins.str]] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -228,6 +263,7 @@ def _internal_init(__self__, if project_id is None and not opts.urn: raise TypeError("Missing required property 'project_id'") __props__.__dict__["project_id"] = project_id + __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["password"] = None __props__.__dict__["username"] = None secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["password"]) @@ -246,6 +282,7 @@ def get(resource_name: str, instance_id: pulumi.Input[Optional[_builtins.str]] = None, password: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, username: pulumi.Input[Optional[_builtins.str]] = None) -> 'ObservabilityCredential': """ Get an existing ObservabilityCredential resource's state with the given name, id, and optional extra @@ -258,6 +295,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] instance_id: The Observability Instance ID the credential belongs to. :param pulumi.Input[_builtins.str] password: Credential password :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the credential is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. :param pulumi.Input[_builtins.str] username: Credential username """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -268,6 +306,7 @@ def get(resource_name: str, __props__.__dict__["instance_id"] = instance_id __props__.__dict__["password"] = password __props__.__dict__["project_id"] = project_id + __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["username"] = username return ObservabilityCredential(resource_name, opts=opts, __props__=__props__) @@ -303,6 +342,14 @@ def project_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "project_id") + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + @_builtins.property @pulumi.getter def username(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/opensearch_credential.py b/sdk/python/pulumi_stackit/opensearch_credential.py index de400ad..8d4c497 100644 --- a/sdk/python/pulumi_stackit/opensearch_credential.py +++ b/sdk/python/pulumi_stackit/opensearch_credential.py @@ -20,15 +20,19 @@ class OpensearchCredentialArgs: def __init__(__self__, *, instance_id: pulumi.Input[_builtins.str], - project_id: pulumi.Input[_builtins.str]): + project_id: pulumi.Input[_builtins.str], + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None): """ The set of arguments for constructing a OpensearchCredential resource. :param pulumi.Input[_builtins.str] instance_id: ID of the OpenSearch instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ pulumi.set(__self__, "instance_id", instance_id) pulumi.set(__self__, "project_id", project_id) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) @_builtins.property @pulumi.getter(name="instanceId") @@ -54,6 +58,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(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @pulumi.input_type class _OpensearchCredentialState: @@ -65,6 +81,7 @@ def __init__(__self__, *, password: pulumi.Input[Optional[_builtins.str]] = None, port: pulumi.Input[Optional[_builtins.int]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, scheme: pulumi.Input[Optional[_builtins.str]] = None, uri: pulumi.Input[Optional[_builtins.str]] = None, username: pulumi.Input[Optional[_builtins.str]] = None): @@ -74,6 +91,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] credential_id: The credential's ID. :param pulumi.Input[_builtins.str] instance_id: ID of the OpenSearch instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ if credential_id is not None: pulumi.set(__self__, "credential_id", credential_id) @@ -89,6 +107,8 @@ def __init__(__self__, *, pulumi.set(__self__, "port", port) if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) if scheme is not None: pulumi.set(__self__, "scheme", scheme) if uri is not None: @@ -168,6 +188,18 @@ def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: def project_id(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "project_id", value) + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @_builtins.property @pulumi.getter def scheme(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -204,6 +236,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, __props__=None): """ OpenSearch credential resource schema. Must have a `region` specified in the provider configuration. @@ -215,6 +248,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] instance_id: ID of the OpenSearch instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ ... @overload @@ -245,6 +279,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -260,6 +295,7 @@ def _internal_init(__self__, if project_id is None and not opts.urn: raise TypeError("Missing required property 'project_id'") __props__.__dict__["project_id"] = project_id + __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["credential_id"] = None __props__.__dict__["host"] = None __props__.__dict__["hosts"] = None @@ -287,6 +323,7 @@ def get(resource_name: str, password: pulumi.Input[Optional[_builtins.str]] = None, port: pulumi.Input[Optional[_builtins.int]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, scheme: pulumi.Input[Optional[_builtins.str]] = None, uri: pulumi.Input[Optional[_builtins.str]] = None, username: pulumi.Input[Optional[_builtins.str]] = None) -> 'OpensearchCredential': @@ -300,6 +337,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] credential_id: The credential's ID. :param pulumi.Input[_builtins.str] instance_id: ID of the OpenSearch instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -312,6 +350,7 @@ def get(resource_name: str, __props__.__dict__["password"] = password __props__.__dict__["port"] = port __props__.__dict__["project_id"] = project_id + __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["scheme"] = scheme __props__.__dict__["uri"] = uri __props__.__dict__["username"] = username @@ -361,6 +400,14 @@ def project_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "project_id") + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + @_builtins.property @pulumi.getter def scheme(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/outputs.py b/sdk/python/pulumi_stackit/outputs.py index ed9174a..6e47958 100644 --- a/sdk/python/pulumi_stackit/outputs.py +++ b/sdk/python/pulumi_stackit/outputs.py @@ -52,6 +52,14 @@ 'CdnDistributionDomain', 'DnsRecordSetTimeouts', 'DnsZoneTimeouts', + 'DremioInstanceAuthentication', + 'DremioInstanceAuthenticationAzuread', + 'DremioInstanceAuthenticationOauth', + 'DremioInstanceAuthenticationOauthJwtClaims', + 'DremioInstanceAuthenticationOauthParameter', + 'DremioInstanceEndpoints', + 'DremioInstanceTimeouts', + 'DremioUserTimeouts', 'ImageChecksum', 'ImageConfig', 'LoadbalancerListener', @@ -121,8 +129,19 @@ 'SqlserverflexInstanceFlavor', 'SqlserverflexInstanceOptions', 'SqlserverflexInstanceStorage', + 'TelemetryrouterDestinationConfig', + 'TelemetryrouterDestinationConfigFilter', + 'TelemetryrouterDestinationConfigFilterAttribute', + 'TelemetryrouterDestinationConfigOpentelemetry', + 'TelemetryrouterDestinationConfigOpentelemetryBasicAuth', + 'TelemetryrouterDestinationConfigS3', + 'TelemetryrouterDestinationConfigS3AccessKey', + 'TelemetryrouterInstanceFilter', + 'TelemetryrouterInstanceFilterAttribute', 'VolumeEncryptionParameters', 'VolumeSource', + 'VpnGatewayAvailabilityZones', + 'VpnGatewayBgp', 'GetApplicationLoadBalancerErrorResult', 'GetApplicationLoadBalancerListenerResult', 'GetApplicationLoadBalancerListenerHttpResult', @@ -158,6 +177,12 @@ 'GetCdnDistributionDomainResult', 'GetDnsRecordSetTimeoutsResult', 'GetDnsZoneTimeoutsResult', + 'GetDremioInstanceAuthenticationResult', + 'GetDremioInstanceAuthenticationAzureadResult', + 'GetDremioInstanceAuthenticationOauthResult', + 'GetDremioInstanceAuthenticationOauthJwtClaimsResult', + 'GetDremioInstanceAuthenticationOauthParameterResult', + 'GetDremioInstanceEndpointsResult', 'GetEdgecloudInstancesInstanceResult', 'GetEdgecloudPlansPlanResult', 'GetImageChecksumResult', @@ -249,7 +274,16 @@ 'GetSqlserverflexInstanceFlavorResult', 'GetSqlserverflexInstanceOptionsResult', 'GetSqlserverflexInstanceStorageResult', + 'GetTelemetryrouterDestinationConfigResult', + 'GetTelemetryrouterDestinationConfigFilterResult', + 'GetTelemetryrouterDestinationConfigFilterAttributeResult', + 'GetTelemetryrouterDestinationConfigOpentelemetryResult', + 'GetTelemetryrouterDestinationConfigS3Result', + 'GetTelemetryrouterInstanceFilterResult', + 'GetTelemetryrouterInstanceFilterAttributeResult', 'GetVolumeSourceResult', + 'GetVpnGatewayAvailabilityZonesResult', + 'GetVpnGatewayBgpResult', ] @pulumi.output_type @@ -2324,6 +2358,469 @@ def update(self) -> Optional[_builtins.str]: return pulumi.get(self, "update") +@pulumi.output_type +class DremioInstanceAuthentication(dict): + def __init__(__self__, *, + type: _builtins.str, + azuread: Optional['outputs.DremioInstanceAuthenticationAzuread'] = None, + oauth: Optional['outputs.DremioInstanceAuthenticationOauth'] = None): + """ + :param _builtins.str type: Type of authentication (local-only, azuread, oauth). + :param 'DremioInstanceAuthenticationAzureadArgs' azuread: Azure Active Directory authentication configuration. + :param 'DremioInstanceAuthenticationOauthArgs' oauth: OIDC authentication configuration. + """ + pulumi.set(__self__, "type", type) + if azuread is not None: + pulumi.set(__self__, "azuread", azuread) + if oauth is not None: + pulumi.set(__self__, "oauth", oauth) + + @_builtins.property + @pulumi.getter + def type(self) -> _builtins.str: + """ + Type of authentication (local-only, azuread, oauth). + """ + return pulumi.get(self, "type") + + @_builtins.property + @pulumi.getter + def azuread(self) -> Optional['outputs.DremioInstanceAuthenticationAzuread']: + """ + Azure Active Directory authentication configuration. + """ + return pulumi.get(self, "azuread") + + @_builtins.property + @pulumi.getter + def oauth(self) -> Optional['outputs.DremioInstanceAuthenticationOauth']: + """ + OIDC authentication configuration. + """ + return pulumi.get(self, "oauth") + + +@pulumi.output_type +class DremioInstanceAuthenticationAzuread(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "authorityUrl": + suggest = "authority_url" + elif key == "clientId": + suggest = "client_id" + elif key == "clientSecret": + suggest = "client_secret" + elif key == "redirectUrl": + suggest = "redirect_url" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DremioInstanceAuthenticationAzuread. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DremioInstanceAuthenticationAzuread.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DremioInstanceAuthenticationAzuread.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + authority_url: _builtins.str, + client_id: _builtins.str, + client_secret: _builtins.str, + redirect_url: Optional[_builtins.str] = None): + """ + :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) + if redirect_url is not None: + pulumi.set(__self__, "redirect_url", redirect_url) + + @_builtins.property + @pulumi.getter(name="authorityUrl") + def authority_url(self) -> _builtins.str: + """ + The Azure AD authority URL. + """ + return pulumi.get(self, "authority_url") + + @_builtins.property + @pulumi.getter(name="clientId") + def client_id(self) -> _builtins.str: + """ + The Azure AD client ID. + """ + return pulumi.get(self, "client_id") + + @_builtins.property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> _builtins.str: + """ + The Azure AD client secret. + """ + return pulumi.get(self, "client_secret") + + @_builtins.property + @pulumi.getter(name="redirectUrl") + def redirect_url(self) -> Optional[_builtins.str]: + """ + The Azure AD redirect URL. + """ + return pulumi.get(self, "redirect_url") + + +@pulumi.output_type +class DremioInstanceAuthenticationOauth(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "authorityUrl": + suggest = "authority_url" + elif key == "clientId": + suggest = "client_id" + elif key == "clientSecret": + suggest = "client_secret" + elif key == "jwtClaims": + suggest = "jwt_claims" + elif key == "redirectUrl": + suggest = "redirect_url" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DremioInstanceAuthenticationOauth. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DremioInstanceAuthenticationOauth.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DremioInstanceAuthenticationOauth.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + authority_url: _builtins.str, + client_id: _builtins.str, + client_secret: _builtins.str, + jwt_claims: 'outputs.DremioInstanceAuthenticationOauthJwtClaims', + parameters: Optional[Sequence['outputs.DremioInstanceAuthenticationOauthParameter']] = None, + redirect_url: Optional[_builtins.str] = None, + scope: Optional[_builtins.str] = None): + """ + :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 'DremioInstanceAuthenticationOauthJwtClaimsArgs' jwt_claims: Maps fields from the JWT token to fields Dremio requires. + :param Sequence['DremioInstanceAuthenticationOauthParameterArgs'] 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. + """ + 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) + if parameters is not None: + pulumi.set(__self__, "parameters", parameters) + if redirect_url is not None: + pulumi.set(__self__, "redirect_url", redirect_url) + if scope is not None: + pulumi.set(__self__, "scope", scope) + + @_builtins.property + @pulumi.getter(name="authorityUrl") + def authority_url(self) -> _builtins.str: + """ + The Issuer location URI, where the OIDC provider configuration can be found. + """ + return pulumi.get(self, "authority_url") + + @_builtins.property + @pulumi.getter(name="clientId") + def client_id(self) -> _builtins.str: + """ + The client ID assigned by the Identity Provider. + """ + return pulumi.get(self, "client_id") + + @_builtins.property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> _builtins.str: + """ + The client secret generated by the Identity Provider. + """ + return pulumi.get(self, "client_secret") + + @_builtins.property + @pulumi.getter(name="jwtClaims") + def jwt_claims(self) -> 'outputs.DremioInstanceAuthenticationOauthJwtClaims': + """ + Maps fields from the JWT token to fields Dremio requires. + """ + return pulumi.get(self, "jwt_claims") + + @_builtins.property + @pulumi.getter + def parameters(self) -> Optional[Sequence['outputs.DremioInstanceAuthenticationOauthParameter']]: + """ + Any additional parameters the Identity Provider requires. + """ + return pulumi.get(self, "parameters") + + @_builtins.property + @pulumi.getter(name="redirectUrl") + def redirect_url(self) -> Optional[_builtins.str]: + """ + The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. + """ + return pulumi.get(self, "redirect_url") + + @_builtins.property + @pulumi.getter + def scope(self) -> Optional[_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") + + +@pulumi.output_type +class DremioInstanceAuthenticationOauthJwtClaims(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "userName": + suggest = "user_name" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DremioInstanceAuthenticationOauthJwtClaims. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DremioInstanceAuthenticationOauthJwtClaims.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DremioInstanceAuthenticationOauthJwtClaims.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + user_name: _builtins.str): + """ + :param _builtins.str user_name: Mapped user name claim (e.g. email). + """ + pulumi.set(__self__, "user_name", user_name) + + @_builtins.property + @pulumi.getter(name="userName") + def user_name(self) -> _builtins.str: + """ + Mapped user name claim (e.g. email). + """ + return pulumi.get(self, "user_name") + + +@pulumi.output_type +class DremioInstanceAuthenticationOauthParameter(dict): + def __init__(__self__, *, + name: _builtins.str, + value: _builtins.str): + """ + :param _builtins.str name: Parameter name. + :param _builtins.str value: Parameter value. + """ + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + Parameter name. + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter + def value(self) -> _builtins.str: + """ + Parameter value. + """ + return pulumi.get(self, "value") + + +@pulumi.output_type +class DremioInstanceEndpoints(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "arrowFlight": + suggest = "arrow_flight" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in DremioInstanceEndpoints. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + DremioInstanceEndpoints.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + DremioInstanceEndpoints.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + arrow_flight: Optional[_builtins.str] = None, + catalog: Optional[_builtins.str] = None, + ui: Optional[_builtins.str] = None): + """ + :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. + """ + if arrow_flight is not None: + pulumi.set(__self__, "arrow_flight", arrow_flight) + if catalog is not None: + pulumi.set(__self__, "catalog", catalog) + if ui is not None: + pulumi.set(__self__, "ui", ui) + + @_builtins.property + @pulumi.getter(name="arrowFlight") + def arrow_flight(self) -> Optional[_builtins.str]: + """ + The arrow flight endpoint of the Dremio instance. + """ + return pulumi.get(self, "arrow_flight") + + @_builtins.property + @pulumi.getter + def catalog(self) -> Optional[_builtins.str]: + """ + The Apache Iceberg endpoint of the Dremio instance. + """ + return pulumi.get(self, "catalog") + + @_builtins.property + @pulumi.getter + def ui(self) -> Optional[_builtins.str]: + """ + The UI endpoint of the Dremio instance. + """ + return pulumi.get(self, "ui") + + +@pulumi.output_type +class DremioInstanceTimeouts(dict): + def __init__(__self__, *, + create: Optional[_builtins.str] = None, + delete: Optional[_builtins.str] = None, + read: Optional[_builtins.str] = None, + update: Optional[_builtins.str] = None): + """ + :param _builtins.str create: 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 delete: 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + :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). Read operations occur during any refresh or planning operation when refresh is enabled. + :param _builtins.str update: 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). + """ + if create is not None: + pulumi.set(__self__, "create", create) + if delete is not None: + pulumi.set(__self__, "delete", delete) + if read is not None: + pulumi.set(__self__, "read", read) + if update is not None: + pulumi.set(__self__, "update", update) + + @_builtins.property + @pulumi.getter + def create(self) -> Optional[_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). + """ + return pulumi.get(self, "create") + + @_builtins.property + @pulumi.getter + def delete(self) -> Optional[_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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + return pulumi.get(self, "delete") + + @_builtins.property + @pulumi.getter + def read(self) -> Optional[_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). Read operations occur during any refresh or planning operation when refresh is enabled. + """ + return pulumi.get(self, "read") + + @_builtins.property + @pulumi.getter + def update(self) -> Optional[_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). + """ + return pulumi.get(self, "update") + + +@pulumi.output_type +class DremioUserTimeouts(dict): + def __init__(__self__, *, + create: Optional[_builtins.str] = None, + delete: Optional[_builtins.str] = None, + read: Optional[_builtins.str] = None, + update: Optional[_builtins.str] = None): + """ + :param _builtins.str create: 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 delete: 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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + :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). Read operations occur during any refresh or planning operation when refresh is enabled. + :param _builtins.str update: 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). + """ + if create is not None: + pulumi.set(__self__, "create", create) + if delete is not None: + pulumi.set(__self__, "delete", delete) + if read is not None: + pulumi.set(__self__, "read", read) + if update is not None: + pulumi.set(__self__, "update", update) + + @_builtins.property + @pulumi.getter + def create(self) -> Optional[_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). + """ + return pulumi.get(self, "create") + + @_builtins.property + @pulumi.getter + def delete(self) -> Optional[_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). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. + """ + return pulumi.get(self, "delete") + + @_builtins.property + @pulumi.getter + def read(self) -> Optional[_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). Read operations occur during any refresh or planning operation when refresh is enabled. + """ + return pulumi.get(self, "read") + + @_builtins.property + @pulumi.getter + def update(self) -> Optional[_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). + """ + return pulumi.get(self, "update") + + @pulumi.output_type class ImageChecksum(dict): def __init__(__self__, *, @@ -3817,12 +4314,26 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, class_: _builtins.str, size: _builtins.int): + """ + :param _builtins.str class_: The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + `bash + stackit mongodbflex options --storages --flavor-id FLAVOR_ID + ` + - `size` (Number) + """ pulumi.set(__self__, "class_", class_) pulumi.set(__self__, "size", size) @_builtins.property @pulumi.getter(name="class") def class_(self) -> _builtins.str: + """ + The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + `bash + stackit mongodbflex options --storages --flavor-id FLAVOR_ID + ` + - `size` (Number) + """ return pulumi.get(self, "class_") @_builtins.property @@ -5430,12 +5941,26 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, class_: _builtins.str, size: _builtins.int): + """ + :param _builtins.str class_: The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + `bash + stackit postgresflex options --storages --flavor-id FLAVOR_ID + ` + - `size` (Number) + """ pulumi.set(__self__, "class_", class_) pulumi.set(__self__, "size", size) @_builtins.property @pulumi.getter(name="class") def class_(self) -> _builtins.str: + """ + The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + `bash + stackit postgresflex options --storages --flavor-id FLAVOR_ID + ` + - `size` (Number) + """ return pulumi.get(self, "class_") @_builtins.property @@ -7353,20 +7878,420 @@ def get(self, key: str, default = None) -> Any: def __init__(__self__, *, class_: Optional[_builtins.str] = None, size: Optional[_builtins.int] = None): + """ + :param _builtins.str class_: The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + `bash + stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID + ` + - `size` (Number) + """ if class_ is not None: pulumi.set(__self__, "class_", class_) if size is not None: pulumi.set(__self__, "size", size) @_builtins.property - @pulumi.getter(name="class") - def class_(self) -> Optional[_builtins.str]: - return pulumi.get(self, "class_") + @pulumi.getter(name="class") + def class_(self) -> Optional[_builtins.str]: + """ + The storage class. You can list available storage classes using the [STACKIT CLI](https://github.com/stackitcloud/stackit-cli): + `bash + stackit beta sqlserverflex options --storages --flavor-id FLAVOR_ID + ` + - `size` (Number) + """ + return pulumi.get(self, "class_") + + @_builtins.property + @pulumi.getter + def size(self) -> Optional[_builtins.int]: + return pulumi.get(self, "size") + + +@pulumi.output_type +class TelemetryrouterDestinationConfig(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "configType": + suggest = "config_type" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TelemetryrouterDestinationConfig. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TelemetryrouterDestinationConfig.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TelemetryrouterDestinationConfig.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + config_type: _builtins.str, + filter: Optional['outputs.TelemetryrouterDestinationConfigFilter'] = None, + opentelemetry: Optional['outputs.TelemetryrouterDestinationConfigOpentelemetry'] = None, + s3: Optional['outputs.TelemetryrouterDestinationConfigS3'] = None): + """ + :param _builtins.str config_type: The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. + :param 'TelemetryrouterDestinationConfigFilterArgs' filter: The TelemetryRouter destination's filter settings + :param 'TelemetryrouterDestinationConfigOpentelemetryArgs' opentelemetry: OpenTelemetry configuration + :param 'TelemetryrouterDestinationConfigS3Args' s3: S3 configuration + """ + pulumi.set(__self__, "config_type", config_type) + if filter is not None: + pulumi.set(__self__, "filter", filter) + if opentelemetry is not None: + pulumi.set(__self__, "opentelemetry", opentelemetry) + if s3 is not None: + pulumi.set(__self__, "s3", s3) + + @_builtins.property + @pulumi.getter(name="configType") + def config_type(self) -> _builtins.str: + """ + The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. + """ + return pulumi.get(self, "config_type") + + @_builtins.property + @pulumi.getter + def filter(self) -> Optional['outputs.TelemetryrouterDestinationConfigFilter']: + """ + The TelemetryRouter destination's filter settings + """ + return pulumi.get(self, "filter") + + @_builtins.property + @pulumi.getter + def opentelemetry(self) -> Optional['outputs.TelemetryrouterDestinationConfigOpentelemetry']: + """ + OpenTelemetry configuration + """ + return pulumi.get(self, "opentelemetry") + + @_builtins.property + @pulumi.getter + def s3(self) -> Optional['outputs.TelemetryrouterDestinationConfigS3']: + """ + S3 configuration + """ + return pulumi.get(self, "s3") + + +@pulumi.output_type +class TelemetryrouterDestinationConfigFilter(dict): + def __init__(__self__, *, + attributes: Sequence['outputs.TelemetryrouterDestinationConfigFilterAttribute']): + """ + :param Sequence['TelemetryrouterDestinationConfigFilterAttributeArgs'] attributes: The TelemetryRouter destination's filter attributes + """ + pulumi.set(__self__, "attributes", attributes) + + @_builtins.property + @pulumi.getter + def attributes(self) -> Sequence['outputs.TelemetryrouterDestinationConfigFilterAttribute']: + """ + The TelemetryRouter destination's filter attributes + """ + return pulumi.get(self, "attributes") + + +@pulumi.output_type +class TelemetryrouterDestinationConfigFilterAttribute(dict): + def __init__(__self__, *, + key: _builtins.str, + level: _builtins.str, + matcher: _builtins.str, + values: Sequence[_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 + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "level", level) + pulumi.set(__self__, "matcher", matcher) + pulumi.set(__self__, "values", values) + + @_builtins.property + @pulumi.getter + def key(self) -> _builtins.str: + """ + The TelemetryRouter destination's filter attribute key + """ + return pulumi.get(self, "key") + + @_builtins.property + @pulumi.getter + def level(self) -> _builtins.str: + """ + The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + """ + return pulumi.get(self, "level") + + @_builtins.property + @pulumi.getter + def matcher(self) -> _builtins.str: + """ + The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. + """ + return pulumi.get(self, "matcher") + + @_builtins.property + @pulumi.getter + def values(self) -> Sequence[_builtins.str]: + """ + The TelemetryRouter destination's filter attribute values + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class TelemetryrouterDestinationConfigOpentelemetry(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "basicAuth": + suggest = "basic_auth" + elif key == "bearerToken": + suggest = "bearer_token" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TelemetryrouterDestinationConfigOpentelemetry. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TelemetryrouterDestinationConfigOpentelemetry.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TelemetryrouterDestinationConfigOpentelemetry.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + uri: _builtins.str, + basic_auth: Optional['outputs.TelemetryrouterDestinationConfigOpentelemetryBasicAuth'] = None, + bearer_token: Optional[_builtins.str] = None): + """ + :param _builtins.str uri: OpenTelemetry destination URI + :param 'TelemetryrouterDestinationConfigOpentelemetryBasicAuthArgs' basic_auth: OpenTelemetry basic auth configuration + :param _builtins.str bearer_token: OpenTelemetry bearer token + """ + pulumi.set(__self__, "uri", uri) + if basic_auth is not None: + pulumi.set(__self__, "basic_auth", basic_auth) + if bearer_token is not None: + pulumi.set(__self__, "bearer_token", bearer_token) + + @_builtins.property + @pulumi.getter + def uri(self) -> _builtins.str: + """ + OpenTelemetry destination URI + """ + return pulumi.get(self, "uri") + + @_builtins.property + @pulumi.getter(name="basicAuth") + def basic_auth(self) -> Optional['outputs.TelemetryrouterDestinationConfigOpentelemetryBasicAuth']: + """ + OpenTelemetry basic auth configuration + """ + return pulumi.get(self, "basic_auth") + + @_builtins.property + @pulumi.getter(name="bearerToken") + def bearer_token(self) -> Optional[_builtins.str]: + """ + OpenTelemetry bearer token + """ + return pulumi.get(self, "bearer_token") + + +@pulumi.output_type +class TelemetryrouterDestinationConfigOpentelemetryBasicAuth(dict): + def __init__(__self__, *, + password: _builtins.str, + username: _builtins.str): + """ + :param _builtins.str password: OpenTelemetry basic auth username + :param _builtins.str username: OpenTelemetry basic auth username + """ + pulumi.set(__self__, "password", password) + pulumi.set(__self__, "username", username) + + @_builtins.property + @pulumi.getter + def password(self) -> _builtins.str: + """ + OpenTelemetry basic auth username + """ + return pulumi.get(self, "password") + + @_builtins.property + @pulumi.getter + def username(self) -> _builtins.str: + """ + OpenTelemetry basic auth username + """ + return pulumi.get(self, "username") + + +@pulumi.output_type +class TelemetryrouterDestinationConfigS3(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "accessKey": + suggest = "access_key" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in TelemetryrouterDestinationConfigS3. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + TelemetryrouterDestinationConfigS3.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + TelemetryrouterDestinationConfigS3.__key_warning(key) + return super().get(key, default) + + def __init__(__self__, *, + bucket: _builtins.str, + endpoint: _builtins.str, + access_key: Optional['outputs.TelemetryrouterDestinationConfigS3AccessKey'] = None): + """ + :param _builtins.str bucket: S3 bucket name + :param _builtins.str endpoint: S3 endpoint + :param 'TelemetryrouterDestinationConfigS3AccessKeyArgs' access_key: S3 access key configuration + """ + pulumi.set(__self__, "bucket", bucket) + pulumi.set(__self__, "endpoint", endpoint) + if access_key is not None: + pulumi.set(__self__, "access_key", access_key) + + @_builtins.property + @pulumi.getter + def bucket(self) -> _builtins.str: + """ + S3 bucket name + """ + return pulumi.get(self, "bucket") + + @_builtins.property + @pulumi.getter + def endpoint(self) -> _builtins.str: + """ + S3 endpoint + """ + return pulumi.get(self, "endpoint") + + @_builtins.property + @pulumi.getter(name="accessKey") + def access_key(self) -> Optional['outputs.TelemetryrouterDestinationConfigS3AccessKey']: + """ + S3 access key configuration + """ + return pulumi.get(self, "access_key") + + +@pulumi.output_type +class TelemetryrouterDestinationConfigS3AccessKey(dict): + def __init__(__self__, *, + id: _builtins.str, + secret: _builtins.str): + """ + :param _builtins.str id: S3 access key ID + :param _builtins.str secret: S3 access key secret + """ + pulumi.set(__self__, "id", id) + pulumi.set(__self__, "secret", secret) + + @_builtins.property + @pulumi.getter + def id(self) -> _builtins.str: + """ + S3 access key ID + """ + return pulumi.get(self, "id") + + @_builtins.property + @pulumi.getter + def secret(self) -> _builtins.str: + """ + S3 access key secret + """ + return pulumi.get(self, "secret") + + +@pulumi.output_type +class TelemetryrouterInstanceFilter(dict): + def __init__(__self__, *, + attributes: Sequence['outputs.TelemetryrouterInstanceFilterAttribute']): + """ + :param Sequence['TelemetryrouterInstanceFilterAttributeArgs'] attributes: The TelemetryRouter global filter attributes + """ + pulumi.set(__self__, "attributes", attributes) + + @_builtins.property + @pulumi.getter + def attributes(self) -> Sequence['outputs.TelemetryrouterInstanceFilterAttribute']: + """ + The TelemetryRouter global filter attributes + """ + return pulumi.get(self, "attributes") + + +@pulumi.output_type +class TelemetryrouterInstanceFilterAttribute(dict): + def __init__(__self__, *, + key: _builtins.str, + level: _builtins.str, + matcher: _builtins.str, + values: 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 + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "level", level) + pulumi.set(__self__, "matcher", matcher) + pulumi.set(__self__, "values", values) + + @_builtins.property + @pulumi.getter + def key(self) -> _builtins.str: + """ + The TelemetryRouter global filter attribute key + """ + return pulumi.get(self, "key") + + @_builtins.property + @pulumi.getter + def level(self) -> _builtins.str: + """ + The TelemetryRouter global filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + """ + return pulumi.get(self, "level") @_builtins.property @pulumi.getter - def size(self) -> Optional[_builtins.int]: - return pulumi.get(self, "size") + def matcher(self) -> _builtins.str: + """ + The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. + """ + return pulumi.get(self, "matcher") + + @_builtins.property + @pulumi.getter + def values(self) -> Sequence[_builtins.str]: + """ + The TelemetryRouter global filter attributes + """ + return pulumi.get(self, "values") @pulumi.output_type @@ -7516,6 +8441,84 @@ def type(self) -> _builtins.str: return pulumi.get(self, "type") +@pulumi.output_type +class VpnGatewayAvailabilityZones(dict): + def __init__(__self__, *, + tunnel1: _builtins.str, + tunnel2: _builtins.str): + """ + :param _builtins.str tunnel1: Availability zone for tunnel 1. + :param _builtins.str tunnel2: Availability zone for tunnel 2. + """ + pulumi.set(__self__, "tunnel1", tunnel1) + pulumi.set(__self__, "tunnel2", tunnel2) + + @_builtins.property + @pulumi.getter + def tunnel1(self) -> _builtins.str: + """ + Availability zone for tunnel 1. + """ + return pulumi.get(self, "tunnel1") + + @_builtins.property + @pulumi.getter + def tunnel2(self) -> _builtins.str: + """ + Availability zone for tunnel 2. + """ + return pulumi.get(self, "tunnel2") + + +@pulumi.output_type +class VpnGatewayBgp(dict): + @staticmethod + def __key_warning(key: str): + suggest = None + if key == "localAsn": + suggest = "local_asn" + elif key == "overrideAdvertisedRoutes": + suggest = "override_advertised_routes" + + if suggest: + pulumi.log.warn(f"Key '{key}' not found in VpnGatewayBgp. Access the value via the '{suggest}' property getter instead.") + + def __getitem__(self, key: str) -> Any: + VpnGatewayBgp.__key_warning(key) + return super().__getitem__(key) + + def get(self, key: str, default = None) -> Any: + VpnGatewayBgp.__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: + """ + Local ASN for BGP (private ASN range, 64512-4294967294). + """ + return pulumi.get(self, "local_asn") + + @_builtins.property + @pulumi.getter(name="overrideAdvertisedRoutes") + def override_advertised_routes(self) -> Optional[Sequence[_builtins.str]]: + """ + List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. + """ + return pulumi.get(self, "override_advertised_routes") + + @pulumi.output_type class GetApplicationLoadBalancerErrorResult(dict): def __init__(__self__, *, @@ -8780,144 +9783,406 @@ def enabled_rule_ids(self) -> Sequence[_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 """ - return pulumi.get(self, "enabled_rule_ids") + return pulumi.get(self, "enabled_rule_ids") + + @_builtins.property + @pulumi.getter(name="logOnlyRuleCollectionIds") + def log_only_rule_collection_ids(self) -> Sequence[_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 + """ + return pulumi.get(self, "log_only_rule_collection_ids") + + @_builtins.property + @pulumi.getter(name="logOnlyRuleGroupIds") + def log_only_rule_group_ids(self) -> Sequence[_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 + """ + return pulumi.get(self, "log_only_rule_group_ids") + + @_builtins.property + @pulumi.getter(name="logOnlyRuleIds") + def log_only_rule_ids(self) -> Sequence[_builtins.str]: + """ + 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 + """ + return pulumi.get(self, "log_only_rule_ids") + + @_builtins.property + @pulumi.getter + def mode(self) -> _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'. + """ + 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 type(self) -> _builtins.str: + """ + The tier of the WAF. Valid values are 'FREE' or 'PREMIUM'. Defaults to 'FREE'. + """ + return pulumi.get(self, "type") + + +@pulumi.output_type +class GetCdnDistributionDomainResult(dict): + def __init__(__self__, *, + errors: Sequence[_builtins.str], + name: _builtins.str, + status: _builtins.str, + type: _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 + """ + pulumi.set(__self__, "errors", errors) + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "status", status) + pulumi.set(__self__, "type", type) + + @_builtins.property + @pulumi.getter + def errors(self) -> Sequence[_builtins.str]: + """ + List of domain errors + """ + return pulumi.get(self, "errors") + + @_builtins.property + @pulumi.getter + def name(self) -> _builtins.str: + """ + The name of the domain + """ + return pulumi.get(self, "name") + + @_builtins.property + @pulumi.getter + def status(self) -> _builtins.str: + """ + The status of the domain + """ + return pulumi.get(self, "status") + + @_builtins.property + @pulumi.getter + def type(self) -> _builtins.str: + """ + 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, "type") + + +@pulumi.output_type +class GetDnsRecordSetTimeoutsResult(dict): + def __init__(__self__, *, + read: Optional[_builtins.str] = None): + """ + :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). + """ + if read is not None: + pulumi.set(__self__, "read", read) + + @_builtins.property + @pulumi.getter + def read(self) -> Optional[_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). + """ + return pulumi.get(self, "read") + + +@pulumi.output_type +class GetDnsZoneTimeoutsResult(dict): + def __init__(__self__, *, + read: Optional[_builtins.str] = None): + """ + :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). + """ + if read is not None: + pulumi.set(__self__, "read", read) + + @_builtins.property + @pulumi.getter + def read(self) -> Optional[_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). + """ + return pulumi.get(self, "read") + + +@pulumi.output_type +class GetDremioInstanceAuthenticationResult(dict): + def __init__(__self__, *, + azuread: 'outputs.GetDremioInstanceAuthenticationAzureadResult', + oauth: 'outputs.GetDremioInstanceAuthenticationOauthResult', + type: _builtins.str): + """ + :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). + """ + pulumi.set(__self__, "azuread", azuread) + pulumi.set(__self__, "oauth", oauth) + pulumi.set(__self__, "type", type) + + @_builtins.property + @pulumi.getter + def azuread(self) -> 'outputs.GetDremioInstanceAuthenticationAzureadResult': + """ + Azure Active Directory authentication configuration. + """ + return pulumi.get(self, "azuread") + + @_builtins.property + @pulumi.getter + def oauth(self) -> 'outputs.GetDremioInstanceAuthenticationOauthResult': + """ + OIDC authentication configuration. + """ + return pulumi.get(self, "oauth") + + @_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: + """ + The Azure AD authority URL. + """ + return pulumi.get(self, "authority_url") + + @_builtins.property + @pulumi.getter(name="clientId") + def client_id(self) -> _builtins.str: + """ + The Azure AD client ID. + """ + return pulumi.get(self, "client_id") + + @_builtins.property + @pulumi.getter(name="clientSecret") + def client_secret(self) -> _builtins.str: + """ + The Azure AD client secret. + """ + return pulumi.get(self, "client_secret") + + @_builtins.property + @pulumi.getter(name="redirectUrl") + def redirect_url(self) -> _builtins.str: + """ + The Azure AD redirect URL. + """ + return pulumi.get(self, "redirect_url") + + +@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): + """ + :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. + """ + 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="authorityUrl") + def authority_url(self) -> _builtins.str: + """ + The Issuer location URI, where the OIDC provider configuration can be found. + """ + return pulumi.get(self, "authority_url") @_builtins.property - @pulumi.getter(name="logOnlyRuleCollectionIds") - def log_only_rule_collection_ids(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="clientId") + def client_id(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 + The client ID assigned by the Identity Provider. """ - return pulumi.get(self, "log_only_rule_collection_ids") + return pulumi.get(self, "client_id") @_builtins.property - @pulumi.getter(name="logOnlyRuleGroupIds") - def log_only_rule_group_ids(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="clientSecret") + def client_secret(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 + The client secret generated by the Identity Provider. """ - return pulumi.get(self, "log_only_rule_group_ids") + return pulumi.get(self, "client_secret") @_builtins.property - @pulumi.getter(name="logOnlyRuleIds") - def log_only_rule_ids(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="jwtClaims") + def jwt_claims(self) -> 'outputs.GetDremioInstanceAuthenticationOauthJwtClaimsResult': """ - 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 + Maps fields from the JWT token to fields Dremio requires. """ - return pulumi.get(self, "log_only_rule_ids") + return pulumi.get(self, "jwt_claims") @_builtins.property @pulumi.getter - def mode(self) -> _builtins.str: + def parameters(self) -> Sequence['outputs.GetDremioInstanceAuthenticationOauthParameterResult']: """ - 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'. + Any additional parameters the Identity Provider requires. """ - return pulumi.get(self, "mode") + return pulumi.get(self, "parameters") @_builtins.property - @pulumi.getter(name="paranoiaLevel") - def paranoia_level(self) -> _builtins.str: + @pulumi.getter(name="redirectUrl") + def redirect_url(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'. + The URL where the Dremio instance is hosted. The URL must match the redirect URL set in the Identity Provider. """ - return pulumi.get(self, "paranoia_level") + return pulumi.get(self, "redirect_url") @_builtins.property @pulumi.getter - def type(self) -> _builtins.str: + def scope(self) -> _builtins.str: """ - The tier of the WAF. Valid values are 'FREE' or 'PREMIUM'. Defaults to 'FREE'. + A list of space-separated scopes. The `openid` scope is always required; other scopes can vary by provider. """ - return pulumi.get(self, "type") + return pulumi.get(self, "scope") @pulumi.output_type -class GetCdnDistributionDomainResult(dict): +class GetDremioInstanceAuthenticationOauthJwtClaimsResult(dict): def __init__(__self__, *, - errors: Sequence[_builtins.str], - name: _builtins.str, - status: _builtins.str, - type: _builtins.str): + user_name: _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 user_name: Mapped user name claim (e.g. email). """ - pulumi.set(__self__, "errors", errors) - pulumi.set(__self__, "name", name) - pulumi.set(__self__, "status", status) - pulumi.set(__self__, "type", type) + pulumi.set(__self__, "user_name", user_name) @_builtins.property - @pulumi.getter - def errors(self) -> Sequence[_builtins.str]: + @pulumi.getter(name="userName") + def user_name(self) -> _builtins.str: """ - List of domain errors + Mapped user name claim (e.g. email). """ - return pulumi.get(self, "errors") + return pulumi.get(self, "user_name") - @_builtins.property - @pulumi.getter - def name(self) -> _builtins.str: + +@pulumi.output_type +class GetDremioInstanceAuthenticationOauthParameterResult(dict): + def __init__(__self__, *, + name: _builtins.str, + value: _builtins.str): """ - The name of the domain + :param _builtins.str name: Parameter name. + :param _builtins.str value: Parameter value. """ - return pulumi.get(self, "name") + pulumi.set(__self__, "name", name) + pulumi.set(__self__, "value", value) @_builtins.property @pulumi.getter - def status(self) -> _builtins.str: + def name(self) -> _builtins.str: """ - The status of the domain + Parameter name. """ - return pulumi.get(self, "status") + return pulumi.get(self, "name") @_builtins.property @pulumi.getter - def type(self) -> _builtins.str: + def value(self) -> _builtins.str: """ - 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 + Parameter value. """ - return pulumi.get(self, "type") + return pulumi.get(self, "value") @pulumi.output_type -class GetDnsRecordSetTimeoutsResult(dict): +class GetDremioInstanceEndpointsResult(dict): def __init__(__self__, *, - read: Optional[_builtins.str] = None): + arrow_flight: _builtins.str, + catalog: _builtins.str, + ui: _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 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. """ - if read is not None: - pulumi.set(__self__, "read", read) + pulumi.set(__self__, "arrow_flight", arrow_flight) + pulumi.set(__self__, "catalog", catalog) + pulumi.set(__self__, "ui", ui) @_builtins.property - @pulumi.getter - def read(self) -> Optional[_builtins.str]: + @pulumi.getter(name="arrowFlight") + def arrow_flight(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). + The arrow flight endpoint of the Dremio instance. """ - return pulumi.get(self, "read") - + return pulumi.get(self, "arrow_flight") -@pulumi.output_type -class GetDnsZoneTimeoutsResult(dict): - def __init__(__self__, *, - read: Optional[_builtins.str] = None): + @_builtins.property + @pulumi.getter + def catalog(self) -> _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). + The Apache Iceberg endpoint of the Dremio instance. """ - if read is not None: - pulumi.set(__self__, "read", read) + return pulumi.get(self, "catalog") @_builtins.property @pulumi.getter - def read(self) -> Optional[_builtins.str]: + def ui(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). + The UI endpoint of the Dremio instance. """ - return pulumi.get(self, "read") + return pulumi.get(self, "ui") @pulumi.output_type @@ -13835,6 +15100,242 @@ def size(self) -> _builtins.int: return pulumi.get(self, "size") +@pulumi.output_type +class GetTelemetryrouterDestinationConfigResult(dict): + def __init__(__self__, *, + config_type: _builtins.str, + filter: 'outputs.GetTelemetryrouterDestinationConfigFilterResult', + opentelemetry: 'outputs.GetTelemetryrouterDestinationConfigOpentelemetryResult', + s3: 'outputs.GetTelemetryrouterDestinationConfigS3Result'): + """ + :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 + """ + 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="configType") + def config_type(self) -> _builtins.str: + """ + The TelemetryRouter destinations's configuration type, possible values: Possible values are: `OpenTelemetry`, `S3`. + """ + return pulumi.get(self, "config_type") + + @_builtins.property + @pulumi.getter + def filter(self) -> 'outputs.GetTelemetryrouterDestinationConfigFilterResult': + """ + The TelemetryRouter destination's filter settings + """ + return pulumi.get(self, "filter") + + @_builtins.property + @pulumi.getter + def opentelemetry(self) -> 'outputs.GetTelemetryrouterDestinationConfigOpentelemetryResult': + """ + OpenTelemetry configuration + """ + return pulumi.get(self, "opentelemetry") + + @_builtins.property + @pulumi.getter + def s3(self) -> 'outputs.GetTelemetryrouterDestinationConfigS3Result': + """ + S3 configuration + """ + return pulumi.get(self, "s3") + + +@pulumi.output_type +class GetTelemetryrouterDestinationConfigFilterResult(dict): + def __init__(__self__, *, + attributes: Sequence['outputs.GetTelemetryrouterDestinationConfigFilterAttributeResult']): + """ + :param Sequence['GetTelemetryrouterDestinationConfigFilterAttributeArgs'] attributes: The TelemetryRouter destination's filter attributes + """ + pulumi.set(__self__, "attributes", attributes) + + @_builtins.property + @pulumi.getter + def attributes(self) -> Sequence['outputs.GetTelemetryrouterDestinationConfigFilterAttributeResult']: + """ + The TelemetryRouter destination's filter attributes + """ + return pulumi.get(self, "attributes") + + +@pulumi.output_type +class GetTelemetryrouterDestinationConfigFilterAttributeResult(dict): + def __init__(__self__, *, + key: _builtins.str, + level: _builtins.str, + matcher: _builtins.str, + values: Sequence[_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 + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "level", level) + pulumi.set(__self__, "matcher", matcher) + pulumi.set(__self__, "values", values) + + @_builtins.property + @pulumi.getter + def key(self) -> _builtins.str: + """ + The TelemetryRouter destination's filter attribute key + """ + return pulumi.get(self, "key") + + @_builtins.property + @pulumi.getter + def level(self) -> _builtins.str: + """ + The TelemetryRouter destination's filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + """ + return pulumi.get(self, "level") + + @_builtins.property + @pulumi.getter + def matcher(self) -> _builtins.str: + """ + The TelemetryRouter destination's filter attribute matcher, possible values: Possible values are: `=`, `!=`. + """ + return pulumi.get(self, "matcher") + + @_builtins.property + @pulumi.getter + def values(self) -> Sequence[_builtins.str]: + """ + The TelemetryRouter destination's filter attribute values + """ + return pulumi.get(self, "values") + + +@pulumi.output_type +class GetTelemetryrouterDestinationConfigOpentelemetryResult(dict): + def __init__(__self__, *, + uri: _builtins.str): + """ + :param _builtins.str uri: OpenTelemetry destination URI + """ + pulumi.set(__self__, "uri", uri) + + @_builtins.property + @pulumi.getter + def uri(self) -> _builtins.str: + """ + OpenTelemetry destination URI + """ + return pulumi.get(self, "uri") + + +@pulumi.output_type +class GetTelemetryrouterDestinationConfigS3Result(dict): + def __init__(__self__, *, + bucket: _builtins.str, + endpoint: _builtins.str): + """ + :param _builtins.str bucket: S3 bucket name + :param _builtins.str endpoint: S3 endpoint + """ + pulumi.set(__self__, "bucket", bucket) + pulumi.set(__self__, "endpoint", endpoint) + + @_builtins.property + @pulumi.getter + def bucket(self) -> _builtins.str: + """ + S3 bucket name + """ + return pulumi.get(self, "bucket") + + @_builtins.property + @pulumi.getter + def endpoint(self) -> _builtins.str: + """ + S3 endpoint + """ + 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 attributes(self) -> Sequence['outputs.GetTelemetryrouterInstanceFilterAttributeResult']: + """ + The TelemetryRouter global filter attributes + """ + return pulumi.get(self, "attributes") + + +@pulumi.output_type +class GetTelemetryrouterInstanceFilterAttributeResult(dict): + def __init__(__self__, *, + key: _builtins.str, + level: _builtins.str, + matcher: _builtins.str, + values: 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 + """ + pulumi.set(__self__, "key", key) + pulumi.set(__self__, "level", level) + pulumi.set(__self__, "matcher", matcher) + pulumi.set(__self__, "values", values) + + @_builtins.property + @pulumi.getter + def key(self) -> _builtins.str: + """ + The TelemetryRouter global filter attribute key + """ + return pulumi.get(self, "key") + + @_builtins.property + @pulumi.getter + def level(self) -> _builtins.str: + """ + The TelemetryRouter global filter attribute level, possible values: Possible values are: `resource`, `scope`, `logRecord`. + """ + return pulumi.get(self, "level") + + @_builtins.property + @pulumi.getter + def matcher(self) -> _builtins.str: + """ + The TelemetryRouter global filter attribute matcher, possible values: Possible values are: `=`, `!=`. + """ + return pulumi.get(self, "matcher") + + @_builtins.property + @pulumi.getter + def values(self) -> Sequence[_builtins.str]: + """ + The TelemetryRouter global filter attributes + """ + return pulumi.get(self, "values") + + @pulumi.output_type class GetVolumeSourceResult(dict): def __init__(__self__, *, @@ -13864,3 +15365,61 @@ def type(self) -> _builtins.str: return pulumi.get(self, "type") +@pulumi.output_type +class GetVpnGatewayAvailabilityZonesResult(dict): + def __init__(__self__, *, + tunnel1: _builtins.str, + tunnel2: _builtins.str): + """ + :param _builtins.str tunnel1: Availability zone for tunnel 1. + :param _builtins.str tunnel2: Availability zone for tunnel 2. + """ + pulumi.set(__self__, "tunnel1", tunnel1) + pulumi.set(__self__, "tunnel2", tunnel2) + + @_builtins.property + @pulumi.getter + def tunnel1(self) -> _builtins.str: + """ + Availability zone for tunnel 1. + """ + return pulumi.get(self, "tunnel1") + + @_builtins.property + @pulumi.getter + def tunnel2(self) -> _builtins.str: + """ + Availability zone for tunnel 2. + """ + return pulumi.get(self, "tunnel2") + + +@pulumi.output_type +class GetVpnGatewayBgpResult(dict): + def __init__(__self__, *, + local_asn: _builtins.int, + override_advertised_routes: Sequence[_builtins.str]): + """ + :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) + pulumi.set(__self__, "override_advertised_routes", override_advertised_routes) + + @_builtins.property + @pulumi.getter(name="localAsn") + def local_asn(self) -> _builtins.int: + """ + Local ASN for BGP (private ASN range, 64512-4294967294). + """ + return pulumi.get(self, "local_asn") + + @_builtins.property + @pulumi.getter(name="overrideAdvertisedRoutes") + def override_advertised_routes(self) -> Sequence[_builtins.str]: + """ + List of IPv4 CIDRs to advertise via BGP. If omitted, SNA network ranges are advertised. + """ + return pulumi.get(self, "override_advertised_routes") + + diff --git a/sdk/python/pulumi_stackit/postgresflex_user.py b/sdk/python/pulumi_stackit/postgresflex_user.py index aa06d01..f1841b7 100644 --- a/sdk/python/pulumi_stackit/postgresflex_user.py +++ b/sdk/python/pulumi_stackit/postgresflex_user.py @@ -23,7 +23,8 @@ def __init__(__self__, *, project_id: pulumi.Input[_builtins.str], roles: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], username: pulumi.Input[_builtins.str], - region: pulumi.Input[Optional[_builtins.str]] = None): + region: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None): """ The set of arguments for constructing a PostgresflexUser resource. @@ -31,6 +32,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: Database access levels for the user. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ pulumi.set(__self__, "instance_id", instance_id) pulumi.set(__self__, "project_id", project_id) @@ -38,6 +40,8 @@ def __init__(__self__, *, pulumi.set(__self__, "username", username) if region is not None: pulumi.set(__self__, "region", region) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) @_builtins.property @pulumi.getter(name="instanceId") @@ -96,6 +100,18 @@ def region(self) -> pulumi.Input[Optional[_builtins.str]]: def region(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "region", value) + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @pulumi.input_type class _PostgresflexUserState: @@ -107,6 +123,7 @@ def __init__(__self__, *, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, roles: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, uri: pulumi.Input[Optional[_builtins.str]] = None, user_id: pulumi.Input[Optional[_builtins.str]] = None, username: pulumi.Input[Optional[_builtins.str]] = None): @@ -117,6 +134,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: Database access levels for the user. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. :param pulumi.Input[_builtins.str] user_id: User ID. """ if host is not None: @@ -133,6 +151,8 @@ def __init__(__self__, *, pulumi.set(__self__, "region", region) if roles is not None: pulumi.set(__self__, "roles", roles) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) if uri is not None: pulumi.set(__self__, "uri", uri) if user_id is not None: @@ -215,6 +235,18 @@ def roles(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] def roles(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): pulumi.set(self, "roles", value) + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @_builtins.property @pulumi.getter def uri(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -256,6 +288,7 @@ def __init__(__self__, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, roles: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, username: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): """ @@ -270,6 +303,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: Database access levels for the user. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ ... @overload @@ -302,6 +336,7 @@ def _internal_init(__self__, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, roles: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, username: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -322,6 +357,7 @@ def _internal_init(__self__, if roles is None and not opts.urn: raise TypeError("Missing required property 'roles'") __props__.__dict__["roles"] = roles + __props__.__dict__["rotate_when_changed"] = rotate_when_changed if username is None and not opts.urn: raise TypeError("Missing required property 'username'") __props__.__dict__["username"] = username @@ -349,6 +385,7 @@ def get(resource_name: str, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, roles: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, uri: pulumi.Input[Optional[_builtins.str]] = None, user_id: pulumi.Input[Optional[_builtins.str]] = None, username: pulumi.Input[Optional[_builtins.str]] = None) -> 'PostgresflexUser': @@ -363,6 +400,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: Database access levels for the user. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. :param pulumi.Input[_builtins.str] user_id: User ID. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -376,6 +414,7 @@ def get(resource_name: str, __props__.__dict__["project_id"] = project_id __props__.__dict__["region"] = region __props__.__dict__["roles"] = roles + __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["uri"] = uri __props__.__dict__["user_id"] = user_id __props__.__dict__["username"] = username @@ -428,6 +467,14 @@ def roles(self) -> pulumi.Output[Sequence[_builtins.str]]: """ return pulumi.get(self, "roles") + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + @_builtins.property @pulumi.getter def uri(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/provider.py b/sdk/python/pulumi_stackit/provider.py index 078e793..fba0443 100644 --- a/sdk/python/pulumi_stackit/provider.py +++ b/sdk/python/pulumi_stackit/provider.py @@ -26,6 +26,7 @@ def __init__(__self__, *, credentials_path: pulumi.Input[Optional[_builtins.str]] = None, default_region: pulumi.Input[Optional[_builtins.str]] = None, dns_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, + dremio_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, edgecloud_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, enable_beta_resources: pulumi.Input[Optional[_builtins.bool]] = None, experiments: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, @@ -66,8 +67,11 @@ def __init__(__self__, *, sfs_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, ske_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, sqlserverflex_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, + telemetrylink_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, + telemetryrouter_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, token_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, - use_oidc: pulumi.Input[Optional[_builtins.bool]] = None): + use_oidc: pulumi.Input[Optional[_builtins.bool]] = None, + vpn_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None): """ The set of arguments for constructing a Provider resource. @@ -78,9 +82,10 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] credentials_path: Path of JSON from where the credentials are read. Takes precedence over the env var `STACKIT_CREDENTIALS_PATH`. Default value is `~/.stackit/credentials.json`. :param pulumi.Input[_builtins.str] default_region: Region will be used as the default location for regional services. Not all services require a region, some are global :param pulumi.Input[_builtins.str] dns_custom_endpoint: Custom endpoint for the DNS service + :param pulumi.Input[_builtins.str] dremio_custom_endpoint: Custom endpoint for the Dremio service :param pulumi.Input[_builtins.str] edgecloud_custom_endpoint: Custom endpoint for the Edge Cloud service :param pulumi.Input[_builtins.bool] enable_beta_resources: Enable beta resources. Default is false. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] experiments: Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] experiments: Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: dremio, iam, routing-tables, network :param pulumi.Input[_builtins.str] git_custom_endpoint: Custom endpoint for the Git service :param pulumi.Input[_builtins.str] iaas_custom_endpoint: Custom endpoint for the IaaS service :param pulumi.Input[_builtins.str] intake_custom_endpoint: Custom endpoint for the Intake service @@ -118,8 +123,11 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] sfs_custom_endpoint: Custom endpoint for the Stackit Filestorage API :param pulumi.Input[_builtins.str] ske_custom_endpoint: Custom endpoint for the Kubernetes Engine (SKE) service :param pulumi.Input[_builtins.str] sqlserverflex_custom_endpoint: Custom endpoint for the SQL Server Flex service + :param pulumi.Input[_builtins.str] telemetrylink_custom_endpoint: Custom endpoint for the Telemetry Link service + :param pulumi.Input[_builtins.str] telemetryrouter_custom_endpoint: Custom endpoint for the Telemetry Router service :param pulumi.Input[_builtins.str] token_custom_endpoint: Custom endpoint for the token API, which is used to request access tokens when using the key flow :param pulumi.Input[_builtins.bool] use_oidc: Enables OIDC for Authentication. This can also be sourced from the `STACKIT_USE_OIDC` Environment Variable. Defaults to `false`. + :param pulumi.Input[_builtins.str] vpn_custom_endpoint: Custom endpoint for the VPN service """ if alb_certificates_custom_endpoint is not None: pulumi.set(__self__, "alb_certificates_custom_endpoint", alb_certificates_custom_endpoint) @@ -135,6 +143,8 @@ def __init__(__self__, *, pulumi.set(__self__, "default_region", default_region) if dns_custom_endpoint is not None: pulumi.set(__self__, "dns_custom_endpoint", dns_custom_endpoint) + if dremio_custom_endpoint is not None: + pulumi.set(__self__, "dremio_custom_endpoint", dremio_custom_endpoint) if edgecloud_custom_endpoint is not None: pulumi.set(__self__, "edgecloud_custom_endpoint", edgecloud_custom_endpoint) if enable_beta_resources is not None: @@ -221,10 +231,16 @@ def __init__(__self__, *, pulumi.set(__self__, "ske_custom_endpoint", ske_custom_endpoint) if sqlserverflex_custom_endpoint is not None: pulumi.set(__self__, "sqlserverflex_custom_endpoint", sqlserverflex_custom_endpoint) + if telemetrylink_custom_endpoint is not None: + pulumi.set(__self__, "telemetrylink_custom_endpoint", telemetrylink_custom_endpoint) + if telemetryrouter_custom_endpoint is not None: + pulumi.set(__self__, "telemetryrouter_custom_endpoint", telemetryrouter_custom_endpoint) if token_custom_endpoint is not None: pulumi.set(__self__, "token_custom_endpoint", token_custom_endpoint) if use_oidc is not None: pulumi.set(__self__, "use_oidc", use_oidc) + if vpn_custom_endpoint is not None: + pulumi.set(__self__, "vpn_custom_endpoint", vpn_custom_endpoint) @_builtins.property @pulumi.getter(name="albCertificatesCustomEndpoint") @@ -310,6 +326,18 @@ def dns_custom_endpoint(self) -> pulumi.Input[Optional[_builtins.str]]: def dns_custom_endpoint(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "dns_custom_endpoint", value) + @_builtins.property + @pulumi.getter(name="dremioCustomEndpoint") + def dremio_custom_endpoint(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Custom endpoint for the Dremio service + """ + return pulumi.get(self, "dremio_custom_endpoint") + + @dremio_custom_endpoint.setter + def dremio_custom_endpoint(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "dremio_custom_endpoint", value) + @_builtins.property @pulumi.getter(name="edgecloudCustomEndpoint") def edgecloud_custom_endpoint(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -338,7 +366,7 @@ def enable_beta_resources(self, value: pulumi.Input[Optional[_builtins.bool]]): @pulumi.getter def experiments(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]: """ - Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network + Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: dremio, iam, routing-tables, network """ return pulumi.get(self, "experiments") @@ -792,6 +820,30 @@ def sqlserverflex_custom_endpoint(self) -> pulumi.Input[Optional[_builtins.str]] def sqlserverflex_custom_endpoint(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "sqlserverflex_custom_endpoint", value) + @_builtins.property + @pulumi.getter(name="telemetrylinkCustomEndpoint") + def telemetrylink_custom_endpoint(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Custom endpoint for the Telemetry Link service + """ + return pulumi.get(self, "telemetrylink_custom_endpoint") + + @telemetrylink_custom_endpoint.setter + def telemetrylink_custom_endpoint(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "telemetrylink_custom_endpoint", value) + + @_builtins.property + @pulumi.getter(name="telemetryrouterCustomEndpoint") + def telemetryrouter_custom_endpoint(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Custom endpoint for the Telemetry Router service + """ + return pulumi.get(self, "telemetryrouter_custom_endpoint") + + @telemetryrouter_custom_endpoint.setter + def telemetryrouter_custom_endpoint(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "telemetryrouter_custom_endpoint", value) + @_builtins.property @pulumi.getter(name="tokenCustomEndpoint") def token_custom_endpoint(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -816,6 +868,18 @@ def use_oidc(self) -> pulumi.Input[Optional[_builtins.bool]]: def use_oidc(self, value: pulumi.Input[Optional[_builtins.bool]]): pulumi.set(self, "use_oidc", value) + @_builtins.property + @pulumi.getter(name="vpnCustomEndpoint") + def vpn_custom_endpoint(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Custom endpoint for the VPN service + """ + return pulumi.get(self, "vpn_custom_endpoint") + + @vpn_custom_endpoint.setter + def vpn_custom_endpoint(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "vpn_custom_endpoint", value) + @pulumi.type_token("pulumi:providers:stackit") class Provider(pulumi.ProviderResource): @@ -830,6 +894,7 @@ def __init__(__self__, credentials_path: pulumi.Input[Optional[_builtins.str]] = None, default_region: pulumi.Input[Optional[_builtins.str]] = None, dns_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, + dremio_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, edgecloud_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, enable_beta_resources: pulumi.Input[Optional[_builtins.bool]] = None, experiments: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, @@ -870,8 +935,11 @@ def __init__(__self__, sfs_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, ske_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, sqlserverflex_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, + telemetrylink_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, + telemetryrouter_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, token_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, use_oidc: pulumi.Input[Optional[_builtins.bool]] = None, + vpn_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): """ The provider type for the stackit package. By default, resources use package-wide configuration @@ -889,9 +957,10 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] credentials_path: Path of JSON from where the credentials are read. Takes precedence over the env var `STACKIT_CREDENTIALS_PATH`. Default value is `~/.stackit/credentials.json`. :param pulumi.Input[_builtins.str] default_region: Region will be used as the default location for regional services. Not all services require a region, some are global :param pulumi.Input[_builtins.str] dns_custom_endpoint: Custom endpoint for the DNS service + :param pulumi.Input[_builtins.str] dremio_custom_endpoint: Custom endpoint for the Dremio service :param pulumi.Input[_builtins.str] edgecloud_custom_endpoint: Custom endpoint for the Edge Cloud service :param pulumi.Input[_builtins.bool] enable_beta_resources: Enable beta resources. Default is false. - :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] experiments: Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: iam, routing-tables, network + :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] experiments: Enables experiments. These are unstable features without official support. More information can be found in the README. Available Experiments: dremio, iam, routing-tables, network :param pulumi.Input[_builtins.str] git_custom_endpoint: Custom endpoint for the Git service :param pulumi.Input[_builtins.str] iaas_custom_endpoint: Custom endpoint for the IaaS service :param pulumi.Input[_builtins.str] intake_custom_endpoint: Custom endpoint for the Intake service @@ -929,8 +998,11 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] sfs_custom_endpoint: Custom endpoint for the Stackit Filestorage API :param pulumi.Input[_builtins.str] ske_custom_endpoint: Custom endpoint for the Kubernetes Engine (SKE) service :param pulumi.Input[_builtins.str] sqlserverflex_custom_endpoint: Custom endpoint for the SQL Server Flex service + :param pulumi.Input[_builtins.str] telemetrylink_custom_endpoint: Custom endpoint for the Telemetry Link service + :param pulumi.Input[_builtins.str] telemetryrouter_custom_endpoint: Custom endpoint for the Telemetry Router service :param pulumi.Input[_builtins.str] token_custom_endpoint: Custom endpoint for the token API, which is used to request access tokens when using the key flow :param pulumi.Input[_builtins.bool] use_oidc: Enables OIDC for Authentication. This can also be sourced from the `STACKIT_USE_OIDC` Environment Variable. Defaults to `false`. + :param pulumi.Input[_builtins.str] vpn_custom_endpoint: Custom endpoint for the VPN service """ ... @overload @@ -967,6 +1039,7 @@ def _internal_init(__self__, credentials_path: pulumi.Input[Optional[_builtins.str]] = None, default_region: pulumi.Input[Optional[_builtins.str]] = None, dns_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, + dremio_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, edgecloud_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, enable_beta_resources: pulumi.Input[Optional[_builtins.bool]] = None, experiments: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, @@ -1007,8 +1080,11 @@ def _internal_init(__self__, sfs_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, ske_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, sqlserverflex_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, + telemetrylink_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, + telemetryrouter_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, token_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, use_oidc: pulumi.Input[Optional[_builtins.bool]] = None, + vpn_custom_endpoint: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -1025,6 +1101,7 @@ def _internal_init(__self__, __props__.__dict__["credentials_path"] = credentials_path __props__.__dict__["default_region"] = default_region __props__.__dict__["dns_custom_endpoint"] = dns_custom_endpoint + __props__.__dict__["dremio_custom_endpoint"] = dremio_custom_endpoint __props__.__dict__["edgecloud_custom_endpoint"] = edgecloud_custom_endpoint __props__.__dict__["enable_beta_resources"] = pulumi.Output.from_input(enable_beta_resources).apply(pulumi.runtime.to_json) if enable_beta_resources is not None else None __props__.__dict__["experiments"] = pulumi.Output.from_input(experiments).apply(pulumi.runtime.to_json) if experiments is not None else None @@ -1065,8 +1142,11 @@ def _internal_init(__self__, __props__.__dict__["sfs_custom_endpoint"] = sfs_custom_endpoint __props__.__dict__["ske_custom_endpoint"] = ske_custom_endpoint __props__.__dict__["sqlserverflex_custom_endpoint"] = sqlserverflex_custom_endpoint + __props__.__dict__["telemetrylink_custom_endpoint"] = telemetrylink_custom_endpoint + __props__.__dict__["telemetryrouter_custom_endpoint"] = telemetryrouter_custom_endpoint __props__.__dict__["token_custom_endpoint"] = token_custom_endpoint __props__.__dict__["use_oidc"] = pulumi.Output.from_input(use_oidc).apply(pulumi.runtime.to_json) if use_oidc is not None else None + __props__.__dict__["vpn_custom_endpoint"] = vpn_custom_endpoint super(Provider, __self__).__init__( 'stackit', resource_name, @@ -1129,6 +1209,14 @@ def dns_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: """ return pulumi.get(self, "dns_custom_endpoint") + @_builtins.property + @pulumi.getter(name="dremioCustomEndpoint") + def dremio_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Custom endpoint for the Dremio service + """ + return pulumi.get(self, "dremio_custom_endpoint") + @_builtins.property @pulumi.getter(name="edgecloudCustomEndpoint") def edgecloud_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: @@ -1435,6 +1523,22 @@ def sqlserverflex_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str] """ return pulumi.get(self, "sqlserverflex_custom_endpoint") + @_builtins.property + @pulumi.getter(name="telemetrylinkCustomEndpoint") + def telemetrylink_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Custom endpoint for the Telemetry Link service + """ + return pulumi.get(self, "telemetrylink_custom_endpoint") + + @_builtins.property + @pulumi.getter(name="telemetryrouterCustomEndpoint") + def telemetryrouter_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Custom endpoint for the Telemetry Router service + """ + return pulumi.get(self, "telemetryrouter_custom_endpoint") + @_builtins.property @pulumi.getter(name="tokenCustomEndpoint") def token_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: @@ -1443,6 +1547,14 @@ def token_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: """ return pulumi.get(self, "token_custom_endpoint") + @_builtins.property + @pulumi.getter(name="vpnCustomEndpoint") + def vpn_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + Custom endpoint for the VPN service + """ + return pulumi.get(self, "vpn_custom_endpoint") + @pulumi.output_type class TerraformConfigResult: def __init__(__self__, result=None): diff --git a/sdk/python/pulumi_stackit/rabbitmq_credential.py b/sdk/python/pulumi_stackit/rabbitmq_credential.py index 7cdb80e..8f1cec1 100644 --- a/sdk/python/pulumi_stackit/rabbitmq_credential.py +++ b/sdk/python/pulumi_stackit/rabbitmq_credential.py @@ -20,15 +20,19 @@ class RabbitmqCredentialArgs: def __init__(__self__, *, instance_id: pulumi.Input[_builtins.str], - project_id: pulumi.Input[_builtins.str]): + project_id: pulumi.Input[_builtins.str], + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None): """ The set of arguments for constructing a RabbitmqCredential resource. :param pulumi.Input[_builtins.str] instance_id: ID of the RabbitMQ instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ pulumi.set(__self__, "instance_id", instance_id) pulumi.set(__self__, "project_id", project_id) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) @_builtins.property @pulumi.getter(name="instanceId") @@ -54,6 +58,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(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @pulumi.input_type class _RabbitmqCredentialState: @@ -68,6 +84,7 @@ def __init__(__self__, *, password: pulumi.Input[Optional[_builtins.str]] = None, port: pulumi.Input[Optional[_builtins.int]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, uri: pulumi.Input[Optional[_builtins.str]] = None, uris: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, username: pulumi.Input[Optional[_builtins.str]] = None): @@ -77,6 +94,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] credential_id: The credential's ID. :param pulumi.Input[_builtins.str] instance_id: ID of the RabbitMQ instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ if credential_id is not None: pulumi.set(__self__, "credential_id", credential_id) @@ -98,6 +116,8 @@ def __init__(__self__, *, pulumi.set(__self__, "port", port) if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) if uri is not None: pulumi.set(__self__, "uri", uri) if uris is not None: @@ -204,6 +224,18 @@ def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: def project_id(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "project_id", value) + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @_builtins.property @pulumi.getter def uri(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -240,6 +272,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, __props__=None): """ RabbitMQ credential resource schema. Must have a `region` specified in the provider configuration. @@ -251,6 +284,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] instance_id: ID of the RabbitMQ instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ ... @overload @@ -281,6 +315,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -296,6 +331,7 @@ def _internal_init(__self__, if project_id is None and not opts.urn: raise TypeError("Missing required property 'project_id'") __props__.__dict__["project_id"] = project_id + __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["credential_id"] = None __props__.__dict__["host"] = None __props__.__dict__["hosts"] = None @@ -329,6 +365,7 @@ def get(resource_name: str, password: pulumi.Input[Optional[_builtins.str]] = None, port: pulumi.Input[Optional[_builtins.int]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, uri: pulumi.Input[Optional[_builtins.str]] = None, uris: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, username: pulumi.Input[Optional[_builtins.str]] = None) -> 'RabbitmqCredential': @@ -342,6 +379,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] credential_id: The credential's ID. :param pulumi.Input[_builtins.str] instance_id: ID of the RabbitMQ instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -357,6 +395,7 @@ def get(resource_name: str, __props__.__dict__["password"] = password __props__.__dict__["port"] = port __props__.__dict__["project_id"] = project_id + __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["uri"] = uri __props__.__dict__["uris"] = uris __props__.__dict__["username"] = username @@ -421,6 +460,14 @@ def project_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "project_id") + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + @_builtins.property @pulumi.getter def uri(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/redis_credential.py b/sdk/python/pulumi_stackit/redis_credential.py index e8c63a5..dd138d4 100644 --- a/sdk/python/pulumi_stackit/redis_credential.py +++ b/sdk/python/pulumi_stackit/redis_credential.py @@ -20,15 +20,19 @@ class RedisCredentialArgs: def __init__(__self__, *, instance_id: pulumi.Input[_builtins.str], - project_id: pulumi.Input[_builtins.str]): + project_id: pulumi.Input[_builtins.str], + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None): """ The set of arguments for constructing a RedisCredential resource. :param pulumi.Input[_builtins.str] instance_id: ID of the Redis instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ pulumi.set(__self__, "instance_id", instance_id) pulumi.set(__self__, "project_id", project_id) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) @_builtins.property @pulumi.getter(name="instanceId") @@ -54,6 +58,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(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @pulumi.input_type class _RedisCredentialState: @@ -66,6 +82,7 @@ def __init__(__self__, *, password: pulumi.Input[Optional[_builtins.str]] = None, port: pulumi.Input[Optional[_builtins.int]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, uri: pulumi.Input[Optional[_builtins.str]] = None, username: pulumi.Input[Optional[_builtins.str]] = None): """ @@ -74,6 +91,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] credential_id: The credential's ID. :param pulumi.Input[_builtins.str] instance_id: ID of the Redis instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. :param pulumi.Input[_builtins.str] uri: Connection URI. """ if credential_id is not None: @@ -92,6 +110,8 @@ def __init__(__self__, *, pulumi.set(__self__, "port", port) if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) if uri is not None: pulumi.set(__self__, "uri", uri) if username is not None: @@ -178,6 +198,18 @@ def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: def project_id(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "project_id", value) + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @_builtins.property @pulumi.getter def uri(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -208,6 +240,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, __props__=None): """ Redis credential resource schema. Must have a `region` specified in the provider configuration. @@ -219,6 +252,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] instance_id: ID of the Redis instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ ... @overload @@ -249,6 +283,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) if not isinstance(opts, pulumi.ResourceOptions): @@ -264,6 +299,7 @@ def _internal_init(__self__, if project_id is None and not opts.urn: raise TypeError("Missing required property 'project_id'") __props__.__dict__["project_id"] = project_id + __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["credential_id"] = None __props__.__dict__["host"] = None __props__.__dict__["hosts"] = None @@ -292,6 +328,7 @@ def get(resource_name: str, password: pulumi.Input[Optional[_builtins.str]] = None, port: pulumi.Input[Optional[_builtins.int]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, uri: pulumi.Input[Optional[_builtins.str]] = None, username: pulumi.Input[Optional[_builtins.str]] = None) -> 'RedisCredential': """ @@ -304,6 +341,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] credential_id: The credential's ID. :param pulumi.Input[_builtins.str] instance_id: ID of the Redis instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. :param pulumi.Input[_builtins.str] uri: Connection URI. """ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) @@ -318,6 +356,7 @@ def get(resource_name: str, __props__.__dict__["password"] = password __props__.__dict__["port"] = port __props__.__dict__["project_id"] = project_id + __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["uri"] = uri __props__.__dict__["username"] = username return RedisCredential(resource_name, opts=opts, __props__=__props__) @@ -371,6 +410,14 @@ def project_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "project_id") + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + @_builtins.property @pulumi.getter def uri(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/secretsmanager_user.py b/sdk/python/pulumi_stackit/secretsmanager_user.py index d90aaa4..0b202d4 100644 --- a/sdk/python/pulumi_stackit/secretsmanager_user.py +++ b/sdk/python/pulumi_stackit/secretsmanager_user.py @@ -22,7 +22,8 @@ def __init__(__self__, *, description: pulumi.Input[_builtins.str], instance_id: pulumi.Input[_builtins.str], project_id: pulumi.Input[_builtins.str], - write_enabled: pulumi.Input[_builtins.bool]): + write_enabled: pulumi.Input[_builtins.bool], + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None): """ The set of arguments for constructing a SecretsmanagerUser resource. @@ -30,11 +31,14 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] instance_id: ID of the Secrets Manager instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. :param pulumi.Input[_builtins.bool] write_enabled: If true, the user has writeaccess to the secrets engine. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ pulumi.set(__self__, "description", description) pulumi.set(__self__, "instance_id", instance_id) pulumi.set(__self__, "project_id", project_id) pulumi.set(__self__, "write_enabled", write_enabled) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) @_builtins.property @pulumi.getter @@ -84,6 +88,18 @@ def write_enabled(self) -> pulumi.Input[_builtins.bool]: def write_enabled(self, value: pulumi.Input[_builtins.bool]): pulumi.set(self, "write_enabled", value) + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @pulumi.input_type class _SecretsmanagerUserState: @@ -92,6 +108,7 @@ def __init__(__self__, *, instance_id: pulumi.Input[Optional[_builtins.str]] = None, password: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, user_id: pulumi.Input[Optional[_builtins.str]] = None, username: pulumi.Input[Optional[_builtins.str]] = None, write_enabled: pulumi.Input[Optional[_builtins.bool]] = None): @@ -102,6 +119,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] instance_id: ID of the Secrets Manager instance. :param pulumi.Input[_builtins.str] password: An auto-generated password. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. :param pulumi.Input[_builtins.str] user_id: The user's ID. :param pulumi.Input[_builtins.str] username: An auto-generated user name. :param pulumi.Input[_builtins.bool] write_enabled: If true, the user has writeaccess to the secrets engine. @@ -114,6 +132,8 @@ def __init__(__self__, *, pulumi.set(__self__, "password", password) if project_id is not None: pulumi.set(__self__, "project_id", project_id) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) if user_id is not None: pulumi.set(__self__, "user_id", user_id) if username is not None: @@ -169,6 +189,18 @@ def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: def project_id(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "project_id", value) + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @_builtins.property @pulumi.getter(name="userId") def user_id(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -215,6 +247,7 @@ def __init__(__self__, description: pulumi.Input[Optional[_builtins.str]] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, write_enabled: pulumi.Input[Optional[_builtins.bool]] = None, __props__=None): """ @@ -228,6 +261,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] description: A user chosen description to differentiate between multiple users. Can't be changed after creation. :param pulumi.Input[_builtins.str] instance_id: ID of the Secrets Manager instance. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. :param pulumi.Input[_builtins.bool] write_enabled: If true, the user has writeaccess to the secrets engine. """ ... @@ -260,6 +294,7 @@ def _internal_init(__self__, description: pulumi.Input[Optional[_builtins.str]] = None, instance_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, write_enabled: pulumi.Input[Optional[_builtins.bool]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -279,6 +314,7 @@ def _internal_init(__self__, if project_id is None and not opts.urn: raise TypeError("Missing required property 'project_id'") __props__.__dict__["project_id"] = project_id + __props__.__dict__["rotate_when_changed"] = rotate_when_changed if write_enabled is None and not opts.urn: raise TypeError("Missing required property 'write_enabled'") __props__.__dict__["write_enabled"] = write_enabled @@ -301,6 +337,7 @@ def get(resource_name: str, instance_id: pulumi.Input[Optional[_builtins.str]] = None, password: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, user_id: pulumi.Input[Optional[_builtins.str]] = None, username: pulumi.Input[Optional[_builtins.str]] = None, write_enabled: pulumi.Input[Optional[_builtins.bool]] = None) -> 'SecretsmanagerUser': @@ -315,6 +352,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] instance_id: ID of the Secrets Manager instance. :param pulumi.Input[_builtins.str] password: An auto-generated password. :param pulumi.Input[_builtins.str] project_id: STACKIT Project ID to which the instance is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. :param pulumi.Input[_builtins.str] user_id: The user's ID. :param pulumi.Input[_builtins.str] username: An auto-generated user name. :param pulumi.Input[_builtins.bool] write_enabled: If true, the user has writeaccess to the secrets engine. @@ -327,6 +365,7 @@ def get(resource_name: str, __props__.__dict__["instance_id"] = instance_id __props__.__dict__["password"] = password __props__.__dict__["project_id"] = project_id + __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["user_id"] = user_id __props__.__dict__["username"] = username __props__.__dict__["write_enabled"] = write_enabled @@ -364,6 +403,14 @@ def project_id(self) -> pulumi.Output[_builtins.str]: """ return pulumi.get(self, "project_id") + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + @_builtins.property @pulumi.getter(name="userId") def user_id(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/service_account.py b/sdk/python/pulumi_stackit/service_account.py index 0adfc4a..ddc44ae 100644 --- a/sdk/python/pulumi_stackit/service_account.py +++ b/sdk/python/pulumi_stackit/service_account.py @@ -139,7 +139,7 @@ def __init__(__self__, project_id: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): """ - Service account resource schema. + Manages a STACKIT service account in a project. ## Example Usage @@ -156,7 +156,7 @@ def __init__(__self__, args: ServiceAccountArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Service account resource schema. + Manages a STACKIT service account in a project. ## Example Usage diff --git a/sdk/python/pulumi_stackit/service_account_federated_identity_provider.py b/sdk/python/pulumi_stackit/service_account_federated_identity_provider.py index e686e7e..928ceb4 100644 --- a/sdk/python/pulumi_stackit/service_account_federated_identity_provider.py +++ b/sdk/python/pulumi_stackit/service_account_federated_identity_provider.py @@ -221,7 +221,7 @@ def __init__(__self__, service_account_email: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): """ - Service account federated identity provider schema. + Manages a federated identity provider for a STACKIT service account to enable workload identity federation. ## Example Usage ### Create a federated identity provider @@ -244,7 +244,7 @@ def __init__(__self__, args: ServiceAccountFederatedIdentityProviderArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Service account federated identity provider schema. + Manages a federated identity provider for a STACKIT service account to enable workload identity federation. ## Example Usage ### Create a federated identity provider diff --git a/sdk/python/pulumi_stackit/service_account_key.py b/sdk/python/pulumi_stackit/service_account_key.py index cf96c6c..2676c7e 100644 --- a/sdk/python/pulumi_stackit/service_account_key.py +++ b/sdk/python/pulumi_stackit/service_account_key.py @@ -237,7 +237,7 @@ def __init__(__self__, ttl_days: pulumi.Input[Optional[_builtins.int]] = None, __props__=None): """ - Service account key schema. + Creates and manages a key for a STACKIT service account. ## Example Usage ### Automatically rotate service account keys @@ -258,7 +258,7 @@ def __init__(__self__, args: ServiceAccountKeyArgs, opts: Optional[pulumi.ResourceOptions] = None): """ - Service account key schema. + Creates and manages a key for a STACKIT service account. ## Example Usage ### Automatically rotate service account keys diff --git a/sdk/python/pulumi_stackit/sfs_export_policy.py b/sdk/python/pulumi_stackit/sfs_export_policy.py index f850836..4cb0abb 100644 --- a/sdk/python/pulumi_stackit/sfs_export_policy.py +++ b/sdk/python/pulumi_stackit/sfs_export_policy.py @@ -22,6 +22,7 @@ class SfsExportPolicyArgs: def __init__(__self__, *, project_id: pulumi.Input[_builtins.str], + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, rules: pulumi.Input[Optional[Sequence[pulumi.Input['SfsExportPolicyRuleArgs']]]] = None): @@ -29,10 +30,13 @@ def __init__(__self__, *, The set of arguments for constructing a SfsExportPolicy resource. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the export policy is associated. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to the resource. :param pulumi.Input[_builtins.str] name: Name of the export policy. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ pulumi.set(__self__, "project_id", project_id) + if labels is not None: + pulumi.set(__self__, "labels", labels) if name is not None: pulumi.set(__self__, "name", name) if region is not None: @@ -52,6 +56,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 labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + Labels are key-value string pairs which can be attached to the resource. + """ + 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 def name(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -89,6 +105,7 @@ def rules(self, value: pulumi.Input[Optional[Sequence[pulumi.Input['SfsExportPol @pulumi.input_type class _SfsExportPolicyState: def __init__(__self__, *, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, policy_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, @@ -97,11 +114,14 @@ def __init__(__self__, *, """ Input properties used for looking up and filtering SfsExportPolicy resources. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to the resource. :param pulumi.Input[_builtins.str] name: Name of the export policy. :param pulumi.Input[_builtins.str] policy_id: Export policy ID :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the export policy is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ + if labels is not None: + pulumi.set(__self__, "labels", labels) if name is not None: pulumi.set(__self__, "name", name) if policy_id is not None: @@ -113,6 +133,18 @@ def __init__(__self__, *, if rules is not None: pulumi.set(__self__, "rules", rules) + @_builtins.property + @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 the resource. + """ + 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 def name(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -177,6 +209,7 @@ class SfsExportPolicy(pulumi.CustomResource): def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, @@ -192,6 +225,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 the resource. :param pulumi.Input[_builtins.str] name: Name of the export policy. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the export policy is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. @@ -225,6 +259,7 @@ def __init__(__self__, resource_name: str, *args, **kwargs): def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, @@ -238,6 +273,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__ = SfsExportPolicyArgs.__new__(SfsExportPolicyArgs) + __props__.__dict__["labels"] = labels __props__.__dict__["name"] = name if project_id is None and not opts.urn: raise TypeError("Missing required property 'project_id'") @@ -255,6 +291,7 @@ def _internal_init(__self__, def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, policy_id: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, @@ -267,6 +304,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[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to the resource. :param pulumi.Input[_builtins.str] name: Name of the export policy. :param pulumi.Input[_builtins.str] policy_id: Export policy ID :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the export policy is associated. @@ -276,6 +314,7 @@ def get(resource_name: str, __props__ = _SfsExportPolicyState.__new__(_SfsExportPolicyState) + __props__.__dict__["labels"] = labels __props__.__dict__["name"] = name __props__.__dict__["policy_id"] = policy_id __props__.__dict__["project_id"] = project_id @@ -283,6 +322,14 @@ def get(resource_name: str, __props__.__dict__["rules"] = rules return SfsExportPolicy(resource_name, opts=opts, __props__=__props__) + @_builtins.property + @pulumi.getter + def labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + Labels are key-value string pairs which can be attached to the resource. + """ + return pulumi.get(self, "labels") + @_builtins.property @pulumi.getter def name(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/sfs_resource_pool.py b/sdk/python/pulumi_stackit/sfs_resource_pool.py index 03896f0..54617f2 100644 --- a/sdk/python/pulumi_stackit/sfs_resource_pool.py +++ b/sdk/python/pulumi_stackit/sfs_resource_pool.py @@ -26,6 +26,7 @@ def __init__(__self__, *, performance_class: pulumi.Input[_builtins.str], project_id: pulumi.Input[_builtins.str], size_gigabytes: pulumi.Input[_builtins.int], + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, snapshot_policy: pulumi.Input[Optional['SfsResourcePoolSnapshotPolicyArgs']] = None, @@ -38,6 +39,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] performance_class: Name of the performance class. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the resource pool is associated. :param pulumi.Input[_builtins.int] size_gigabytes: Size of the resource pool (unit: gigabytes) + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to the resource. :param pulumi.Input[_builtins.str] name: Name of the resource pool. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. :param pulumi.Input['SfsResourcePoolSnapshotPolicyArgs'] snapshot_policy: Name of the snapshot policy. @@ -48,6 +50,8 @@ def __init__(__self__, *, pulumi.set(__self__, "performance_class", performance_class) pulumi.set(__self__, "project_id", project_id) pulumi.set(__self__, "size_gigabytes", size_gigabytes) + if labels is not None: + pulumi.set(__self__, "labels", labels) if name is not None: pulumi.set(__self__, "name", name) if region is not None: @@ -117,6 +121,18 @@ def size_gigabytes(self) -> pulumi.Input[_builtins.int]: def size_gigabytes(self, value: pulumi.Input[_builtins.int]): pulumi.set(self, "size_gigabytes", value) + @_builtins.property + @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 the resource. + """ + 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 def name(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -171,6 +187,7 @@ class _SfsResourcePoolState: def __init__(__self__, *, availability_zone: pulumi.Input[Optional[_builtins.str]] = None, ip_acls: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, performance_class: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, @@ -184,6 +201,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] availability_zone: Availability zone. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_acls: List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to the resource. :param pulumi.Input[_builtins.str] name: Name of the resource pool. :param pulumi.Input[_builtins.str] performance_class: Name of the performance class. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the resource pool is associated. @@ -197,6 +215,8 @@ def __init__(__self__, *, pulumi.set(__self__, "availability_zone", availability_zone) if ip_acls is not None: pulumi.set(__self__, "ip_acls", ip_acls) + if labels is not None: + pulumi.set(__self__, "labels", labels) if name is not None: pulumi.set(__self__, "name", name) if performance_class is not None: @@ -238,6 +258,18 @@ def ip_acls(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]] def ip_acls(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): pulumi.set(self, "ip_acls", value) + @_builtins.property + @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 the resource. + """ + 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 def name(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -343,6 +375,7 @@ def __init__(__self__, opts: Optional[pulumi.ResourceOptions] = None, availability_zone: pulumi.Input[Optional[_builtins.str]] = None, ip_acls: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, performance_class: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, @@ -363,6 +396,7 @@ def __init__(__self__, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] availability_zone: Availability zone. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_acls: List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to the resource. :param pulumi.Input[_builtins.str] name: Name of the resource pool. :param pulumi.Input[_builtins.str] performance_class: Name of the performance class. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the resource pool is associated. @@ -402,6 +436,7 @@ def _internal_init(__self__, opts: Optional[pulumi.ResourceOptions] = None, availability_zone: pulumi.Input[Optional[_builtins.str]] = None, ip_acls: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, performance_class: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, @@ -424,6 +459,7 @@ def _internal_init(__self__, if ip_acls is None and not opts.urn: raise TypeError("Missing required property 'ip_acls'") __props__.__dict__["ip_acls"] = ip_acls + __props__.__dict__["labels"] = labels __props__.__dict__["name"] = name if performance_class is None and not opts.urn: raise TypeError("Missing required property 'performance_class'") @@ -450,6 +486,7 @@ def get(resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, availability_zone: pulumi.Input[Optional[_builtins.str]] = None, ip_acls: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, performance_class: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, @@ -467,6 +504,7 @@ def get(resource_name: str, :param pulumi.ResourceOptions opts: Options for the resource. :param pulumi.Input[_builtins.str] availability_zone: Availability zone. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_acls: List of IPs that can mount the resource pool in read-only; IPs must have a subnet mask (e.g. "172.16.0.0/24" for a range of IPs, or "172.16.0.250/32" for a specific IP). + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to the resource. :param pulumi.Input[_builtins.str] name: Name of the resource pool. :param pulumi.Input[_builtins.str] performance_class: Name of the performance class. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the resource pool is associated. @@ -482,6 +520,7 @@ def get(resource_name: str, __props__.__dict__["availability_zone"] = availability_zone __props__.__dict__["ip_acls"] = ip_acls + __props__.__dict__["labels"] = labels __props__.__dict__["name"] = name __props__.__dict__["performance_class"] = performance_class __props__.__dict__["project_id"] = project_id @@ -508,6 +547,14 @@ def ip_acls(self) -> pulumi.Output[Sequence[_builtins.str]]: """ return pulumi.get(self, "ip_acls") + @_builtins.property + @pulumi.getter + def labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + Labels are key-value string pairs which can be attached to the resource. + """ + return pulumi.get(self, "labels") + @_builtins.property @pulumi.getter def name(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/sfs_share.py b/sdk/python/pulumi_stackit/sfs_share.py index 5d6c43a..462e536 100644 --- a/sdk/python/pulumi_stackit/sfs_share.py +++ b/sdk/python/pulumi_stackit/sfs_share.py @@ -23,6 +23,7 @@ def __init__(__self__, *, resource_pool_id: pulumi.Input[_builtins.str], space_hard_limit_gigabytes: pulumi.Input[_builtins.int], export_policy: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None): """ @@ -37,6 +38,7 @@ def __init__(__self__, *, Note that if this is set to an empty string, the Share can only be mounted in read only by clients with IPs matching the IP ACL of the Resource Pool hosting this Share. You can also assign a Share Export Policy after creating the Share + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to the resource. :param pulumi.Input[_builtins.str] name: Name of the share. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. """ @@ -45,6 +47,8 @@ def __init__(__self__, *, pulumi.set(__self__, "space_hard_limit_gigabytes", space_hard_limit_gigabytes) if export_policy is not None: pulumi.set(__self__, "export_policy", export_policy) + if labels is not None: + pulumi.set(__self__, "labels", labels) if name is not None: pulumi.set(__self__, "name", name) if region is not None: @@ -103,6 +107,18 @@ def export_policy(self) -> pulumi.Input[Optional[_builtins.str]]: def export_policy(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "export_policy", value) + @_builtins.property + @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 the resource. + """ + 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 def name(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -132,6 +148,7 @@ def region(self, value: pulumi.Input[Optional[_builtins.str]]): class _SfsShareState: def __init__(__self__, *, export_policy: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, mount_path: pulumi.Input[Optional[_builtins.str]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, @@ -146,6 +163,7 @@ def __init__(__self__, *, Note that if this is set to an empty string, the Share can only be mounted in read only by clients with IPs matching the IP ACL of the Resource Pool hosting this Share. You can also assign a Share Export Policy after creating the Share + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to the resource. :param pulumi.Input[_builtins.str] mount_path: Mount path of the Share, used to mount the Share :param pulumi.Input[_builtins.str] name: Name of the share. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the share is associated. @@ -158,6 +176,8 @@ def __init__(__self__, *, """ if export_policy is not None: pulumi.set(__self__, "export_policy", export_policy) + if labels is not None: + pulumi.set(__self__, "labels", labels) if mount_path is not None: pulumi.set(__self__, "mount_path", mount_path) if name is not None: @@ -188,6 +208,18 @@ def export_policy(self) -> pulumi.Input[Optional[_builtins.str]]: def export_policy(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "export_policy", value) + @_builtins.property + @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 the resource. + """ + 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="mountPath") def mount_path(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -282,6 +314,7 @@ def __init__(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, export_policy: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, @@ -302,6 +335,7 @@ def __init__(__self__, Note that if this is set to an empty string, the Share can only be mounted in read only by clients with IPs matching the IP ACL of the Resource Pool hosting this Share. You can also assign a Share Export Policy after creating the Share + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to the resource. :param pulumi.Input[_builtins.str] name: Name of the share. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the share is associated. :param pulumi.Input[_builtins.str] region: The resource region. If not defined, the provider region is used. @@ -340,6 +374,7 @@ def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions] = None, export_policy: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, @@ -355,6 +390,7 @@ def _internal_init(__self__, __props__ = SfsShareArgs.__new__(SfsShareArgs) __props__.__dict__["export_policy"] = export_policy + __props__.__dict__["labels"] = labels __props__.__dict__["name"] = name if project_id is None and not opts.urn: raise TypeError("Missing required property 'project_id'") @@ -379,6 +415,7 @@ def get(resource_name: str, id: pulumi.Input[str], opts: Optional[pulumi.ResourceOptions] = None, export_policy: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, mount_path: pulumi.Input[Optional[_builtins.str]] = None, name: pulumi.Input[Optional[_builtins.str]] = None, project_id: pulumi.Input[Optional[_builtins.str]] = None, @@ -397,6 +434,7 @@ def get(resource_name: str, Note that if this is set to an empty string, the Share can only be mounted in read only by clients with IPs matching the IP ACL of the Resource Pool hosting this Share. You can also assign a Share Export Policy after creating the Share + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Labels are key-value string pairs which can be attached to the resource. :param pulumi.Input[_builtins.str] mount_path: Mount path of the Share, used to mount the Share :param pulumi.Input[_builtins.str] name: Name of the share. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the share is associated. @@ -412,6 +450,7 @@ def get(resource_name: str, __props__ = _SfsShareState.__new__(_SfsShareState) __props__.__dict__["export_policy"] = export_policy + __props__.__dict__["labels"] = labels __props__.__dict__["mount_path"] = mount_path __props__.__dict__["name"] = name __props__.__dict__["project_id"] = project_id @@ -432,6 +471,14 @@ def export_policy(self) -> pulumi.Output[Optional[_builtins.str]]: """ return pulumi.get(self, "export_policy") + @_builtins.property + @pulumi.getter + def labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + Labels are key-value string pairs which can be attached to the resource. + """ + return pulumi.get(self, "labels") + @_builtins.property @pulumi.getter(name="mountPath") def mount_path(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/sqlserverflex_user.py b/sdk/python/pulumi_stackit/sqlserverflex_user.py index 7ba749a..dc522ad 100644 --- a/sdk/python/pulumi_stackit/sqlserverflex_user.py +++ b/sdk/python/pulumi_stackit/sqlserverflex_user.py @@ -23,7 +23,8 @@ def __init__(__self__, *, project_id: pulumi.Input[_builtins.str], roles: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]], username: pulumi.Input[_builtins.str], - region: pulumi.Input[Optional[_builtins.str]] = None): + region: pulumi.Input[Optional[_builtins.str]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None): """ The set of arguments for constructing a SqlserverflexUser resource. @@ -31,6 +32,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: Database access levels for the user. The values for the default roles are: `##STACKIT_DatabaseManager##`, `##STACKIT_LoginManager##`, `##STACKIT_ProcessManager##`, `##STACKIT_ServerManager##`, `##STACKIT_SQLAgentManager##`, `##STACKIT_SQLAgentUser##` :param pulumi.Input[_builtins.str] username: Username of the SQLServer Flex instance. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. """ pulumi.set(__self__, "instance_id", instance_id) pulumi.set(__self__, "project_id", project_id) @@ -38,6 +40,8 @@ def __init__(__self__, *, pulumi.set(__self__, "username", username) if region is not None: pulumi.set(__self__, "region", region) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) @_builtins.property @pulumi.getter(name="instanceId") @@ -96,6 +100,18 @@ def region(self) -> pulumi.Input[Optional[_builtins.str]]: def region(self, value: pulumi.Input[Optional[_builtins.str]]): pulumi.set(self, "region", value) + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @pulumi.input_type class _SqlserverflexUserState: @@ -107,6 +123,7 @@ def __init__(__self__, *, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, roles: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, user_id: pulumi.Input[Optional[_builtins.str]] = None, username: pulumi.Input[Optional[_builtins.str]] = None): """ @@ -116,6 +133,7 @@ def __init__(__self__, *, :param pulumi.Input[_builtins.str] password: Password of the user account. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: Database access levels for the user. The values for the default roles are: `##STACKIT_DatabaseManager##`, `##STACKIT_LoginManager##`, `##STACKIT_ProcessManager##`, `##STACKIT_ServerManager##`, `##STACKIT_SQLAgentManager##`, `##STACKIT_SQLAgentUser##` + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. :param pulumi.Input[_builtins.str] user_id: User ID. :param pulumi.Input[_builtins.str] username: Username of the SQLServer Flex instance. """ @@ -133,6 +151,8 @@ def __init__(__self__, *, pulumi.set(__self__, "region", region) if roles is not None: pulumi.set(__self__, "roles", roles) + if rotate_when_changed is not None: + pulumi.set(__self__, "rotate_when_changed", rotate_when_changed) if user_id is not None: pulumi.set(__self__, "user_id", user_id) if username is not None: @@ -213,6 +233,18 @@ def roles(self) -> pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] def roles(self, value: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]]): pulumi.set(self, "roles", value) + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + + @rotate_when_changed.setter + def rotate_when_changed(self, value: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]): + pulumi.set(self, "rotate_when_changed", value) + @_builtins.property @pulumi.getter(name="userId") def user_id(self) -> pulumi.Input[Optional[_builtins.str]]: @@ -248,6 +280,7 @@ def __init__(__self__, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, roles: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, username: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): """ @@ -261,6 +294,7 @@ def __init__(__self__, :param pulumi.Input[_builtins.str] instance_id: ID of the SQLServer Flex instance. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: Database access levels for the user. The values for the default roles are: `##STACKIT_DatabaseManager##`, `##STACKIT_LoginManager##`, `##STACKIT_ProcessManager##`, `##STACKIT_ServerManager##`, `##STACKIT_SQLAgentManager##`, `##STACKIT_SQLAgentUser##` + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. :param pulumi.Input[_builtins.str] username: Username of the SQLServer Flex instance. """ ... @@ -294,6 +328,7 @@ def _internal_init(__self__, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, roles: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, username: pulumi.Input[Optional[_builtins.str]] = None, __props__=None): opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) @@ -314,6 +349,7 @@ def _internal_init(__self__, if roles is None and not opts.urn: raise TypeError("Missing required property 'roles'") __props__.__dict__["roles"] = roles + __props__.__dict__["rotate_when_changed"] = rotate_when_changed if username is None and not opts.urn: raise TypeError("Missing required property 'username'") __props__.__dict__["username"] = username @@ -340,6 +376,7 @@ def get(resource_name: str, project_id: pulumi.Input[Optional[_builtins.str]] = None, region: pulumi.Input[Optional[_builtins.str]] = None, roles: pulumi.Input[Optional[Sequence[pulumi.Input[_builtins.str]]]] = None, + rotate_when_changed: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, user_id: pulumi.Input[Optional[_builtins.str]] = None, username: pulumi.Input[Optional[_builtins.str]] = None) -> 'SqlserverflexUser': """ @@ -353,6 +390,7 @@ def get(resource_name: str, :param pulumi.Input[_builtins.str] password: Password of the user account. :param pulumi.Input[_builtins.str] project_id: STACKIT project ID to which the instance is associated. :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: Database access levels for the user. The values for the default roles are: `##STACKIT_DatabaseManager##`, `##STACKIT_LoginManager##`, `##STACKIT_ProcessManager##`, `##STACKIT_ServerManager##`, `##STACKIT_SQLAgentManager##`, `##STACKIT_SQLAgentUser##` + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] rotate_when_changed: A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. :param pulumi.Input[_builtins.str] user_id: User ID. :param pulumi.Input[_builtins.str] username: Username of the SQLServer Flex instance. """ @@ -367,6 +405,7 @@ def get(resource_name: str, __props__.__dict__["project_id"] = project_id __props__.__dict__["region"] = region __props__.__dict__["roles"] = roles + __props__.__dict__["rotate_when_changed"] = rotate_when_changed __props__.__dict__["user_id"] = user_id __props__.__dict__["username"] = username return SqlserverflexUser(resource_name, opts=opts, __props__=__props__) @@ -418,6 +457,14 @@ def roles(self) -> pulumi.Output[Sequence[_builtins.str]]: """ return pulumi.get(self, "roles") + @_builtins.property + @pulumi.getter(name="rotateWhenChanged") + def rotate_when_changed(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]: + """ + A map of arbitrary key/value pairs that will force recreation of the resource when they change, enabling resource rotation based on external conditions such as a rotating timestamp. Changing this forces a new resource to be created. + """ + return pulumi.get(self, "rotate_when_changed") + @_builtins.property @pulumi.getter(name="userId") def user_id(self) -> pulumi.Output[_builtins.str]: diff --git a/sdk/python/pulumi_stackit/telemetrylink.py b/sdk/python/pulumi_stackit/telemetrylink.py new file mode 100644 index 0000000..68b058e --- /dev/null +++ b/sdk/python/pulumi_stackit/telemetrylink.py @@ -0,0 +1,503 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities + +__all__ = ['TelemetrylinkArgs', 'Telemetrylink'] + +@pulumi.input_type +class TelemetrylinkArgs: + def __init__(__self__, *, + display_name: pulumi.Input[_builtins.str], + resource_id: pulumi.Input[_builtins.str], + resource_type: pulumi.Input[_builtins.str], + telemetry_router_id: pulumi.Input[_builtins.str], + access_token: pulumi.Input[Optional[_builtins.str]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None): + """ + The set of arguments for constructing a Telemetrylink resource. + + :param pulumi.Input[_builtins.str] display_name: The displayed name of the Telemetry Link resource. + :param pulumi.Input[_builtins.str] resource_id: STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + :param pulumi.Input[_builtins.str] resource_type: The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + :param pulumi.Input[_builtins.str] telemetry_router_id: The Telemetry Router ID. + :param pulumi.Input[_builtins.str] access_token: The access token of the Telemetry Router instance. + :param pulumi.Input[_builtins.str] description: The description of the Telemetry Link resource. + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "resource_id", resource_id) + pulumi.set(__self__, "resource_type", resource_type) + pulumi.set(__self__, "telemetry_router_id", telemetry_router_id) + if access_token is not None: + pulumi.set(__self__, "access_token", access_token) + if description is not None: + pulumi.set(__self__, "description", description) + if region is not None: + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[_builtins.str]: + """ + The displayed name of the Telemetry Link resource. + """ + 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="resourceId") + def resource_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + """ + return pulumi.get(self, "resource_id") + + @resource_id.setter + def resource_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "resource_id", value) + + @_builtins.property + @pulumi.getter(name="resourceType") + def resource_type(self) -> pulumi.Input[_builtins.str]: + """ + The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + """ + return pulumi.get(self, "resource_type") + + @resource_type.setter + def resource_type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "resource_type", value) + + @_builtins.property + @pulumi.getter(name="telemetryRouterId") + def telemetry_router_id(self) -> pulumi.Input[_builtins.str]: + """ + The Telemetry Router ID. + """ + return pulumi.get(self, "telemetry_router_id") + + @telemetry_router_id.setter + def telemetry_router_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "telemetry_router_id", value) + + @_builtins.property + @pulumi.getter(name="accessToken") + def access_token(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The access token of the Telemetry Router instance. + """ + return pulumi.get(self, "access_token") + + @access_token.setter + def access_token(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "access_token", value) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The description of the Telemetry Link resource. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + +@pulumi.input_type +class _TelemetrylinkState: + def __init__(__self__, *, + access_token: pulumi.Input[Optional[_builtins.str]] = None, + create_time: pulumi.Input[Optional[_builtins.str]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + resource_id: pulumi.Input[Optional[_builtins.str]] = None, + resource_type: pulumi.Input[Optional[_builtins.str]] = None, + status: pulumi.Input[Optional[_builtins.str]] = None, + telemetry_router_id: pulumi.Input[Optional[_builtins.str]] = None): + """ + Input properties used for looking up and filtering Telemetrylink resources. + + :param pulumi.Input[_builtins.str] access_token: The access token of the Telemetry Router instance. + :param pulumi.Input[_builtins.str] create_time: The time the Telemetry Link was created. + :param pulumi.Input[_builtins.str] description: The description of the Telemetry Link resource. + :param pulumi.Input[_builtins.str] display_name: The displayed name of the Telemetry Link resource. + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] resource_id: STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + :param pulumi.Input[_builtins.str] resource_type: The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + :param pulumi.Input[_builtins.str] status: The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. + :param pulumi.Input[_builtins.str] telemetry_router_id: The Telemetry Router ID. + """ + if access_token is not None: + pulumi.set(__self__, "access_token", access_token) + if create_time is not None: + pulumi.set(__self__, "create_time", create_time) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if region is not None: + pulumi.set(__self__, "region", region) + if resource_id is not None: + pulumi.set(__self__, "resource_id", resource_id) + if resource_type is not None: + pulumi.set(__self__, "resource_type", resource_type) + if status is not None: + pulumi.set(__self__, "status", status) + if telemetry_router_id is not None: + pulumi.set(__self__, "telemetry_router_id", telemetry_router_id) + + @_builtins.property + @pulumi.getter(name="accessToken") + def access_token(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The access token of the Telemetry Router instance. + """ + return pulumi.get(self, "access_token") + + @access_token.setter + def access_token(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "access_token", value) + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The time the Telemetry Link was created. + """ + 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 + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The description of the Telemetry Link resource. + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The displayed name of the Telemetry Link resource. + """ + 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 region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter(name="resourceId") + def resource_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + """ + return pulumi.get(self, "resource_id") + + @resource_id.setter + def resource_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "resource_id", value) + + @_builtins.property + @pulumi.getter(name="resourceType") + def resource_type(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + """ + return pulumi.get(self, "resource_type") + + @resource_type.setter + def resource_type(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "resource_type", value) + + @_builtins.property + @pulumi.getter + def status(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "status", value) + + @_builtins.property + @pulumi.getter(name="telemetryRouterId") + def telemetry_router_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The Telemetry Router ID. + """ + return pulumi.get(self, "telemetry_router_id") + + @telemetry_router_id.setter + def telemetry_router_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "telemetry_router_id", value) + + +@pulumi.type_token("stackit:index/telemetrylink:Telemetrylink") +class Telemetrylink(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + access_token: pulumi.Input[Optional[_builtins.str]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + resource_id: pulumi.Input[Optional[_builtins.str]] = None, + resource_type: pulumi.Input[Optional[_builtins.str]] = None, + telemetry_router_id: pulumi.Input[Optional[_builtins.str]] = None, + __props__=None): + """ + TelemetryLink instance 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] access_token: The access token of the Telemetry Router instance. + :param pulumi.Input[_builtins.str] description: The description of the Telemetry Link resource. + :param pulumi.Input[_builtins.str] display_name: The displayed name of the Telemetry Link resource. + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] resource_id: STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + :param pulumi.Input[_builtins.str] resource_type: The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + :param pulumi.Input[_builtins.str] telemetry_router_id: The Telemetry Router ID. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: TelemetrylinkArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + TelemetryLink instance 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 TelemetrylinkArgs 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(TelemetrylinkArgs, 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, + access_token: pulumi.Input[Optional[_builtins.str]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + resource_id: pulumi.Input[Optional[_builtins.str]] = None, + resource_type: pulumi.Input[Optional[_builtins.str]] = None, + telemetry_router_id: pulumi.Input[Optional[_builtins.str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = TelemetrylinkArgs.__new__(TelemetrylinkArgs) + + __props__.__dict__["access_token"] = None if access_token is None else pulumi.Output.secret(access_token) + __props__.__dict__["description"] = description + if display_name is None and not opts.urn: + raise TypeError("Missing required property 'display_name'") + __props__.__dict__["display_name"] = display_name + __props__.__dict__["region"] = region + if resource_id is None and not opts.urn: + raise TypeError("Missing required property 'resource_id'") + __props__.__dict__["resource_id"] = resource_id + if resource_type is None and not opts.urn: + raise TypeError("Missing required property 'resource_type'") + __props__.__dict__["resource_type"] = resource_type + if telemetry_router_id is None and not opts.urn: + raise TypeError("Missing required property 'telemetry_router_id'") + __props__.__dict__["telemetry_router_id"] = telemetry_router_id + __props__.__dict__["create_time"] = None + __props__.__dict__["status"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["accessToken"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(Telemetrylink, __self__).__init__( + 'stackit:index/telemetrylink:Telemetrylink', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + access_token: pulumi.Input[Optional[_builtins.str]] = None, + create_time: pulumi.Input[Optional[_builtins.str]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + resource_id: pulumi.Input[Optional[_builtins.str]] = None, + resource_type: pulumi.Input[Optional[_builtins.str]] = None, + status: pulumi.Input[Optional[_builtins.str]] = None, + telemetry_router_id: pulumi.Input[Optional[_builtins.str]] = None) -> 'Telemetrylink': + """ + Get an existing Telemetrylink 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] access_token: The access token of the Telemetry Router instance. + :param pulumi.Input[_builtins.str] create_time: The time the Telemetry Link was created. + :param pulumi.Input[_builtins.str] description: The description of the Telemetry Link resource. + :param pulumi.Input[_builtins.str] display_name: The displayed name of the Telemetry Link resource. + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] resource_id: STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + :param pulumi.Input[_builtins.str] resource_type: The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + :param pulumi.Input[_builtins.str] status: The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. + :param pulumi.Input[_builtins.str] telemetry_router_id: The Telemetry Router ID. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _TelemetrylinkState.__new__(_TelemetrylinkState) + + __props__.__dict__["access_token"] = access_token + __props__.__dict__["create_time"] = create_time + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["region"] = region + __props__.__dict__["resource_id"] = resource_id + __props__.__dict__["resource_type"] = resource_type + __props__.__dict__["status"] = status + __props__.__dict__["telemetry_router_id"] = telemetry_router_id + return Telemetrylink(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="accessToken") + def access_token(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The access token of the Telemetry Router instance. + """ + return pulumi.get(self, "access_token") + + @_builtins.property + @pulumi.getter(name="createTime") + def create_time(self) -> pulumi.Output[_builtins.str]: + """ + The time the Telemetry Link was created. + """ + return pulumi.get(self, "create_time") + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The description of the Telemetry Link resource. + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[_builtins.str]: + """ + The displayed name of the Telemetry Link resource. + """ + return pulumi.get(self, "display_name") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter(name="resourceId") + def resource_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT project ID, folder ID, or organization ID associated with the Telemetry Link resource. + """ + return pulumi.get(self, "resource_id") + + @_builtins.property + @pulumi.getter(name="resourceType") + def resource_type(self) -> pulumi.Output[_builtins.str]: + """ + The resource type of the TelemetryLink resource, possible values: Possible values are: `organization`, `folder`, `project`. + """ + return pulumi.get(self, "resource_type") + + @_builtins.property + @pulumi.getter + def status(self) -> pulumi.Output[_builtins.str]: + """ + The status of the TelemetryLink, possible values: Possible values are: `active`, `inactive`, `failed`, `reconciling`, `deleting`. + """ + return pulumi.get(self, "status") + + @_builtins.property + @pulumi.getter(name="telemetryRouterId") + def telemetry_router_id(self) -> pulumi.Output[_builtins.str]: + """ + The Telemetry Router ID. + """ + return pulumi.get(self, "telemetry_router_id") + diff --git a/sdk/python/pulumi_stackit/telemetryrouter_access_token.py b/sdk/python/pulumi_stackit/telemetryrouter_access_token.py new file mode 100644 index 0000000..d68dbfb --- /dev/null +++ b/sdk/python/pulumi_stackit/telemetryrouter_access_token.py @@ -0,0 +1,539 @@ +# coding=utf-8 +# *** WARNING: this file was generated by pulumi-language-python. *** +# *** Do not edit by hand unless you're certain you know what you are doing! *** + +import builtins as _builtins +import warnings +import sys +import pulumi +import pulumi.runtime +from typing import Any, Mapping, Optional, Sequence, Union, overload +if sys.version_info >= (3, 11): + from typing import NotRequired, TypedDict, TypeAlias +else: + from typing_extensions import NotRequired, TypedDict, TypeAlias +from . import _utilities + +__all__ = ['TelemetryrouterAccessTokenArgs', 'TelemetryrouterAccessToken'] + +@pulumi.input_type +class TelemetryrouterAccessTokenArgs: + def __init__(__self__, *, + display_name: pulumi.Input[_builtins.str], + instance_id: pulumi.Input[_builtins.str], + project_id: pulumi.Input[_builtins.str], + description: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + ttl: pulumi.Input[Optional[_builtins.int]] = None): + """ + The set of arguments for constructing a TelemetryrouterAccessToken resource. + + :param pulumi.Input[_builtins.str] display_name: The displayed name of the access token + :param pulumi.Input[_builtins.str] instance_id: The TelemetryRouter instance ID associated with the access token + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the TelemetryRouter access token + :param pulumi.Input[_builtins.str] description: The description of the access token + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.int] ttl: The time-to-live (TTL) in days for the access token. If not set, token will not expire + """ + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "project_id", project_id) + if description is not None: + pulumi.set(__self__, "description", description) + if region is not None: + pulumi.set(__self__, "region", region) + if ttl is not None: + pulumi.set(__self__, "ttl", ttl) + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[_builtins.str]: + """ + The displayed name of the access token + """ + 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="instanceId") + def instance_id(self) -> pulumi.Input[_builtins.str]: + """ + The TelemetryRouter instance ID associated with the access token + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT project ID associated with the TelemetryRouter access token + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The description of the access token + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter + def ttl(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + The time-to-live (TTL) in days for the access token. If not set, token will not expire + """ + return pulumi.get(self, "ttl") + + @ttl.setter + def ttl(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "ttl", value) + + +@pulumi.input_type +class _TelemetryrouterAccessTokenState: + def __init__(__self__, *, + access_token: pulumi.Input[Optional[_builtins.str]] = None, + access_token_id: pulumi.Input[Optional[_builtins.str]] = None, + creator_id: pulumi.Input[Optional[_builtins.str]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + expiration_time: pulumi.Input[Optional[_builtins.str]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + status: pulumi.Input[Optional[_builtins.str]] = None, + ttl: pulumi.Input[Optional[_builtins.int]] = None): + """ + Input properties used for looking up and filtering TelemetryrouterAccessToken resources. + + :param pulumi.Input[_builtins.str] access_token: The generated access token + :param pulumi.Input[_builtins.str] access_token_id: The access token ID + :param pulumi.Input[_builtins.str] creator_id: The user who created the access token + :param pulumi.Input[_builtins.str] description: The description of the access token + :param pulumi.Input[_builtins.str] display_name: The displayed name of the access token + :param pulumi.Input[_builtins.str] expiration_time: The date and time an access token will expire at (inclusively) + :param pulumi.Input[_builtins.str] instance_id: The TelemetryRouter instance ID associated with the access token + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the TelemetryRouter access token + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] status: The status of the access token. Possible values are: `active`, `expired`, `deleting`. + :param pulumi.Input[_builtins.int] ttl: The time-to-live (TTL) in days for the access token. If not set, token will not expire + """ + if access_token is not None: + pulumi.set(__self__, "access_token", access_token) + if access_token_id is not None: + pulumi.set(__self__, "access_token_id", access_token_id) + if creator_id is not None: + pulumi.set(__self__, "creator_id", creator_id) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if expiration_time is not None: + pulumi.set(__self__, "expiration_time", expiration_time) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) + if status is not None: + pulumi.set(__self__, "status", status) + if ttl is not None: + pulumi.set(__self__, "ttl", ttl) + + @_builtins.property + @pulumi.getter(name="accessToken") + def access_token(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The generated access token + """ + return pulumi.get(self, "access_token") + + @access_token.setter + def access_token(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "access_token", value) + + @_builtins.property + @pulumi.getter(name="accessTokenId") + def access_token_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The access token ID + """ + return pulumi.get(self, "access_token_id") + + @access_token_id.setter + def access_token_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "access_token_id", value) + + @_builtins.property + @pulumi.getter(name="creatorId") + def creator_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The user who created the access token + """ + return pulumi.get(self, "creator_id") + + @creator_id.setter + def creator_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "creator_id", value) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The description of the access token + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The displayed name of the access token + """ + 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(name="expirationTime") + def expiration_time(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The date and time an access token will expire at (inclusively) + """ + return pulumi.get(self, "expiration_time") + + @expiration_time.setter + def expiration_time(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "expiration_time", value) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The TelemetryRouter instance ID associated with the access token + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT project ID associated with the TelemetryRouter access token + """ + 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 name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter + def status(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The status of the access token. Possible values are: `active`, `expired`, `deleting`. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "status", value) + + @_builtins.property + @pulumi.getter + def ttl(self) -> pulumi.Input[Optional[_builtins.int]]: + """ + The time-to-live (TTL) in days for the access token. If not set, token will not expire + """ + return pulumi.get(self, "ttl") + + @ttl.setter + def ttl(self, value: pulumi.Input[Optional[_builtins.int]]): + pulumi.set(self, "ttl", value) + + +@pulumi.type_token("stackit:index/telemetryrouterAccessToken:TelemetryrouterAccessToken") +class TelemetryrouterAccessToken(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + ttl: pulumi.Input[Optional[_builtins.int]] = None, + __props__=None): + """ + TelemetryRouter access token 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] description: The description of the access token + :param pulumi.Input[_builtins.str] display_name: The displayed name of the access token + :param pulumi.Input[_builtins.str] instance_id: The TelemetryRouter instance ID associated with the access token + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the TelemetryRouter access token + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.int] ttl: The time-to-live (TTL) in days for the access token. If not set, token will not expire + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: TelemetryrouterAccessTokenArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + TelemetryRouter access token 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 TelemetryrouterAccessTokenArgs 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(TelemetryrouterAccessTokenArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + ttl: pulumi.Input[Optional[_builtins.int]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = TelemetryrouterAccessTokenArgs.__new__(TelemetryrouterAccessTokenArgs) + + __props__.__dict__["description"] = description + if display_name is None and not opts.urn: + raise TypeError("Missing required property 'display_name'") + __props__.__dict__["display_name"] = display_name + if instance_id is None and not opts.urn: + raise TypeError("Missing required property 'instance_id'") + __props__.__dict__["instance_id"] = instance_id + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["ttl"] = ttl + __props__.__dict__["access_token"] = None + __props__.__dict__["access_token_id"] = None + __props__.__dict__["creator_id"] = None + __props__.__dict__["expiration_time"] = None + __props__.__dict__["status"] = None + secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["accessToken"]) + opts = pulumi.ResourceOptions.merge(opts, secret_opts) + super(TelemetryrouterAccessToken, __self__).__init__( + 'stackit:index/telemetryrouterAccessToken:TelemetryrouterAccessToken', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + access_token: pulumi.Input[Optional[_builtins.str]] = None, + access_token_id: pulumi.Input[Optional[_builtins.str]] = None, + creator_id: pulumi.Input[Optional[_builtins.str]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + expiration_time: pulumi.Input[Optional[_builtins.str]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + status: pulumi.Input[Optional[_builtins.str]] = None, + ttl: pulumi.Input[Optional[_builtins.int]] = None) -> 'TelemetryrouterAccessToken': + """ + Get an existing TelemetryrouterAccessToken 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] access_token: The generated access token + :param pulumi.Input[_builtins.str] access_token_id: The access token ID + :param pulumi.Input[_builtins.str] creator_id: The user who created the access token + :param pulumi.Input[_builtins.str] description: The description of the access token + :param pulumi.Input[_builtins.str] display_name: The displayed name of the access token + :param pulumi.Input[_builtins.str] expiration_time: The date and time an access token will expire at (inclusively) + :param pulumi.Input[_builtins.str] instance_id: The TelemetryRouter instance ID associated with the access token + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the TelemetryRouter access token + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] status: The status of the access token. Possible values are: `active`, `expired`, `deleting`. + :param pulumi.Input[_builtins.int] ttl: The time-to-live (TTL) in days for the access token. If not set, token will not expire + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _TelemetryrouterAccessTokenState.__new__(_TelemetryrouterAccessTokenState) + + __props__.__dict__["access_token"] = access_token + __props__.__dict__["access_token_id"] = access_token_id + __props__.__dict__["creator_id"] = creator_id + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["expiration_time"] = expiration_time + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["status"] = status + __props__.__dict__["ttl"] = ttl + return TelemetryrouterAccessToken(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="accessToken") + def access_token(self) -> pulumi.Output[_builtins.str]: + """ + The generated access token + """ + return pulumi.get(self, "access_token") + + @_builtins.property + @pulumi.getter(name="accessTokenId") + def access_token_id(self) -> pulumi.Output[_builtins.str]: + """ + The access token ID + """ + return pulumi.get(self, "access_token_id") + + @_builtins.property + @pulumi.getter(name="creatorId") + def creator_id(self) -> pulumi.Output[_builtins.str]: + """ + The user who created the access token + """ + return pulumi.get(self, "creator_id") + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The description of the access token + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[_builtins.str]: + """ + The displayed name of the access token + """ + return pulumi.get(self, "display_name") + + @_builtins.property + @pulumi.getter(name="expirationTime") + def expiration_time(self) -> pulumi.Output[_builtins.str]: + """ + The date and time an access token will expire at (inclusively) + """ + return pulumi.get(self, "expiration_time") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[_builtins.str]: + """ + The TelemetryRouter instance ID associated with the access token + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT project ID associated with the TelemetryRouter access token + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def status(self) -> pulumi.Output[_builtins.str]: + """ + The status of the access token. Possible values are: `active`, `expired`, `deleting`. + """ + return pulumi.get(self, "status") + + @_builtins.property + @pulumi.getter + def ttl(self) -> pulumi.Output[Optional[_builtins.int]]: + """ + The time-to-live (TTL) in days for the access token. If not set, token will not expire + """ + return pulumi.get(self, "ttl") + diff --git a/sdk/python/pulumi_stackit/telemetryrouter_destination.py b/sdk/python/pulumi_stackit/telemetryrouter_destination.py new file mode 100644 index 0000000..a6e7984 --- /dev/null +++ b/sdk/python/pulumi_stackit/telemetryrouter_destination.py @@ -0,0 +1,512 @@ +# 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__ = ['TelemetryrouterDestinationArgs', 'TelemetryrouterDestination'] + +@pulumi.input_type +class TelemetryrouterDestinationArgs: + def __init__(__self__, *, + config: pulumi.Input['TelemetryrouterDestinationConfigArgs'], + display_name: pulumi.Input[_builtins.str], + instance_id: pulumi.Input[_builtins.str], + project_id: pulumi.Input[_builtins.str], + description: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None): + """ + The set of arguments for constructing a TelemetryrouterDestination resource. + + :param pulumi.Input['TelemetryrouterDestinationConfigArgs'] config: The configuration of the TelemetryRouter destination + :param pulumi.Input[_builtins.str] display_name: The displayed name of the TelemetryRouter destination + :param pulumi.Input[_builtins.str] instance_id: The TelemetryRouter instance ID + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the TelemetryRouter instance + :param pulumi.Input[_builtins.str] description: The description of the TelemetryRouter destination + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + pulumi.set(__self__, "config", config) + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "instance_id", instance_id) + pulumi.set(__self__, "project_id", project_id) + if description is not None: + pulumi.set(__self__, "description", description) + if region is not None: + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter + def config(self) -> pulumi.Input['TelemetryrouterDestinationConfigArgs']: + """ + The configuration of the TelemetryRouter destination + """ + return pulumi.get(self, "config") + + @config.setter + def config(self, value: pulumi.Input['TelemetryrouterDestinationConfigArgs']): + pulumi.set(self, "config", value) + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[_builtins.str]: + """ + The displayed name of the TelemetryRouter destination + """ + 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="instanceId") + def instance_id(self) -> pulumi.Input[_builtins.str]: + """ + The TelemetryRouter instance ID + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT project ID associated with the TelemetryRouter instance + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The description of the TelemetryRouter destination + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + +@pulumi.input_type +class _TelemetryrouterDestinationState: + def __init__(__self__, *, + config: pulumi.Input[Optional['TelemetryrouterDestinationConfigArgs']] = None, + creation_time: pulumi.Input[Optional[_builtins.str]] = None, + credential_type: pulumi.Input[Optional[_builtins.str]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + destination_id: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + status: pulumi.Input[Optional[_builtins.str]] = None): + """ + Input properties used for looking up and filtering TelemetryrouterDestination resources. + + :param pulumi.Input['TelemetryrouterDestinationConfigArgs'] config: The configuration of the TelemetryRouter destination + :param pulumi.Input[_builtins.str] creation_time: The date and time the creation of the TelemetryRouter destination was initiated + :param pulumi.Input[_builtins.str] credential_type: The TelemetryRouter destination's credential type + :param pulumi.Input[_builtins.str] description: The description of the TelemetryRouter destination + :param pulumi.Input[_builtins.str] destination_id: The TelemetryRouter destination ID + :param pulumi.Input[_builtins.str] display_name: The displayed name of the TelemetryRouter destination + :param pulumi.Input[_builtins.str] instance_id: The TelemetryRouter instance ID + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the TelemetryRouter instance + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] status: The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. + """ + if config is not None: + pulumi.set(__self__, "config", config) + if creation_time is not None: + pulumi.set(__self__, "creation_time", creation_time) + if credential_type is not None: + pulumi.set(__self__, "credential_type", credential_type) + if description is not None: + pulumi.set(__self__, "description", description) + if destination_id is not None: + pulumi.set(__self__, "destination_id", destination_id) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) + if status is not None: + pulumi.set(__self__, "status", status) + + @_builtins.property + @pulumi.getter + def config(self) -> pulumi.Input[Optional['TelemetryrouterDestinationConfigArgs']]: + """ + The configuration of the TelemetryRouter destination + """ + return pulumi.get(self, "config") + + @config.setter + def config(self, value: pulumi.Input[Optional['TelemetryrouterDestinationConfigArgs']]): + pulumi.set(self, "config", value) + + @_builtins.property + @pulumi.getter(name="creationTime") + def creation_time(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The date and time the creation of the TelemetryRouter destination was initiated + """ + return pulumi.get(self, "creation_time") + + @creation_time.setter + def creation_time(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "creation_time", value) + + @_builtins.property + @pulumi.getter(name="credentialType") + def credential_type(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The TelemetryRouter destination's credential type + """ + return pulumi.get(self, "credential_type") + + @credential_type.setter + def credential_type(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "credential_type", value) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The description of the TelemetryRouter destination + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter(name="destinationId") + def destination_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The TelemetryRouter destination ID + """ + return pulumi.get(self, "destination_id") + + @destination_id.setter + def destination_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "destination_id", value) + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The displayed name of the TelemetryRouter destination + """ + 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(name="instanceId") + def instance_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The TelemetryRouter instance ID + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT project ID associated with the TelemetryRouter instance + """ + 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 name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter + def status(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "status", value) + + +@pulumi.type_token("stackit:index/telemetryrouterDestination:TelemetryrouterDestination") +class TelemetryrouterDestination(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + config: pulumi.Input[Optional[Union['TelemetryrouterDestinationConfigArgs', 'TelemetryrouterDestinationConfigArgsDict']]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + __props__=None): + """ + TelemetryRouter destination 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[Union['TelemetryrouterDestinationConfigArgs', 'TelemetryrouterDestinationConfigArgsDict']] config: The configuration of the TelemetryRouter destination + :param pulumi.Input[_builtins.str] description: The description of the TelemetryRouter destination + :param pulumi.Input[_builtins.str] display_name: The displayed name of the TelemetryRouter destination + :param pulumi.Input[_builtins.str] instance_id: The TelemetryRouter instance ID + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the TelemetryRouter instance + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: TelemetryrouterDestinationArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + TelemetryRouter destination 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 TelemetryrouterDestinationArgs 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(TelemetryrouterDestinationArgs, 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, + config: pulumi.Input[Optional[Union['TelemetryrouterDestinationConfigArgs', 'TelemetryrouterDestinationConfigArgsDict']]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = TelemetryrouterDestinationArgs.__new__(TelemetryrouterDestinationArgs) + + if config is None and not opts.urn: + raise TypeError("Missing required property 'config'") + __props__.__dict__["config"] = config + __props__.__dict__["description"] = description + if display_name is None and not opts.urn: + raise TypeError("Missing required property 'display_name'") + __props__.__dict__["display_name"] = display_name + if instance_id is None and not opts.urn: + raise TypeError("Missing required property 'instance_id'") + __props__.__dict__["instance_id"] = instance_id + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["creation_time"] = None + __props__.__dict__["credential_type"] = None + __props__.__dict__["destination_id"] = None + __props__.__dict__["status"] = None + super(TelemetryrouterDestination, __self__).__init__( + 'stackit:index/telemetryrouterDestination:TelemetryrouterDestination', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + config: pulumi.Input[Optional[Union['TelemetryrouterDestinationConfigArgs', 'TelemetryrouterDestinationConfigArgsDict']]] = None, + creation_time: pulumi.Input[Optional[_builtins.str]] = None, + credential_type: pulumi.Input[Optional[_builtins.str]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + destination_id: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + status: pulumi.Input[Optional[_builtins.str]] = None) -> 'TelemetryrouterDestination': + """ + Get an existing TelemetryrouterDestination resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Union['TelemetryrouterDestinationConfigArgs', 'TelemetryrouterDestinationConfigArgsDict']] config: The configuration of the TelemetryRouter destination + :param pulumi.Input[_builtins.str] creation_time: The date and time the creation of the TelemetryRouter destination was initiated + :param pulumi.Input[_builtins.str] credential_type: The TelemetryRouter destination's credential type + :param pulumi.Input[_builtins.str] description: The description of the TelemetryRouter destination + :param pulumi.Input[_builtins.str] destination_id: The TelemetryRouter destination ID + :param pulumi.Input[_builtins.str] display_name: The displayed name of the TelemetryRouter destination + :param pulumi.Input[_builtins.str] instance_id: The TelemetryRouter instance ID + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the TelemetryRouter instance + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] status: The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _TelemetryrouterDestinationState.__new__(_TelemetryrouterDestinationState) + + __props__.__dict__["config"] = config + __props__.__dict__["creation_time"] = creation_time + __props__.__dict__["credential_type"] = credential_type + __props__.__dict__["description"] = description + __props__.__dict__["destination_id"] = destination_id + __props__.__dict__["display_name"] = display_name + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["status"] = status + return TelemetryrouterDestination(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter + def config(self) -> pulumi.Output['outputs.TelemetryrouterDestinationConfig']: + """ + The configuration of the TelemetryRouter destination + """ + return pulumi.get(self, "config") + + @_builtins.property + @pulumi.getter(name="creationTime") + def creation_time(self) -> pulumi.Output[_builtins.str]: + """ + The date and time the creation of the TelemetryRouter destination was initiated + """ + return pulumi.get(self, "creation_time") + + @_builtins.property + @pulumi.getter(name="credentialType") + def credential_type(self) -> pulumi.Output[_builtins.str]: + """ + The TelemetryRouter destination's credential type + """ + return pulumi.get(self, "credential_type") + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The description of the TelemetryRouter destination + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="destinationId") + def destination_id(self) -> pulumi.Output[_builtins.str]: + """ + The TelemetryRouter destination ID + """ + return pulumi.get(self, "destination_id") + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[_builtins.str]: + """ + The displayed name of the TelemetryRouter destination + """ + return pulumi.get(self, "display_name") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[_builtins.str]: + """ + The TelemetryRouter instance ID + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT project ID associated with the TelemetryRouter instance + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def status(self) -> pulumi.Output[_builtins.str]: + """ + The status of the TelemetryRouter destination, possible values: Possible values are: `reconciling`, `active`, `deleting`. + """ + return pulumi.get(self, "status") + diff --git a/sdk/python/pulumi_stackit/telemetryrouter_instance.py b/sdk/python/pulumi_stackit/telemetryrouter_instance.py new file mode 100644 index 0000000..bc91faf --- /dev/null +++ b/sdk/python/pulumi_stackit/telemetryrouter_instance.py @@ -0,0 +1,463 @@ +# 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__ = ['TelemetryrouterInstanceArgs', 'TelemetryrouterInstance'] + +@pulumi.input_type +class TelemetryrouterInstanceArgs: + def __init__(__self__, *, + display_name: pulumi.Input[_builtins.str], + project_id: pulumi.Input[_builtins.str], + description: pulumi.Input[Optional[_builtins.str]] = None, + filter: pulumi.Input[Optional['TelemetryrouterInstanceFilterArgs']] = None, + region: pulumi.Input[Optional[_builtins.str]] = None): + """ + The set of arguments for constructing a TelemetryrouterInstance resource. + + :param pulumi.Input[_builtins.str] display_name: The display name of the TelemetryRouter instance + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the TelemetryRouter instance + :param pulumi.Input[_builtins.str] description: The description of the TelemetryRouter instance + :param pulumi.Input['TelemetryrouterInstanceFilterArgs'] filter: The TelemetryRouter global filter settings + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "project_id", project_id) + if description is not None: + pulumi.set(__self__, "description", description) + if filter is not None: + pulumi.set(__self__, "filter", filter) + if region is not None: + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[_builtins.str]: + """ + The display name of the TelemetryRouter instance + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "display_name", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT project ID associated with the TelemetryRouter instance + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The description of the TelemetryRouter instance + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter + def filter(self) -> pulumi.Input[Optional['TelemetryrouterInstanceFilterArgs']]: + """ + The TelemetryRouter global filter settings + """ + return pulumi.get(self, "filter") + + @filter.setter + def filter(self, value: pulumi.Input[Optional['TelemetryrouterInstanceFilterArgs']]): + pulumi.set(self, "filter", value) + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + +@pulumi.input_type +class _TelemetryrouterInstanceState: + def __init__(__self__, *, + creation_time: pulumi.Input[Optional[_builtins.str]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + filter: pulumi.Input[Optional['TelemetryrouterInstanceFilterArgs']] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + status: pulumi.Input[Optional[_builtins.str]] = None, + uri: pulumi.Input[Optional[_builtins.str]] = None): + """ + Input properties used for looking up and filtering TelemetryrouterInstance resources. + + :param pulumi.Input[_builtins.str] creation_time: The date and time the creation of the TelemetryRouter instance was initiated + :param pulumi.Input[_builtins.str] description: The description of the TelemetryRouter instance + :param pulumi.Input[_builtins.str] display_name: The display name of the TelemetryRouter instance + :param pulumi.Input['TelemetryrouterInstanceFilterArgs'] filter: The TelemetryRouter global filter settings + :param pulumi.Input[_builtins.str] instance_id: The TelemetryRouter instance ID + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the TelemetryRouter instance + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] status: The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. + :param pulumi.Input[_builtins.str] uri: The TelemetryRouter instance's URI + """ + if creation_time is not None: + pulumi.set(__self__, "creation_time", creation_time) + if description is not None: + pulumi.set(__self__, "description", description) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if filter is not None: + pulumi.set(__self__, "filter", filter) + if instance_id is not None: + pulumi.set(__self__, "instance_id", instance_id) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) + if status is not None: + pulumi.set(__self__, "status", status) + if uri is not None: + pulumi.set(__self__, "uri", uri) + + @_builtins.property + @pulumi.getter(name="creationTime") + def creation_time(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The date and time the creation of the TelemetryRouter instance was initiated + """ + return pulumi.get(self, "creation_time") + + @creation_time.setter + def creation_time(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "creation_time", value) + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The description of the TelemetryRouter instance + """ + return pulumi.get(self, "description") + + @description.setter + def description(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "description", value) + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The display name of the TelemetryRouter instance + """ + 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 filter(self) -> pulumi.Input[Optional['TelemetryrouterInstanceFilterArgs']]: + """ + The TelemetryRouter global filter settings + """ + return pulumi.get(self, "filter") + + @filter.setter + def filter(self, value: pulumi.Input[Optional['TelemetryrouterInstanceFilterArgs']]): + pulumi.set(self, "filter", value) + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The TelemetryRouter instance ID + """ + return pulumi.get(self, "instance_id") + + @instance_id.setter + def instance_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "instance_id", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT project ID associated with the TelemetryRouter instance + """ + 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 name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter + def status(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. + """ + return pulumi.get(self, "status") + + @status.setter + def status(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "status", value) + + @_builtins.property + @pulumi.getter + def uri(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The TelemetryRouter instance's URI + """ + 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/telemetryrouterInstance:TelemetryrouterInstance") +class TelemetryrouterInstance(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + filter: pulumi.Input[Optional[Union['TelemetryrouterInstanceFilterArgs', 'TelemetryrouterInstanceFilterArgsDict']]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + __props__=None): + """ + TelemetryRouter instance 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] description: The description of the TelemetryRouter instance + :param pulumi.Input[_builtins.str] display_name: The display name of the TelemetryRouter instance + :param pulumi.Input[Union['TelemetryrouterInstanceFilterArgs', 'TelemetryrouterInstanceFilterArgsDict']] filter: The TelemetryRouter global filter settings + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the TelemetryRouter instance + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: TelemetryrouterInstanceArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + TelemetryRouter instance 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 TelemetryrouterInstanceArgs 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(TelemetryrouterInstanceArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + filter: pulumi.Input[Optional[Union['TelemetryrouterInstanceFilterArgs', 'TelemetryrouterInstanceFilterArgsDict']]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = TelemetryrouterInstanceArgs.__new__(TelemetryrouterInstanceArgs) + + __props__.__dict__["description"] = description + if display_name is None and not opts.urn: + raise TypeError("Missing required property 'display_name'") + __props__.__dict__["display_name"] = display_name + __props__.__dict__["filter"] = filter + 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__["creation_time"] = None + __props__.__dict__["instance_id"] = None + __props__.__dict__["status"] = None + __props__.__dict__["uri"] = None + super(TelemetryrouterInstance, __self__).__init__( + 'stackit:index/telemetryrouterInstance:TelemetryrouterInstance', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + creation_time: pulumi.Input[Optional[_builtins.str]] = None, + description: pulumi.Input[Optional[_builtins.str]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + filter: pulumi.Input[Optional[Union['TelemetryrouterInstanceFilterArgs', 'TelemetryrouterInstanceFilterArgsDict']]] = None, + instance_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + status: pulumi.Input[Optional[_builtins.str]] = None, + uri: pulumi.Input[Optional[_builtins.str]] = None) -> 'TelemetryrouterInstance': + """ + Get an existing TelemetryrouterInstance resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[_builtins.str] creation_time: The date and time the creation of the TelemetryRouter instance was initiated + :param pulumi.Input[_builtins.str] description: The description of the TelemetryRouter instance + :param pulumi.Input[_builtins.str] display_name: The display name of the TelemetryRouter instance + :param pulumi.Input[Union['TelemetryrouterInstanceFilterArgs', 'TelemetryrouterInstanceFilterArgsDict']] filter: The TelemetryRouter global filter settings + :param pulumi.Input[_builtins.str] instance_id: The TelemetryRouter instance ID + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the TelemetryRouter instance + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] status: The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. + :param pulumi.Input[_builtins.str] uri: The TelemetryRouter instance's URI + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _TelemetryrouterInstanceState.__new__(_TelemetryrouterInstanceState) + + __props__.__dict__["creation_time"] = creation_time + __props__.__dict__["description"] = description + __props__.__dict__["display_name"] = display_name + __props__.__dict__["filter"] = filter + __props__.__dict__["instance_id"] = instance_id + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["status"] = status + __props__.__dict__["uri"] = uri + return TelemetryrouterInstance(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="creationTime") + def creation_time(self) -> pulumi.Output[_builtins.str]: + """ + The date and time the creation of the TelemetryRouter instance was initiated + """ + return pulumi.get(self, "creation_time") + + @_builtins.property + @pulumi.getter + def description(self) -> pulumi.Output[Optional[_builtins.str]]: + """ + The description of the TelemetryRouter instance + """ + return pulumi.get(self, "description") + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[_builtins.str]: + """ + The display name of the TelemetryRouter instance + """ + return pulumi.get(self, "display_name") + + @_builtins.property + @pulumi.getter + def filter(self) -> pulumi.Output[Optional['outputs.TelemetryrouterInstanceFilter']]: + """ + The TelemetryRouter global filter settings + """ + return pulumi.get(self, "filter") + + @_builtins.property + @pulumi.getter(name="instanceId") + def instance_id(self) -> pulumi.Output[_builtins.str]: + """ + The TelemetryRouter instance ID + """ + return pulumi.get(self, "instance_id") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT project ID associated with the TelemetryRouter instance + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter + def status(self) -> pulumi.Output[_builtins.str]: + """ + The status of the TelemetryRouter instance, possible values: Possible values are: `reconciling`, `active`, `deleting`. + """ + return pulumi.get(self, "status") + + @_builtins.property + @pulumi.getter + def uri(self) -> pulumi.Output[_builtins.str]: + """ + The TelemetryRouter instance's URI + """ + return pulumi.get(self, "uri") + diff --git a/sdk/python/pulumi_stackit/vpn_gateway.py b/sdk/python/pulumi_stackit/vpn_gateway.py new file mode 100644 index 0000000..b7cde60 --- /dev/null +++ b/sdk/python/pulumi_stackit/vpn_gateway.py @@ -0,0 +1,523 @@ +# 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__ = ['VpnGatewayArgs', 'VpnGateway'] + +@pulumi.input_type +class VpnGatewayArgs: + def __init__(__self__, *, + availability_zones: pulumi.Input['VpnGatewayAvailabilityZonesArgs'], + display_name: pulumi.Input[_builtins.str], + plan_id: pulumi.Input[_builtins.str], + project_id: pulumi.Input[_builtins.str], + routing_type: pulumi.Input[_builtins.str], + bgp: pulumi.Input[Optional['VpnGatewayBgpArgs']] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None): + """ + The set of arguments for constructing a VpnGateway resource. + + :param pulumi.Input['VpnGatewayAvailabilityZonesArgs'] availability_zones: Availability zones for the two tunnel endpoints. + :param pulumi.Input[_builtins.str] display_name: A user-friendly name for the VPN gateway. + :param pulumi.Input[_builtins.str] plan_id: The service plan identifier (e.g. `p500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the VPN gateway. + :param pulumi.Input[_builtins.str] routing_type: Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + :param pulumi.Input['VpnGatewayBgpArgs'] bgp: BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Map of custom labels (key-value string pairs). + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + pulumi.set(__self__, "availability_zones", availability_zones) + pulumi.set(__self__, "display_name", display_name) + pulumi.set(__self__, "plan_id", plan_id) + pulumi.set(__self__, "project_id", project_id) + pulumi.set(__self__, "routing_type", routing_type) + if bgp is not None: + pulumi.set(__self__, "bgp", bgp) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if region is not None: + pulumi.set(__self__, "region", region) + + @_builtins.property + @pulumi.getter(name="availabilityZones") + def availability_zones(self) -> pulumi.Input['VpnGatewayAvailabilityZonesArgs']: + """ + Availability zones for the two tunnel endpoints. + """ + return pulumi.get(self, "availability_zones") + + @availability_zones.setter + def availability_zones(self, value: pulumi.Input['VpnGatewayAvailabilityZonesArgs']): + pulumi.set(self, "availability_zones", value) + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[_builtins.str]: + """ + A user-friendly name for the VPN gateway. + """ + return pulumi.get(self, "display_name") + + @display_name.setter + def display_name(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "display_name", value) + + @_builtins.property + @pulumi.getter(name="planId") + def plan_id(self) -> pulumi.Input[_builtins.str]: + """ + The service plan identifier (e.g. `p500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + """ + return pulumi.get(self, "plan_id") + + @plan_id.setter + def plan_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "plan_id", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[_builtins.str]: + """ + STACKIT project ID associated with the VPN gateway. + """ + return pulumi.get(self, "project_id") + + @project_id.setter + def project_id(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "project_id", value) + + @_builtins.property + @pulumi.getter(name="routingType") + def routing_type(self) -> pulumi.Input[_builtins.str]: + """ + Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + """ + return pulumi.get(self, "routing_type") + + @routing_type.setter + def routing_type(self, value: pulumi.Input[_builtins.str]): + pulumi.set(self, "routing_type", value) + + @_builtins.property + @pulumi.getter + def bgp(self) -> pulumi.Input[Optional['VpnGatewayBgpArgs']]: + """ + BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + """ + return pulumi.get(self, "bgp") + + @bgp.setter + def bgp(self, value: pulumi.Input[Optional['VpnGatewayBgpArgs']]): + pulumi.set(self, "bgp", value) + + @_builtins.property + @pulumi.getter + def labels(self) -> pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]]: + """ + Map of custom labels (key-value string pairs). + """ + 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 + def region(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + +@pulumi.input_type +class _VpnGatewayState: + def __init__(__self__, *, + availability_zones: pulumi.Input[Optional['VpnGatewayAvailabilityZonesArgs']] = None, + bgp: pulumi.Input[Optional['VpnGatewayBgpArgs']] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + gateway_id: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + plan_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + routing_type: pulumi.Input[Optional[_builtins.str]] = None): + """ + Input properties used for looking up and filtering VpnGateway resources. + + :param pulumi.Input['VpnGatewayAvailabilityZonesArgs'] availability_zones: Availability zones for the two tunnel endpoints. + :param pulumi.Input['VpnGatewayBgpArgs'] bgp: BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + :param pulumi.Input[_builtins.str] display_name: A user-friendly name for the VPN gateway. + :param pulumi.Input[_builtins.str] gateway_id: The server-generated UUID of the VPN gateway. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Map of custom labels (key-value string pairs). + :param pulumi.Input[_builtins.str] plan_id: The service plan identifier (e.g. `p500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the VPN gateway. + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] routing_type: Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + """ + if availability_zones is not None: + pulumi.set(__self__, "availability_zones", availability_zones) + if bgp is not None: + pulumi.set(__self__, "bgp", bgp) + if display_name is not None: + pulumi.set(__self__, "display_name", display_name) + if gateway_id is not None: + pulumi.set(__self__, "gateway_id", gateway_id) + if labels is not None: + pulumi.set(__self__, "labels", labels) + if plan_id is not None: + pulumi.set(__self__, "plan_id", plan_id) + if project_id is not None: + pulumi.set(__self__, "project_id", project_id) + if region is not None: + pulumi.set(__self__, "region", region) + if routing_type is not None: + pulumi.set(__self__, "routing_type", routing_type) + + @_builtins.property + @pulumi.getter(name="availabilityZones") + def availability_zones(self) -> pulumi.Input[Optional['VpnGatewayAvailabilityZonesArgs']]: + """ + Availability zones for the two tunnel endpoints. + """ + return pulumi.get(self, "availability_zones") + + @availability_zones.setter + def availability_zones(self, value: pulumi.Input[Optional['VpnGatewayAvailabilityZonesArgs']]): + pulumi.set(self, "availability_zones", value) + + @_builtins.property + @pulumi.getter + def bgp(self) -> pulumi.Input[Optional['VpnGatewayBgpArgs']]: + """ + BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + """ + return pulumi.get(self, "bgp") + + @bgp.setter + def bgp(self, value: pulumi.Input[Optional['VpnGatewayBgpArgs']]): + pulumi.set(self, "bgp", value) + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + A user-friendly name for the VPN gateway. + """ + 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(name="gatewayId") + def gateway_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The server-generated UUID of the 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 (key-value string pairs). + """ + 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="planId") + def plan_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + The service plan identifier (e.g. `p500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + """ + return pulumi.get(self, "plan_id") + + @plan_id.setter + def plan_id(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "plan_id", value) + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + STACKIT project ID associated with the VPN gateway. + """ + 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 name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @region.setter + def region(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "region", value) + + @_builtins.property + @pulumi.getter(name="routingType") + def routing_type(self) -> pulumi.Input[Optional[_builtins.str]]: + """ + Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + """ + return pulumi.get(self, "routing_type") + + @routing_type.setter + def routing_type(self, value: pulumi.Input[Optional[_builtins.str]]): + pulumi.set(self, "routing_type", value) + + +@pulumi.type_token("stackit:index/vpnGateway:VpnGateway") +class VpnGateway(pulumi.CustomResource): + @overload + def __init__(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + availability_zones: pulumi.Input[Optional[Union['VpnGatewayAvailabilityZonesArgs', 'VpnGatewayAvailabilityZonesArgsDict']]] = None, + bgp: pulumi.Input[Optional[Union['VpnGatewayBgpArgs', 'VpnGatewayBgpArgsDict']]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + plan_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + routing_type: pulumi.Input[Optional[_builtins.str]] = None, + __props__=None): + """ + VPN Gateway 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[Union['VpnGatewayAvailabilityZonesArgs', 'VpnGatewayAvailabilityZonesArgsDict']] availability_zones: Availability zones for the two tunnel endpoints. + :param pulumi.Input[Union['VpnGatewayBgpArgs', 'VpnGatewayBgpArgsDict']] bgp: BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + :param pulumi.Input[_builtins.str] display_name: A user-friendly name for the VPN gateway. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Map of custom labels (key-value string pairs). + :param pulumi.Input[_builtins.str] plan_id: The service plan identifier (e.g. `p500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the VPN gateway. + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] routing_type: Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + """ + ... + @overload + def __init__(__self__, + resource_name: str, + args: VpnGatewayArgs, + opts: Optional[pulumi.ResourceOptions] = None): + """ + VPN Gateway 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 VpnGatewayArgs 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(VpnGatewayArgs, pulumi.ResourceOptions, *args, **kwargs) + if resource_args is not None: + __self__._internal_init(resource_name, opts, **resource_args.__dict__) + else: + __self__._internal_init(resource_name, *args, **kwargs) + + def _internal_init(__self__, + resource_name: str, + opts: Optional[pulumi.ResourceOptions] = None, + availability_zones: pulumi.Input[Optional[Union['VpnGatewayAvailabilityZonesArgs', 'VpnGatewayAvailabilityZonesArgsDict']]] = None, + bgp: pulumi.Input[Optional[Union['VpnGatewayBgpArgs', 'VpnGatewayBgpArgsDict']]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + plan_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + routing_type: pulumi.Input[Optional[_builtins.str]] = None, + __props__=None): + opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts) + if not isinstance(opts, pulumi.ResourceOptions): + raise TypeError('Expected resource options to be a ResourceOptions instance') + if opts.id is None: + if __props__ is not None: + raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource') + __props__ = VpnGatewayArgs.__new__(VpnGatewayArgs) + + if availability_zones is None and not opts.urn: + raise TypeError("Missing required property 'availability_zones'") + __props__.__dict__["availability_zones"] = availability_zones + __props__.__dict__["bgp"] = bgp + if display_name is None and not opts.urn: + raise TypeError("Missing required property 'display_name'") + __props__.__dict__["display_name"] = display_name + __props__.__dict__["labels"] = labels + if plan_id is None and not opts.urn: + raise TypeError("Missing required property 'plan_id'") + __props__.__dict__["plan_id"] = plan_id + if project_id is None and not opts.urn: + raise TypeError("Missing required property 'project_id'") + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + if routing_type is None and not opts.urn: + raise TypeError("Missing required property 'routing_type'") + __props__.__dict__["routing_type"] = routing_type + __props__.__dict__["gateway_id"] = None + super(VpnGateway, __self__).__init__( + 'stackit:index/vpnGateway:VpnGateway', + resource_name, + __props__, + opts) + + @staticmethod + def get(resource_name: str, + id: pulumi.Input[str], + opts: Optional[pulumi.ResourceOptions] = None, + availability_zones: pulumi.Input[Optional[Union['VpnGatewayAvailabilityZonesArgs', 'VpnGatewayAvailabilityZonesArgsDict']]] = None, + bgp: pulumi.Input[Optional[Union['VpnGatewayBgpArgs', 'VpnGatewayBgpArgsDict']]] = None, + display_name: pulumi.Input[Optional[_builtins.str]] = None, + gateway_id: pulumi.Input[Optional[_builtins.str]] = None, + labels: pulumi.Input[Optional[Mapping[str, pulumi.Input[_builtins.str]]]] = None, + plan_id: pulumi.Input[Optional[_builtins.str]] = None, + project_id: pulumi.Input[Optional[_builtins.str]] = None, + region: pulumi.Input[Optional[_builtins.str]] = None, + routing_type: pulumi.Input[Optional[_builtins.str]] = None) -> 'VpnGateway': + """ + Get an existing VpnGateway resource's state with the given name, id, and optional extra + properties used to qualify the lookup. + + :param str resource_name: The unique name of the resulting resource. + :param pulumi.Input[str] id: The unique provider ID of the resource to lookup. + :param pulumi.ResourceOptions opts: Options for the resource. + :param pulumi.Input[Union['VpnGatewayAvailabilityZonesArgs', 'VpnGatewayAvailabilityZonesArgsDict']] availability_zones: Availability zones for the two tunnel endpoints. + :param pulumi.Input[Union['VpnGatewayBgpArgs', 'VpnGatewayBgpArgsDict']] bgp: BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + :param pulumi.Input[_builtins.str] display_name: A user-friendly name for the VPN gateway. + :param pulumi.Input[_builtins.str] gateway_id: The server-generated UUID of the VPN gateway. + :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] labels: Map of custom labels (key-value string pairs). + :param pulumi.Input[_builtins.str] plan_id: The service plan identifier (e.g. `p500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + :param pulumi.Input[_builtins.str] project_id: STACKIT project ID associated with the VPN gateway. + :param pulumi.Input[_builtins.str] region: STACKIT region name the resource is located in. If not defined, the provider region is used. + :param pulumi.Input[_builtins.str] routing_type: Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + """ + opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id)) + + __props__ = _VpnGatewayState.__new__(_VpnGatewayState) + + __props__.__dict__["availability_zones"] = availability_zones + __props__.__dict__["bgp"] = bgp + __props__.__dict__["display_name"] = display_name + __props__.__dict__["gateway_id"] = gateway_id + __props__.__dict__["labels"] = labels + __props__.__dict__["plan_id"] = plan_id + __props__.__dict__["project_id"] = project_id + __props__.__dict__["region"] = region + __props__.__dict__["routing_type"] = routing_type + return VpnGateway(resource_name, opts=opts, __props__=__props__) + + @_builtins.property + @pulumi.getter(name="availabilityZones") + def availability_zones(self) -> pulumi.Output['outputs.VpnGatewayAvailabilityZones']: + """ + Availability zones for the two tunnel endpoints. + """ + return pulumi.get(self, "availability_zones") + + @_builtins.property + @pulumi.getter + def bgp(self) -> pulumi.Output[Optional['outputs.VpnGatewayBgp']]: + """ + BGP configuration. Only applicable when routing*type is BGP*ROUTE_BASED. + """ + return pulumi.get(self, "bgp") + + @_builtins.property + @pulumi.getter(name="displayName") + def display_name(self) -> pulumi.Output[_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) -> pulumi.Output[_builtins.str]: + """ + The server-generated UUID of the 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 (key-value string pairs). + """ + return pulumi.get(self, "labels") + + @_builtins.property + @pulumi.getter(name="planId") + def plan_id(self) -> pulumi.Output[_builtins.str]: + """ + The service plan identifier (e.g. `p500`). For guidance on finding available plans, see [List available service plans](https://docs.stackit.cloud/products/network/connectivity-hybrid-multi-cloud/vpn/getting-started/gateway-create/#list-available-service-plans). + """ + return pulumi.get(self, "plan_id") + + @_builtins.property + @pulumi.getter(name="projectId") + def project_id(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT project ID associated with the VPN gateway. + """ + return pulumi.get(self, "project_id") + + @_builtins.property + @pulumi.getter + def region(self) -> pulumi.Output[_builtins.str]: + """ + STACKIT region name the resource is located in. If not defined, the provider region is used. + """ + return pulumi.get(self, "region") + + @_builtins.property + @pulumi.getter(name="routingType") + def routing_type(self) -> pulumi.Output[_builtins.str]: + """ + Routing architecture. Possible values are: `POLICY_BASED`, `ROUTE_BASED`, `BGP_ROUTE_BASED`. + """ + return pulumi.get(self, "routing_type") +